91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
# File 'lib/baza/query_buffer.rb', line 91
def insert_with_multi(table, data, sort: false)
data_key = ""
if sort
data = data.sort_by { |element| element[0].to_s }
data = Hash[data]
end
data.each do |key, value|
data_key << "#{key}---"
@queries_size += value.is_a?(String) ? value.bytesize * 1.5 : 8
end
@inserts[table] ||= {}
@inserts[table][data_key] ||= []
@inserts[table][data_key] << data
@queries_count += 1
flush if @queries_count >= 1000 || @queries_size >= QUERIES_FLUSH_SIZE
end
|