-
-
Notifications
You must be signed in to change notification settings - Fork 208
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PG::AmbiguousColumn
after upgrade to 4.5.0
#1551
Comments
Sorry about that! What version were previously upgrading from? |
4.4.2 |
alright, good news, it is not good_job. I tried to downgrade GJ, PG, etc, nothing worked. then I realized it actually looks like Rails' fault and I tracked it down to this commit |
Ooof! Thank you so much for tracking this down. Sounds like the solution when upgrading to Rails 8 is to use the rails-v8.0 release branch? |
Oh wait, are you saying that commit newly breaks it? Or that it fixes it? |
breaks, yeah |
Ohhh! Can you share the whole SQL query? I was imagining that would help me leave a comment to the PR associated with the commit, but you could also do so. I think it would be good to report this as a regression in Rails |
I opened an issue on Rails too |
Here maybe
That whole function is doing a bunch of arel stuff and may not end up in the right codepath now to dedupe these. Arel is supposed to be rails-internals only, though in practice it often isn't so. |
tested |
hey 👋🏻
After upgrading to 4.5.0, I'm seeing this error
I can't tell exactly what's going on because the output is just messy
["/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:160:in
exec'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:160:in
perform_query'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:556:inblock (2 levels) in raw_execute'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:1011:in
block in with_raw_connection'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activesupport/lib/active_support/concurrency/null_lock.rb:9:insynchronize'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:983:in
with_raw_connection'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:555:inblock in raw_execute'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activesupport/lib/active_support/notifications/instrumenter.rb:58:in
instrument'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:1129:inlog'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:554:in
raw_execute'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:591:ininternal_execute'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:547:in
internal_exec_query'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:693:inselect'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:73:in
select_all'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:248:inblock in select_all'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:286:in
block (2 levels) in cache_sql'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:80:incompute_if_absent'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:284:in
block in cache_sql'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activesupport/lib/active_support/concurrency/null_lock.rb:9:insynchronize'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:283:in
cache_sql'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:248:inselect_all'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/querying.rb:68:in
_query_by_sql'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/relation.rb:1449:inblock (2 levels) in exec_main_query'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:406:in
with_connection'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/connection_handling.rb:310:inwith_connection'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/relation.rb:1448:in
block in exec_main_query'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/relation.rb:1470:inskip_query_cache_if_necessary'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/relation.rb:1432:in
exec_main_query'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/relation.rb:1410:inblock in exec_queries'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/relation.rb:1470:in
skip_query_cache_if_necessary'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/relation.rb:1404:inexec_queries'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/relation.rb:1181:in
load'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/relation.rb:343:inrecords'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/relation.rb:338:in
to_ary'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/good_job-4.5.0/app/models/concerns/good_job/advisory_lockable.rb:169:inwith_advisory_lock'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/relation/delegation.rb:81:in
block in with_advisory_lock'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/relation.rb:1373:in_scoping'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/relation.rb:548:in
scoping'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/relation/delegation.rb:81:inwith_advisory_lock'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/good_job-4.5.0/app/models/good_job/job.rb:293:in
perform_with_advisory_lock'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/relation/delegation.rb:131:inpublic_send'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/relation/delegation.rb:131:in
block in method_missing'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/relation.rb:1373:in_scoping'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/relation.rb:548:in
scoping'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activerecord/lib/active_record/relation/delegation.rb:131:inmethod_missing'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/good_job-4.5.0/lib/good_job/job_performer.rb:35:in
block in next'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/good_job-4.5.0/lib/good_job/capsule_tracker.rb:94:inregister'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/good_job-4.5.0/lib/good_job/job_performer.rb:34:in
next'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/good_job-4.5.0/lib/good_job/scheduler.rb:276:inblock (2 levels) in create_task'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activesupport/lib/active_support/reloader.rb:77:in
block in wrap'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activesupport/lib/active_support/execution_wrapper.rb:91:inwrap'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/bundler/gems/rails-a23de8e5a415/activesupport/lib/active_support/reloader.rb:74:in
wrap'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/good_job-4.5.0/lib/good_job/scheduler.rb:275:inblock in create_task'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in
block in execute'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:inblock in synchronize'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:in
synchronize'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:48:insynchronize'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:22:in
execute'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/ivar.rb:170:insafe_execute'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/scheduled_task.rb:298:in
process_task'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/timer_set.rb:98:inblock in ns_post_task'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:359:in
run_task'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:350:inblock (3 levels) in create_worker'", "<internal:kernel>:187:in
loop'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:341:inblock (2 levels) in create_worker'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:340:in
catch'", "/Users/luiz/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:340:in `block in create_worker'"]I vaguely remember dealing with something similar in the past, but I haven't found anything in issues or PRs. I will keep looking
I'm using PG 17.2 and Rails from
main
The text was updated successfully, but these errors were encountered: