Skip to content

Instantly share code, notes, and snippets.

View yahonda's full-sized avatar

Yasuo Honda yahonda

View GitHub Profile
$ git clone https://github.com/rails/rails
cd rails
git clone https://github.com/rails/buildkite-config .buildkite/
RUBY_IMAGE=ruby:3.3 docker compose -f .buildkite/docker-compose.yml build base &&
CI=1 MYSQL_IMAGE=mariadb:11.6.2 docker compose -f .buildkite/docker-compose.yml run mariadb runner activerecord 'rake db:mysql:rebuild test:mysql2'
Cloning into 'rails'...
remote: Enumerating objects: 891547, done.
remote: Counting objects: 100% (65/65), done.
remote: Compressing objects: 100% (61/61), done.
remote: Total 891547 (delta 24), reused 29 (delta 4), pack-reused 891482 (from 1)
$ git clone https://github.com/rails/rails
cd rails
git clone https://github.com/rails/buildkite-config .buildkite/
RUBY_IMAGE=ruby:3.3 docker compose -f .buildkite/docker-compose.yml build base &&
CI=1 MYSQL_IMAGE=mariadb:11.6.1-rc docker compose -f .buildkite/docker-compose.yml run mariadb runner activerecord 'rake db:mysql:rebuild test:mysql2'
Cloning into 'rails'...
remote: Enumerating objects: 891547, done.
remote: Counting objects: 100% (65/65), done.
remote: Compressing objects: 100% (61/61), done.
remote: Total 891547 (delta 24), reused 29 (delta 4), pack-reused 891482 (from 1)
require "bundler/inline"
gemfile(true) do
source "https://rubygems.org"
gem "webmock"
# gem "webmock", git: "https://github.com/Earlopain/webmock.git", branch: "net-http-adapter-ruby-3.4"
end
p RUBY_VERSION
WebMock.enable!
class C
class_eval "def throw_syntax_error; eval %(
'abc' + pluralize 'def'
); end", "lib/file.rb", 42
end
c = C.new
c.throw_syntax_error
$ ruby -v
ruby 3.4.0dev (2024-09-10T02:50:49Z master 3db2782748) [x86_64-linux]
```
$ bundle
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Fetching stringio 3.1.1
Using sqlite3 2.0.4 (was 2.0.0)
/rails/activerecord/lib/arel/collectors/composite.rb:28: warning: the block passed to 'Arel::Collectors::Bind#add_bind' defined at /rails/activerecord/lib/arel/collectors/bind.rb:16 may be ignored
/rails/activesupport/lib/active_support/testing/strict_warnings.rb:35:in 'ActiveSupport::RaiseWarnings#warn': /rails/activerecord/lib/arel/collectors/composite.rb:28: warning: the block passed to 'Arel::Collectors::Bind#add_bind' defined at /rails/activerecord/lib/arel/collectors/bind.rb:16 may be ignored (ActiveSupport::RaiseWarnings::WarningError)
	from /rails/activerecord/lib/arel/collectors/composite.rb:28:in 'Arel::Collectors::Composite#add_bind'
	from /rails/activerecord/lib/arel/visitors/to_sql.rb:761:in 'Arel::Visitors::ToSql#visit_Arel_Nodes_BindParam'
	from /rails/activerecord/lib/arel/visitors/visitor.rb:30:in 'Arel::Visitors::Visitor#visit'
	from /rails/activerecord/lib/arel/visitors/to_sql.rb:654:in 'Arel::Visitors::ToSql#visit_Arel_Nodes_Equality'
	from /rails/activerecord/lib/arel/visitors/vis
  • Run non prepared statement using psql
$ bin/psql -d test
psql (17devel)
Type "help" for help.

test=# \d
                 List of relations
 Schema |         Name         |   Type   |  Owner
--------+----------------------+----------+---------
#!/usr/bin/env ruby

require 'pg'

# Output a table of current connections to the DB
conn = PG.connect( dbname: 'test' )
conn.exec('DROP TABLE IF EXISTS posts')
  • active_record2_non_prepared.rb that disables prepared statement prepared_statements: false
# frozen_string_literal: true

require "bundler/inline"

gemfile(true) do
  source "https://rubygems.org"

  git_source(:github) { |repo| "https://github.com/#{repo}.git" }
@yahonda
yahonda / pg_stat_statements.md
Last active April 4, 2024 23:25
Test pg_stat_statements and "IN" conditions patches

This entry shows the test result of https://www.postgresql.org/message-id/flat/CA%2Bq6zcWtUbT_Sxj0V6HY6EZ89uv5wuG5aefpe_9n0Jr3VwntFg%40mail.gmail.com

Steps to reproduce

  1. Download these 4 patch files
$ wget https://www.postgresql.org/message-id/attachment/154675/v18-0001-Prevent-jumbling-of-every-element-in-ArrayExpr.patch
$ wget https://www.postgresql.org/message-id/attachment/154676/v18-0002-Reusable-decimalLength-functions.patch
$ wget https://www.postgresql.org/message-id/attachment/154677/v18-0003-Merge-constants-in-ArrayExpr-into-groups.patch