cockroachdb / activerecord-cockroachdb-adapter

CockroachDB adapter for ActiveRecord.
Apache License 2.0
103 stars 51 forks source link

[ActiveRecord 5.2 Test Failure] test/cases/adapters/postgresql/connection_test.rb #105

Closed alimi closed 2 months ago

alimi commented 4 years ago
Error:
ActiveRecord::PostgresqlConnectionTest#test_reset_with_transaction:
ActiveRecord::StatementInvalid: PG::FeatureNotSupported: ERROR:  unimplemented: the configuration setting "geqo" is not supported
HINT:  You have attempted to use a feature that is not yet implemented.

Please check the public issue tracker to check whether this problem is
already tracked. If you cannot find it there, please report the error
with details by creating a new issue.

If you would rather not post publicly, please contact us directly
using the support form.

We appreciate your feedback.

: SET geqo TO off
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:63:in `exec'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:63:in `block (2 levels) in query'
    /Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
    /Users/alimi/repos/rails/activesupport/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
    /Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:62:in `block in query'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:581:in `block (2 levels) in log'
    /Users/alimi/.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `block in log'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:571:in `log'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:61:in `query'
    /Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:86:in `test_reset_with_transaction'

Error:
ActiveRecord::PostgresqlConnectionTest#test_reset_with_transaction:
ActiveRecord::StatementInvalid: PG::InternalError: ERROR:  there is no transaction in progress
: ROLLBACK
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:75:in `exec'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:75:in `block (2 levels) in execute'
    /Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
    /Users/alimi/repos/rails/activesupport/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
    /Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:74:in `block in execute'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:581:in `block (2 levels) in log'
    /Users/alimi/.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `block in log'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:571:in `log'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:73:in `execute'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:148:in `exec_rollback_db_transaction'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:320:in `rollback_db_transaction'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:21:in `rollback_db_transaction'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/transaction.rb:180:in `rollback'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/transaction.rb:230:in `block in rollback_transaction'
    /Users/alimi/.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/transaction.rb:228:in `rollback_transaction'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:275:in `rollback_transaction'
    /Users/alimi/repos/rails/activerecord/lib/active_record/fixtures.rb:1014:in `block in teardown_fixtures'
    /Users/alimi/repos/rails/activerecord/lib/active_record/fixtures.rb:1013:in `each'
    /Users/alimi/repos/rails/activerecord/lib/active_record/fixtures.rb:1013:in `teardown_fixtures'
    /Users/alimi/repos/rails/activerecord/lib/active_record/fixtures.rb:866:in `after_teardown'

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:84

Error:
ActiveRecord::PostgresqlConnectionTest#test_statement_key_is_logged:
ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR:  at or near "json": syntax error
DETAIL:  source SQL:
EXPLAIN (FORMAT JSON) EXECUTE a1(1)
                ^
HINT:  try \h <SELECTCLAUSE>
: EXPLAIN (FORMAT JSON) EXECUTE a1(1)
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:611:in `exec_params'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:611:in `block (2 levels) in exec_no_cache'
    /Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
    /Users/alimi/repos/rails/activesupport/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
    /Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:610:in `block in exec_no_cache'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:581:in `block (2 levels) in log'
    /Users/alimi/.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `block in log'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:571:in `log'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:609:in `exec_no_cache'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:596:in `execute_and_clear'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:81:in `exec_query'
    /Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:142:in `test_statement_key_is_logged'

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:137

Failure:
ActiveRecord::PostgresqlConnectionTest#test_get_and_release_advisory_lock [/Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:243]:
expected to find an advisory lock with lock_id 5295901941911233559 but there wasn't one

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:230

Error:
ActiveRecord::PostgresqlConnectionTest#test_reset:
ActiveRecord::StatementInvalid: PG::FeatureNotSupported: ERROR:  unimplemented: the configuration setting "geqo" is not supported
HINT:  You have attempted to use a feature that is not yet implemented.

Please check the public issue tracker to check whether this problem is
already tracked. If you cannot find it there, please report the error
with details by creating a new issue.

If you would rather not post publicly, please contact us directly
using the support form.

We appreciate your feedback.

: SET geqo TO off
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:63:in `exec'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:63:in `block (2 levels) in query'
    /Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
    /Users/alimi/repos/rails/activesupport/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
    /Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:62:in `block in query'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:581:in `block (2 levels) in log'
    /Users/alimi/.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `block in log'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:571:in `log'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:61:in `query'
    /Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:71:in `test_reset'

Error:
ActiveRecord::PostgresqlConnectionTest#test_reset:
ActiveRecord::StatementInvalid: PG::InternalError: ERROR:  there is no transaction in progress
: ROLLBACK
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:75:in `exec'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:75:in `block (2 levels) in execute'
    /Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
    /Users/alimi/repos/rails/activesupport/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
    /Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:74:in `block in execute'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:581:in `block (2 levels) in log'
    /Users/alimi/.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `block in log'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:571:in `log'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:73:in `execute'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:148:in `exec_rollback_db_transaction'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:320:in `rollback_db_transaction'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:21:in `rollback_db_transaction'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/transaction.rb:180:in `rollback'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/transaction.rb:230:in `block in rollback_transaction'
    /Users/alimi/.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/transaction.rb:228:in `rollback_transaction'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:275:in `rollback_transaction'
    /Users/alimi/repos/rails/activerecord/lib/active_record/fixtures.rb:1014:in `block in teardown_fixtures'
    /Users/alimi/repos/rails/activerecord/lib/active_record/fixtures.rb:1013:in `each'
    /Users/alimi/repos/rails/activerecord/lib/active_record/fixtures.rb:1013:in `teardown_fixtures'
    /Users/alimi/repos/rails/activerecord/lib/active_record/fixtures.rb:866:in `after_teardown'

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:69

Error:
ActiveRecord::PostgresqlConnectionTest#test_reconnection_after_actual_disconnection_with_verify:
ActiveRecord::StatementInvalid: PG::UndefinedFunction: ERROR:  unknown function: pg_terminate_backend()
: select pg_terminate_backend(-1)
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:63:in `exec'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:63:in `block (2 levels) in query'
    /Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
    /Users/alimi/repos/rails/activesupport/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
    /Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:62:in `block in query'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:581:in `block (2 levels) in log'
    /Users/alimi/.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `block in log'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:571:in `log'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:61:in `query'
    /Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:164:in `test_reconnection_after_actual_disconnection_with_verify'

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:156

Failure:
ActiveRecord::PostgresqlConnectionTest#test_default_client_min_messages [/Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:54]:
Expected: "warning"
  Actual: "notice"

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:53

Error:
ActiveRecord::PostgresqlConnectionTest#test_set_session_variable_true:
ActiveRecord::StatementInvalid: PG::FeatureNotSupported: ERROR:  unimplemented: the configuration setting "debug_print_plan" is not supported
HINT:  You have attempted to use a feature that is not yet implemented.

Please check the public issue tracker to check whether this problem is
already tracked. If you cannot find it there, please report the error
with details by creating a new issue.

If you would rather not post publicly, please contact us directly
using the support form.

We appreciate your feedback.

: SET SESSION debug_print_plan = TRUE
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:75:in `exec'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:75:in `block (2 levels) in execute'
    /Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
    /Users/alimi/repos/rails/activesupport/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
    /Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:74:in `block in execute'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:581:in `block (2 levels) in log'
    /Users/alimi/.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `block in log'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:571:in `log'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:73:in `execute'
    /Users/alimi/repos/activerecord-cockroachdb-adapter/lib/active_record/connection_adapters/cockroachdb_adapter.rb:192:in `block in configure_connection'
    /Users/alimi/repos/activerecord-cockroachdb-adapter/lib/active_record/connection_adapters/cockroachdb_adapter.rb:184:in `each'
    /Users/alimi/repos/activerecord-cockroachdb-adapter/lib/active_record/connection_adapters/cockroachdb_adapter.rb:184:in `map'
    /Users/alimi/repos/activerecord-cockroachdb-adapter/lib/active_record/connection_adapters/cockroachdb_adapter.rb:184:in `configure_connection'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:693:in `connect'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:223:in `initialize'
    /Users/alimi/repos/activerecord-cockroachdb-adapter/lib/active_record/connection_adapters/cockroachdb_adapter.rb:30:in `new'
    /Users/alimi/repos/activerecord-cockroachdb-adapter/lib/active_record/connection_adapters/cockroachdb_adapter.rb:30:in `cockroachdb_connection'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:830:in `new_connection'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:874:in `checkout_new_connection'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:853:in `try_to_checkout_new_connection'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:814:in `acquire_connection'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:538:in `checkout'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:382:in `connection'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:1033:in `retrieve_connection'
    /Users/alimi/repos/rails/activerecord/lib/active_record/fixtures.rb:985:in `block in setup_fixtures'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/fanout.rb:129:in `finish'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/fanout.rb:48:in `block in finish'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/fanout.rb:48:in `each'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/fanout.rb:48:in `finish'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/instrumenter.rb:44:in `finish_with_state'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/instrumenter.rb:29:in `instrument'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:988:in `establish_connection'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_handling.rb:60:in `establish_connection'
    /Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:195:in `block in test_set_session_variable_true'
    /Users/alimi/repos/rails/activerecord/test/support/connection_helper.rb:6:in `run_without_connection'
    /Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:194:in `test_set_session_variable_true'

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:193

Error:
ActiveRecord::PostgresqlConnectionTest#test_set_session_variable_false:
ActiveRecord::StatementInvalid: PG::FeatureNotSupported: ERROR:  unimplemented: the configuration setting "debug_print_plan" is not supported
HINT:  You have attempted to use a feature that is not yet implemented.

Please check the public issue tracker to check whether this problem is
already tracked. If you cannot find it there, please report the error
with details by creating a new issue.

If you would rather not post publicly, please contact us directly
using the support form.

We appreciate your feedback.

: SET SESSION debug_print_plan = FALSE
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:75:in `exec'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:75:in `block (2 levels) in execute'
    /Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
    /Users/alimi/repos/rails/activesupport/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
    /Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:74:in `block in execute'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:581:in `block (2 levels) in log'
    /Users/alimi/.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `block in log'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:571:in `log'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:73:in `execute'
    /Users/alimi/repos/activerecord-cockroachdb-adapter/lib/active_record/connection_adapters/cockroachdb_adapter.rb:192:in `block in configure_connection'
    /Users/alimi/repos/activerecord-cockroachdb-adapter/lib/active_record/connection_adapters/cockroachdb_adapter.rb:184:in `each'
    /Users/alimi/repos/activerecord-cockroachdb-adapter/lib/active_record/connection_adapters/cockroachdb_adapter.rb:184:in `map'
    /Users/alimi/repos/activerecord-cockroachdb-adapter/lib/active_record/connection_adapters/cockroachdb_adapter.rb:184:in `configure_connection'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:693:in `connect'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:223:in `initialize'
    /Users/alimi/repos/activerecord-cockroachdb-adapter/lib/active_record/connection_adapters/cockroachdb_adapter.rb:30:in `new'
    /Users/alimi/repos/activerecord-cockroachdb-adapter/lib/active_record/connection_adapters/cockroachdb_adapter.rb:30:in `cockroachdb_connection'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:830:in `new_connection'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:874:in `checkout_new_connection'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:853:in `try_to_checkout_new_connection'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:814:in `acquire_connection'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:538:in `checkout'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:382:in `connection'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:1033:in `retrieve_connection'
    /Users/alimi/repos/rails/activerecord/lib/active_record/fixtures.rb:985:in `block in setup_fixtures'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/fanout.rb:129:in `finish'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/fanout.rb:48:in `block in finish'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/fanout.rb:48:in `each'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/fanout.rb:48:in `finish'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/instrumenter.rb:44:in `finish_with_state'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/instrumenter.rb:29:in `instrument'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:988:in `establish_connection'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_handling.rb:60:in `establish_connection'
    /Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:203:in `block in test_set_session_variable_false'
    /Users/alimi/repos/rails/activerecord/test/support/connection_helper.rb:6:in `run_without_connection'
    /Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:202:in `test_set_session_variable_false'

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:201

Error:
ActiveRecord::PostgresqlConnectionTest#test_table_alias_length_logs_name:
NoMethodError: undefined method `[]' for nil:NilClass
    /Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:118:in `test_table_alias_length_logs_name'

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:115

Error:
ActiveRecord::PostgresqlConnectionTest#test_connection_options:
ActiveRecord::StatementInvalid: PG::UndefinedObject: ERROR:  unrecognized configuration parameter "geqo"
: show geqo
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:63:in `exec'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:63:in `block (2 levels) in query'
    /Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
    /Users/alimi/repos/rails/activesupport/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
    /Users/alimi/repos/rails/activesupport/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:62:in `block in query'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:581:in `block (2 levels) in log'
    /Users/alimi/.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:580:in `block in log'
    /Users/alimi/repos/rails/activesupport/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:571:in `log'
    /Users/alimi/repos/rails/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:61:in `query'
    /Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:65:in `test_connection_options'

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:59

Failure:
ActiveRecord::PostgresqlConnectionTest#test_release_non_existent_advisory_lock [/Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:258]:
expected release_advisory_lock to return false when there was no lock to release.
Expected: true
  Actual: false

bin/rails test Users/alimi/repos/rails/activerecord/test/cases/adapters/postgresql/connection_test.rb:254

See the Contributing Guide for instructions on running tests.

If the test isn't valid against CockroachDB

  1. Add a ruby file to test/excludes that matches the name of the test class if one doesn't already exist. For example to exclude a test from ActiveRecord::AdapterTest, create test/excludes/ActiveRecord/AdapterTest.rb.
  2. Add an exclude statement to the file with the name of the test to exclude and a description. For example to exclude test_indexes from ActiveRecord::AdapterTest: https://github.com/cockroachdb/activerecord-cockroachdb-adapter/blob/c3cb637bd855b36bbf9e76b7947162054b95022e/test/excludes/ActiveRecord/AdapterTest.rb#L1
  3. Finally, if the test can run against CockroachDB with a few changes, add it to test/cases. Everything from the ActiveRecord test suite will be available, so a lot of the excluded test can be copied over. Namespace the test under the CockroachDB module to avoid name collisions. See test/cases/adapter_test.rb for an example.

See https://github.com/cockroachdb/activerecord-cockroachdb-adapter/issues/48.

sandstrom commented 3 years ago

Just wanted to mention that several ActiveJob adapters for Rails use PostgreSQL and Advisory Locks to work.

Would be great if CockroachDB supported Advisory Locks: https://github.com/bensheldon/good_job/discussions/292