def clear_columns(row)
case report_mode
when :full
row
when :keys
row = row[0] if row.kind_of?(Array)
self.primary_key_names ||= session.left.primary_key_names(self.left_table)
row.reject {|column, value| !self.primary_key_names.include?(column)}
when :diff
self.primary_key_names ||= session.left.primary_key_names(self.left_table)
if row.kind_of?(Array)
new_row_array = [{}, {}]
row[0].each do |column, value|
if self.primary_key_names.include?(column) or value != row[1][column]
new_row_array[0][column] = row[0][column]
new_row_array[1][column] = row[1][column]
end
end
new_row_array
else
row
end
end
end