Class: Quandl::Cassandra::Models::Column::Write::InsertColumnAttributes

Inherits:
Quandl::Cassandra::Models::Column::Write show all
Defined in:
lib/quandl/cassandra/models/column/write/insert_column_attributes.rb

Instance Method Summary collapse

Methods inherited from Quandl::Cassandra::Models::Column::Write

perform

Instance Method Details

#performObject

INPUTS { source: { UUID: [[1,2], [2,4]], UUID: [[1,3],] }}



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/quandl/cassandra/models/column/write/insert_column_attributes.rb', line 6

def perform
  return if column_ids.blank?
  # format data for batch insertion
  rows_values = []
  column_ids.each_with_index do |column_id, position|
    rows_values << [id, column_id, position, frequency]
  end
  # insert dataset_attribute
  Quandl::Cassandra::Base.execute("INSERT INTO dataset_attributes (id, updated_at, frequency) VALUES (#{id}, #{(Time.now.to_f * 1000).to_i}, '#{frequency}')")
  # insert data
  Quandl::Cassandra::Batch.insert(rows_values) do |id, column_id, position, frequency|
    %Q{INSERT INTO datasets (id, column_id, position) VALUES (#{id}, #{column_id}, #{position})
    INSERT INTO column_attributes ( id, frequency ) VALUES ( #{column_id}, '#{frequency}' )}
  end
end