Module: ActiveRecord::Import::AbstractAdapter::InstanceMethods
- Included in:
- ConnectionAdapters::AbstractAdapter
- Defined in:
- lib/activerecord-import/adapters/abstract_adapter.rb
Instance Method Summary collapse
-
#after_import_synchronize(instances) ⇒ Object
Synchronizes the passed in ActiveRecord instances with the records in the database by calling
reload
on each instance. -
#insert_many(sql, values, *args) ⇒ Object
:nodoc:.
-
#max_allowed_packet ⇒ Object
Returns the maximum number of bytes that the server will allow in a single packet.
- #next_value_for_sequence(sequence_name) ⇒ Object
-
#post_sql_statements(table_name, options) ⇒ Object
Returns an array of post SQL statements given the passed in options.
- #pre_sql_statements(options) ⇒ Object
Instance Method Details
#after_import_synchronize(instances) ⇒ Object
Synchronizes the passed in ActiveRecord instances with the records in the database by calling reload
on each instance.
40 41 42 |
# File 'lib/activerecord-import/adapters/abstract_adapter.rb', line 40 def after_import_synchronize( instances ) instances.each { |e| e.reload } end |
#insert_many(sql, values, *args) ⇒ Object
:nodoc:
7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/activerecord-import/adapters/abstract_adapter.rb', line 7 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 insert( sql2insert, *args ) [number_of_inserts,[]] end |
#max_allowed_packet ⇒ Object
Returns the maximum number of bytes that the server will allow in a single packet
62 63 64 |
# File 'lib/activerecord-import/adapters/abstract_adapter.rb', line 62 def max_allowed_packet NO_MAX_PACKET end |
#next_value_for_sequence(sequence_name) ⇒ Object
3 4 5 |
# File 'lib/activerecord-import/adapters/abstract_adapter.rb', line 3 def next_value_for_sequence(sequence_name) %{#{sequence_name}.nextval} end |
#post_sql_statements(table_name, options) ⇒ Object
Returns an array of post SQL statements given the passed in options.
45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/activerecord-import/adapters/abstract_adapter.rb', line 45 def post_sql_statements( table_name, ) # :nodoc: post_sql_statements = [] if [:on_duplicate_key_update] post_sql_statements << sql_for_on_duplicate_key_update( table_name, [:on_duplicate_key_update] ) end #custom user post_sql post_sql_statements << [:post_sql] if [:post_sql] #with rollup post_sql_statements << rollup_sql if [:rollup] post_sql_statements end |
#pre_sql_statements(options) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/activerecord-import/adapters/abstract_adapter.rb', line 22 def pre_sql_statements() sql = [] sql << [:pre_sql] if [:pre_sql] sql << [:command] if [:command] sql << "IGNORE" if [:ignore] #add keywords like IGNORE or DELAYED if [:keywords].is_a?(Array) sql.concat([:keywords]) elsif [:keywords] sql << [:keywords].to_s end sql end |