in bigquery-antipattern-recognition/src/main/java/com/google/zetasql/toolkit/antipattern/output/BQOutputWriter.java [63:86]
public void writeRecForQuery(
InputQuery inputQuery,
List<AntiPatternVisitor> visitorsThatFoundPatterns,
AntiPatternCommandParser cmdParser) throws IOException {
List<Map<String, String>> rec_list = new ArrayList<>();
for (AntiPatternVisitor visitor : visitorsThatFoundPatterns) {
Map<String, String> rec = new HashMap<>();
rec.put(REC_NAME_COL_NAME, visitor.getName());
rec.put(DESCRIPTION_COL_NAME, visitor.getResult());
rec_list.add(rec);
}
Map<String, Object> rowContent = new HashMap<>();
rowContent.put(JOB_IDENTIFIER_COL_NAME, inputQuery.getQueryId());
rowContent.put(QUERY_COL_NAME, inputQuery.getQuery());
rowContent.put(
SLOT_HOURS_COL_NAME, inputQuery.getSlotHours() >= 0 ? inputQuery.getSlotHours() : null);
rowContent.put(USER_EMAIL_COL_NAME, inputQuery.getUserEmail());
rowContent.put(RECOMMENDATION_COL_NAME, rec_list);
rowContent.put(OPTIMIZED_SQL_COL_NAME, inputQuery.getOptimizedQuery());
rowContent.put(PROCESS_TIMESTAMP_COL_NAME, date);
bigQueryHelper.writeResults(processingProjectName, tableName, rowContent);
}