Skip to content
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

Initial fixes to support Rails 7.2, mostly postgres fix #1167

Merged
merged 15 commits into from
Jan 27, 2025

Conversation

JesseChavez
Copy link
Contributor

Hi @enebo

Here is the initial fixes to support rails 7.2

Most of the fixes are for postgres however db connectivity is fixed for sqlite, mysql, and postgres.

there are about 200 AR tests failing.

Using ActiveRecord::VERSION = 7.2.2.1
Established connection using {:adapter=>"postgresql", :database=>"arjdbc_test", :host=>"localhost", :username=>"arjdbc", :password=>"arjdbc", :connect_timeout=>10, :encoding=>"utf8", :collate=>"en_US.UTF-8"}
ArgumentError: wrong number of arguments (given 2, expected 1)
               serialize at /home/jessec/.gem/jruby/3.1.4/gems/activerecord-7.2.2.1/lib/active_record/attribute_methods/serialization.rb:184
  <class:ImportantTopic> at /home/jessec/bryk/vendor_gems/activerecord-jdbc-adapter/test/models/topic.rb:6
                  <main> at /home/jessec/bryk/vendor_gems/activerecord-jdbc-adapter/test/models/topic.rb:5
                 require at org/jruby/RubyKernel.java:1187
                  <main> at /home/jessec/bryk/vendor_gems/activerecord-jdbc-adapter/test/bind_params_length_test.rb:2
                 require at org/jruby/RubyKernel.java:1187
                  <main> at /home/jessec/bryk/vendor_gems/activerecord-jdbc-adapter/test/db/postgresql/bind_params_length_test.rb:2
                 require at org/jruby/RubyKernel.java:1187
                  <main> at /home/jessec/.gem/jruby/3.1.4/gems/rake-13.2.1/lib/rake/rake_test_loader.rb:21
                  select at org/jruby/RubyArray.java:2882
                  <main> at /home/jessec/.gem/jruby/3.1.4/gems/rake-13.2.1/lib/rake/rake_test_loader.rb:6
Error: SQLite3TypeConversionTest: NotImplementedError: NotImplementedError
/home/jessec/.gem/jruby/3.1.4/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/quoting.rb:62:in `quote_column_name'
     59:
     60:         # Quotes the column name. Must be implemented by subclasses
     61:         def quote_column_name(column_name)
  => 62:           raise NotImplementedError
     63:         end
     64:
     65:         # Quotes the table name. Defaults to column name quoting.
/home/jessec/.gem/jruby/3.1.4/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/quoting.rb:67:in `quote_table_name'
Error: test_decimal_scale(SQLite3TypeConversionTest): ActiveRecord::ConnectionNotEstablished: adapter requires :driver class and jdbc :url
arjdbc/jdbc/RubyJdbcConnection.java:532:in `initialize'
org/jruby/RubyClass.java:935:in `new'
/home/jessec/bryk/vendor_gems/activerecord-jdbc-adapter/lib/arjdbc/sqlite3/adapter.rb:827:in `new_client'
/home/jessec/bryk/vendor_gems/activerecord-jdbc-adapter/lib/arjdbc/abstract/connection_management.rb:43:in `connect'
/home/jessec/bryk/vendor_gems/activerecord-jdbc-adapter/lib/arjdbc/abstract/connection_management.rb:53:in `reconnect'
/home/jessec/.gem/jruby/3.1.4/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:662:in `block in reconnect!'
/home/jessec/.gem/jruby/3.1.4/gems/activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/home/jessec/.gem/jruby/3.1.4/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:661:in `reconnect!'
/home/jessec/.gem/jruby/3.1.4/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:763:in `block in verify!'
/home/jessec/.gem/jruby/3.1.4/gems/activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
...
Error: test_mysql_strict_mode_disabled(MySQLConnectionTest): ActiveRecord::ConnectionNotEstablished: adapter requires :driver class and jdbc :url
arjdbc/jdbc/RubyJdbcConnection.java:532:in `initialize'
org/jruby/RubyClass.java:935:in `new'
/home/jessec/bryk/vendor_gems/activerecord-jdbc-adapter/lib/arjdbc/mysql/adapter.rb:47:in `new_client'
/home/jessec/bryk/vendor_gems/activerecord-jdbc-adapter/lib/arjdbc/abstract/connection_management.rb:43:in `connect'
/home/jessec/bryk/vendor_gems/activerecord-jdbc-adapter/lib/arjdbc/abstract/connection_management.rb:53:in `reconnect'
/home/jessec/.gem/jruby/3.1.4/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:662:in `block in reconnect!'
/home/jessec/.gem/jruby/3.1.4/gems/activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/home/jessec/.gem/jruby/3.1.4/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:661:in `reconnect!'
/home/jessec/.gem/jruby/3.1.4/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:763:in `block in verify!'
/home/jessec/.gem/jruby/3.1.4/gems/activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
...
Error: test_query(PostgreSQLConnectionTest::ContextWithTable): ActiveRecord::ConnectionNotEstablished: adapter requires :driver class and jdbc :url
arjdbc/jdbc/RubyJdbcConnection.java:532:in `initialize'
org/jruby/RubyClass.java:935:in `new'
/home/jessec/bryk/vendor_gems/activerecord-jdbc-adapter/lib/arjdbc/postgresql/adapter.rb:879:in `new_client'
/home/jessec/bryk/vendor_gems/activerecord-jdbc-adapter/lib/arjdbc/abstract/connection_management.rb:43:in `connect'
/home/jessec/bryk/vendor_gems/activerecord-jdbc-adapter/lib/arjdbc/abstract/connection_management.rb:53:in `reconnect'
/home/jessec/.gem/jruby/3.1.4/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:662:in `block in reconnect!'
/home/jessec/.gem/jruby/3.1.4/gems/activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/home/jessec/.gem/jruby/3.1.4/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:661:in `reconnect!'
/home/jessec/.gem/jruby/3.1.4/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:763:in `block in verify!'
/home/jessec/.gem/jruby/3.1.4/gems/activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
...
Error: test_returning_when_primary_key_is_not_the_first_column(PrimaryKeyIsNotTheFirstColumnTest): ArgumentError: unknown keyword: :allow_retry
/home/jessec/bryk/vendor_gems/activerecord-jdbc-adapter/lib/arjdbc/abstract/database_statements.rb:83:in `select_all'
/home/jessec/bryk/vendor_gems/rails/activerecord/lib/active_record/querying.rb:70:in `_query_by_sql'
/home/jessec/bryk/vendor_gems/rails/activerecord/lib/active_record/relation.rb:1431:in `block in exec_main_query'
/home/jessec/bryk/vendor_gems/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:421:in `with_connection'
/home/jessec/bryk/vendor_gems/rails/activerecord/lib/active_record/connection_handling.rb:296:in `with_connection'
/home/jessec/bryk/vendor_gems/rails/activerecord/lib/active_record/relation.rb:1430:in `block in exec_main_query'
/home/jessec/bryk/vendor_gems/rails/activerecord/lib/active_record/relation.rb:1452:in `skip_query_cache_if_necessary'
/home/jessec/bryk/vendor_gems/rails/activerecord/lib/active_record/relation.rb:1414:in `exec_main_query'
/home/jessec/bryk/vendor_gems/rails/activerecord/lib/active_record/relation.rb:1392:in `block in exec_queries
...
@enebo enebo merged commit 0944ef9 into jruby:master Jan 27, 2025
4 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants