class KPM::Database
def execute_insert_statement(table_name, query, qty_to_insert, table_data, record_id = nil)
def execute_insert_statement(table_name, query, qty_to_insert, table_data, record_id = nil) unless record_id.nil? query = "set #{record_id[:variable]}=#{record_id[:value]}; #{query}" end query = "SET autocommit=0; #{query} COMMIT;" File.open(STATEMENT_TMP_FILE,'w') do |s| s.puts query end response = `#{@@mysql_command_line} < "#{STATEMENT_TMP_FILE}" 2>&1` if response.include? 'ERROR' @@logger.error "\e[91;1mTransaction that fails to be executed\e[0m" @@logger.error "\e[91m#{query}\e[0m" raise Interrupt, "Importing table #{table_name}...... \e[91;1m#{response}\e[0m" end if response.include? 'LAST_INSERT_ID' @@logger.info "\e[32mImporting table #{table_name}...... Row 1 of #{qty_to_insert} success\e[0m" return response.split("\n")[1] end if response.include? 'ROW_COUNT' response_msg = response.split("\n") row_count_inserted = response_msg[response_msg.size - 1] @@logger.info "\e[32mImporting table #{table_name}...... Row #{ row_count_inserted || 1} of #{qty_to_insert} success\e[0m" return true end return true end