class Multiwoven::Integrations::Destination::Oracle::Client

def group_by_table(records)

def group_by_table(records)
  result = {}
  records.each_with_index do |entry, index|
    table_name = entry[0]
    column_data = {
      column_name: entry[1],
      data_type: entry[2],
      is_nullable: entry[3] == "Y"
    }
    result[index] ||= {}
    result[index][:tablename] = table_name
    result[index][:columns] = [column_data]
  end
  result.values.group_by { |entry| entry[:tablename] }.transform_values do |entries|
    { tablename: entries.first[:tablename], columns: entries.flat_map { |entry| entry[:columns] } }
  end
end