Skip to content

Commit bff2696

Browse files
committed
Rails 6.0-stable fixes
These changes are from master and are required once 6.0.3 is out, but break 6.0.0-6.0.2 unfortunately.
1 parent 5a5a322 commit bff2696

File tree

2 files changed

+22
-9
lines changed

2 files changed

+22
-9
lines changed

lib/arjdbc/postgresql/adapter.rb

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,10 @@ def supports_optimizer_hints?
303303
@has_pg_hint_plan
304304
end
305305

306+
def supports_common_table_expressions?
307+
true
308+
end
309+
306310
def supports_lazy_transactions?
307311
true
308312
end
@@ -379,13 +383,19 @@ def exec_insert(sql, name = nil, binds = [], pk = nil, sequence_name = nil)
379383
end
380384
end
381385

386+
def execute_batch(statements, name = nil)
387+
execute(combine_multi_statements(statements), name)
388+
end
389+
382390
def explain(arel, binds = [])
383391
sql, binds = to_sql_and_binds(arel, binds)
384392
ActiveRecord::ConnectionAdapters::PostgreSQL::ExplainPrettyPrinter.new.pp(exec_query("EXPLAIN #{sql}", 'EXPLAIN', binds))
385393
end
386394

387395
# from ActiveRecord::ConnectionAdapters::PostgreSQL::DatabaseStatements
388-
READ_QUERY = ActiveRecord::ConnectionAdapters::AbstractAdapter.build_read_query_regexp(:begin, :commit, :explain, :select, :set, :show, :release, :savepoint, :rollback) # :nodoc:
396+
READ_QUERY = ActiveRecord::ConnectionAdapters::AbstractAdapter.build_read_query_regexp(
397+
:begin, :commit, :explain, :select, :set, :show, :release, :savepoint, :rollback, :with
398+
) # :nodoc:
389399
private_constant :READ_QUERY
390400

391401
def write_query?(sql) # :nodoc:
@@ -434,8 +444,8 @@ def build_insert_sql(insert) # :nodoc:
434444
sql
435445
end
436446

437-
def build_truncate_statements(*table_names)
438-
"TRUNCATE TABLE #{table_names.map(&method(:quote_table_name)).join(", ")}"
447+
def build_truncate_statements(table_names)
448+
["TRUNCATE TABLE #{table_names.map(&method(:quote_table_name)).join(", ")}"]
439449
end
440450

441451
def all_schemas

lib/arjdbc/sqlite3/adapter.rb

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,10 @@ def supports_json?
9797
true
9898
end
9999

100+
def supports_common_table_expressions?
101+
database_version >= "3.8.3"
102+
end
103+
100104
def supports_insert_on_conflict?
101105
database_version >= "3.24.0"
102106
end
@@ -154,7 +158,9 @@ def disable_referential_integrity # :nodoc:
154158
# DATABASE STATEMENTS ======================================
155159
#++
156160

157-
READ_QUERY = ActiveRecord::ConnectionAdapters::AbstractAdapter.build_read_query_regexp(:begin, :commit, :explain, :select, :pragma, :release, :savepoint, :rollback) # :nodoc:
161+
READ_QUERY = ActiveRecord::ConnectionAdapters::AbstractAdapter.build_read_query_regexp(
162+
:begin, :commit, :explain, :select, :pragma, :release, :savepoint, :rollback, :with
163+
) # :nodoc:
158164
private_constant :READ_QUERY
159165

160166
def write_query?(sql) # :nodoc:
@@ -317,11 +323,8 @@ def get_database_version # :nodoc:
317323
SQLite3Adapter::Version.new(query_value("SELECT sqlite_version(*)"))
318324
end
319325

320-
def build_truncate_statements(*table_names)
321-
truncate_tables = table_names.map do |table_name|
322-
"DELETE FROM #{quote_table_name(table_name)}"
323-
end
324-
combine_multi_statements(truncate_tables)
326+
def build_truncate_statement(table_name)
327+
"DELETE FROM #{quote_table_name(table_name)}"
325328
end
326329

327330
def check_version

0 commit comments

Comments
 (0)