Module: ActiveRecord::Import::PostgreSQLAdapter

Includes:
ImportSupport
Included in:
ConnectionAdapters::PostgreSQLAdapter
Defined in:
lib/activerecord-import/adapters/postgresql_adapter.rb

Instance Method Summary collapse

Methods included from ImportSupport

#supports_import?

Instance Method Details

#insert_many(sql, values, *args) ⇒ Object

:nodoc:



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/activerecord-import/adapters/postgresql_adapter.rb', line 4

def insert_many( sql, values, *args ) # :nodoc:
  number_of_inserts = 1

  base_sql,post_sql = if sql.is_a?( String )
    [ sql, '' ]
  elsif sql.is_a?( Array )
    [ sql.shift, sql.join( ' ' ) ]
  end

  sql2insert = base_sql + values.join( ',' ) + post_sql
  ids = select_values( sql2insert, *args )

  [number_of_inserts,ids]
end

#next_value_for_sequence(sequence_name) ⇒ Object



19
20
21
# File 'lib/activerecord-import/adapters/postgresql_adapter.rb', line 19

def next_value_for_sequence(sequence_name)
  %{nextval('#{sequence_name}')}
end

#post_sql_statements(table_name, options) ⇒ Object

:nodoc:



23
24
25
26
27
28
29
# File 'lib/activerecord-import/adapters/postgresql_adapter.rb', line 23

def post_sql_statements( table_name, options ) # :nodoc:
  unless options[:primary_key].blank?
    super(table_name, options) << (" RETURNING #{options[:primary_key]}")
  else
    super(table_name, options)
  end
end

#support_setting_primary_key_of_imported_objects?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/activerecord-import/adapters/postgresql_adapter.rb', line 31

def support_setting_primary_key_of_imported_objects?
  true
end