-
Notifications
You must be signed in to change notification settings - Fork 23
Closed
Description
Not sure if I should report this problem here or over at https://github.com/ged/ruby-pg/issues, but here we go
This is my code
# frozen_string_literal: true
require "bundler/inline"
gemfile do
source "https://rubygems.org"
gem "sequel", "5.96.0"
gem "sequel_pg", "1.17.2", require: "sequel"
gem "pg", "1.6.2", force_ruby_platform: %w[1 true].include?(ENV["force_ruby_platform"])
end
DB_NAME = "foo_#{rand(100)}"
url = ENV.fetch("URL") do
system "createdb #{DB_NAME}"
"postgres://localhost/#{DB_NAME}"
end
begin
puts "Connecting to #{url}"
Sequel.connect(url) do |db|
puts db.select { version.function }.all
db.extension :pg_streaming
db.run "CREATE TABLE foo (id serial)"
db[:foo].stream.each {}
end
ensure
system "dropdb #{DB_NAME}"
endThis works
$ force_ruby_platform=1 ruby repro.rb
Connecting to postgres://localhost/foo_81
{version: "PostgreSQL 16.7 (Homebrew) on aarch64-apple-darwin23.6.0, compiled by Apple clang version 16.0.0 (clang-1600.0.26.6), 64-bit"}This does not
$ force_ruby_platform=0 ruby repro.rb
Connecting to postgres://localhost/foo_73
{version: "PostgreSQL 16.7 (Homebrew) on aarch64-apple-darwin23.6.0, compiled by Apple clang version 16.0.0 (clang-1600.0.26.6), 64-bit"}
/Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel_pg-1.17.2/lib/sequel/extensions/pg_streaming.rb:92:in 'Sequel::Postgres::Adapter#set_single_row_mode': PG::Error: cannot set single row mode (Sequel::DatabaseError)
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel_pg-1.17.2/lib/sequel/extensions/pg_streaming.rb:92:in 'Sequel::Postgres::Streaming::AdapterMethods#execute_query'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/adapters/postgres.rb:159:in 'block in Sequel::Postgres::Adapter#execute'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/adapters/postgres.rb:136:in 'Sequel::Postgres::Adapter#check_disconnect_errors'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/adapters/postgres.rb:159:in 'Sequel::Postgres::Adapter#execute'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/adapters/postgres.rb:532:in 'Sequel::Postgres::Database#_execute'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel_pg-1.17.2/lib/sequel/extensions/pg_streaming.rb:49:in 'Sequel::Postgres::Streaming#_execute'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/adapters/postgres.rb:348:in 'block (2 levels) in Sequel::Postgres::Database#execute'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/adapters/postgres.rb:555:in 'Sequel::Postgres::Database#check_database_errors'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/adapters/postgres.rb:348:in 'block in Sequel::Postgres::Database#execute'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/connection_pool/timed_queue.rb:90:in 'Sequel::TimedQueueConnectionPool#hold'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/database/connecting.rb:283:in 'Sequel::Database#synchronize'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/adapters/postgres.rb:348:in 'Sequel::Postgres::Database#execute'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/dataset/actions.rb:1197:in 'Sequel::Dataset#execute'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel_pg-1.17.2/lib/sequel/extensions/pg_streaming.rb:124:in 'Sequel::Postgres::Streaming::DatasetMethods#fetch_rows'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/dataset/actions.rb:164:in 'Sequel::Dataset#each'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel_pg-1.17.2/lib/sequel_pg/sequel_pg.rb:83:in 'Sequel::Postgres::Dataset#each'
from repro.rb:26:in 'block in <main>'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/database/connecting.rb:56:in 'Sequel::Database.connect'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/core.rb:124:in 'Sequel::SequelMethods#connect'
from repro.rb:22:in '<main>'
/Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel_pg-1.17.2/lib/sequel/extensions/pg_streaming.rb:92:in 'Sequel::Postgres::Adapter#set_single_row_mode': cannot set single row mode (PG::Error)
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel_pg-1.17.2/lib/sequel/extensions/pg_streaming.rb:92:in 'Sequel::Postgres::Streaming::AdapterMethods#execute_query'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/adapters/postgres.rb:159:in 'block in Sequel::Postgres::Adapter#execute'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/adapters/postgres.rb:136:in 'Sequel::Postgres::Adapter#check_disconnect_errors'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/adapters/postgres.rb:159:in 'Sequel::Postgres::Adapter#execute'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/adapters/postgres.rb:532:in 'Sequel::Postgres::Database#_execute'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel_pg-1.17.2/lib/sequel/extensions/pg_streaming.rb:49:in 'Sequel::Postgres::Streaming#_execute'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/adapters/postgres.rb:348:in 'block (2 levels) in Sequel::Postgres::Database#execute'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/adapters/postgres.rb:555:in 'Sequel::Postgres::Database#check_database_errors'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/adapters/postgres.rb:348:in 'block in Sequel::Postgres::Database#execute'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/connection_pool/timed_queue.rb:90:in 'Sequel::TimedQueueConnectionPool#hold'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/database/connecting.rb:283:in 'Sequel::Database#synchronize'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/adapters/postgres.rb:348:in 'Sequel::Postgres::Database#execute'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/dataset/actions.rb:1197:in 'Sequel::Dataset#execute'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel_pg-1.17.2/lib/sequel/extensions/pg_streaming.rb:124:in 'Sequel::Postgres::Streaming::DatasetMethods#fetch_rows'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/dataset/actions.rb:164:in 'Sequel::Dataset#each'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel_pg-1.17.2/lib/sequel_pg/sequel_pg.rb:83:in 'Sequel::Postgres::Dataset#each'
from repro.rb:26:in 'block in <main>'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/database/connecting.rb:56:in 'Sequel::Database.connect'
from /Users/dentarg/.arm64_rubies/3.4.3/lib/ruby/gems/3.4.0/gems/sequel-5.96.0/lib/sequel/core.rb:124:in 'Sequel::SequelMethods#connect'
from repro.rb:22:in '<main>'Metadata
Metadata
Assignees
Labels
No labels