Module: AdapterExtensions::AbstractAdapter

Included in:
ActiveRecord::ConnectionAdapters::AbstractAdapter
Defined in:
lib/adapter_extensions/adapters/abstract_adapter.rb

Instance Method Summary collapse

Instance Method Details

#add_select_into_table(new_table_name, sql_query) ⇒ Object

Add a chunk of SQL to the given query that will create a new table and execute the select into that table.

Raises:

  • (NotImplementedError)


33
34
35
# File 'lib/adapter_extensions/adapters/abstract_adapter.rb', line 33

def add_select_into_table(new_table_name, sql_query)
  raise NotImplementedError, "add_select_into_table is an abstract method"
end

#bulk_load(file, table_name, options = {}) ⇒ Object

Bulk loading interface. Load the data from the specified file into the given table. Note that options will be adapter-dependent.

Raises:

  • (ArgumentError)


16
17
18
19
20
# File 'lib/adapter_extensions/adapters/abstract_adapter.rb', line 16

def bulk_load(file, table_name, options={})
  raise ArgumentError, "#{file} does not exist" unless File.exist?(file)
  raise ArgumentError, "#{table_name} does not exist" unless tables.include?(table_name)
  do_bulk_load(file, table_name, options)
end

#support_select_into_table?Boolean

SQL select into statement constructs a new table from the results of a select. It is used to select data from a table and create a new table with its result set at the same time. Note that this method name does not necessarily match the implementation. E.g. MySQL’s version of this is ‘CREATE TABLE … AS SELECT …’

Returns:

  • (Boolean)


27
28
29
# File 'lib/adapter_extensions/adapters/abstract_adapter.rb', line 27

def support_select_into_table?
  false
end

#truncate(table_name, options = nil) ⇒ Object

Truncate the specified table - allow to pass an optional string to let the called add extra parameters like RESET IDENTITY for pg



5
6
7
8
9
10
11
12
# File 'lib/adapter_extensions/adapters/abstract_adapter.rb', line 5

def truncate(table_name, options=nil)
  statement = [
    'TRUNCATE TABLE',
    table_name,
    options
  ].compact.join(' ')
  execute(statement)
end