class TableSaw::Queries::ExecuteInsertStatement
Attributes
row[R]
statement[R]
Public Class Methods
new(statement, row)
click to toggle source
# File lib/table_saw/queries/execute_insert_statement.rb, line 8 def initialize(statement, row) @statement = statement @row = row end
Public Instance Methods
call()
click to toggle source
# File lib/table_saw/queries/execute_insert_statement.rb, line 13 def call "EXECUTE #{statement.name}(#{values});" end
Private Instance Methods
connection()
click to toggle source
# File lib/table_saw/queries/execute_insert_statement.rb, line 25 def connection TableSaw.schema_cache.connection end
quote_value(column, value)
click to toggle source
# File lib/table_saw/queries/execute_insert_statement.rb, line 29 def quote_value(column, value) type = connection.lookup_cast_type_from_column(column) connection.quote(type.serialize(type.deserialize(value))) end
values()
click to toggle source
# File lib/table_saw/queries/execute_insert_statement.rb, line 19 def values TableSaw.schema_cache.columns(statement.table_name).zip(row) .map { |column, value| quote_value(column, value) } .join(', ') end