Created
April 3, 2012 06:41
-
-
Save chanks/2289822 to your computer and use it in GitHub Desktop.
Sequel bug with cursors and statement parameterization.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading development environment (Rails 3.2.2) | |
irb(main):001:0> DB.loggers << Logger.new(STDOUT) | |
=> [...array of loggers...] | |
irb(main):002:0> Problem.dataset.first | |
(0.001232s) SELECT * FROM "problems" LIMIT $1::int4; [1] | |
=> #<Problem @values={:id=>1, :content=>...}> | |
irb(main):003:0> Problem.dataset.use_cursor.first | |
(0.000347s) BEGIN | |
PGError: ERROR: there is no parameter $1 | |
LINE 1: ...SOR WITHOUT HOLD FOR SELECT * FROM "problems" LIMIT $1::int4 | |
^: DECLARE sequel_cursor NO SCROLL CURSOR WITHOUT HOLD FOR SELECT * FROM "problems" LIMIT $1::int4 | |
PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block: CLOSE sequel_cursor | |
(0.000205s) ROLLBACK | |
Sequel::DatabaseError: PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/adapters/postgres.rb:211:in `async_exec' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/adapters/postgres.rb:211:in `block in execute_query' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/database/logging.rb:32:in `log_yield' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/adapters/postgres.rb:211:in `execute_query' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/adapters/postgres.rb:198:in `block in execute' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/adapters/postgres.rb:177:in `check_disconnect_errors' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/adapters/postgres.rb:198:in `execute' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/adapters/postgres.rb:312:in `block (2 levels) in execute' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/database/connecting.rb:230:in `block in synchronize' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/connection_pool/threaded.rb:88:in `hold' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/database/connecting.rb:230:in `synchronize' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/adapters/postgres.rb:312:in `block in execute' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/adapters/postgres.rb:467:in `check_database_errors' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/adapters/postgres.rb:310:in `execute' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/extensions/pg_auto_parameterize.rb:99:in `execute' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/database/query.rb:74:in `execute_dui' | |
... 6 levels... | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/database/connecting.rb:230:in `block in synchronize' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/connection_pool/threaded.rb:101:in `hold' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/database/connecting.rb:230:in `synchronize' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/database/query.rb:247:in `transaction' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/adapters/postgres.rb:730:in `cursor_fetch_rows' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/adapters/postgres.rb:580:in `fetch_rows' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/dataset/actions.rb:131:in `each' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel_pg-1.3.0/lib/sequel_pg/sequel_pg.rb:58:in `each' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/dataset/actions.rb:515:in `single_record' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/sequel-3.34.0/lib/sequel/dataset/actions.rb:188:in `first' | |
from (irb):3 | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/railties-3.2.2/lib/rails/commands/console.rb:47:in `start' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/railties-3.2.2/lib/rails/commands/console.rb:8:in `start' | |
from /home/chris/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/railties-3.2.2/lib/rails/commands.rb:41:in `<top (required)>' | |
from script/rails:6:in `require' | |
from script/rails:6:in `<main>' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment