in tools/query_verification/src/main/java/com/google/bigquery/Main.java [34:107]
public static void main(String[] args) {
CommandLine command = buildCommand(args);
if (command == null) {
return;
}
QueryVerificationQuery migratedQuery = null;
QueryVerificationSchema migratedSchema = null;
QueryVerificationQuery originalQuery = null;
QueryVerificationSchema originalSchema = null;
List<QueryVerificationData> data = new ArrayList<QueryVerificationData>();
// Query input handling
if (command.hasOption("q")) {
String[] queryOptionValues = command.getOptionValues("q");
if (queryOptionValues.length >= 1) {
String migratedQueryPath = queryOptionValues[0];
String migratedQueryContents = getContentsOfFile(migratedQueryPath);
if (migratedQueryContents != null) {
migratedQuery = QueryVerificationQuery.create(migratedQueryContents, migratedQueryPath);
}
}
if (queryOptionValues.length >= 2) {
String originalQueryPath = queryOptionValues[1];
String originalQueryContents = getContentsOfFile(originalQueryPath);
if (originalQueryContents != null) {
originalQuery = QueryVerificationQuery.create(originalQueryContents, originalQueryPath);
}
}
}
// Schema input handling
if (command.hasOption("s")) {
String[] schemaOptionValues = command.getOptionValues("s");
if (schemaOptionValues.length >= 1) {
String migratedSchemaPath = schemaOptionValues[0];
String migratedSchemaContents = getContentsOfFile(migratedSchemaPath);
if (migratedSchemaContents != null) {
migratedSchema = QueryVerificationSchema.create(migratedSchemaContents, migratedSchemaPath);
}
}
if (schemaOptionValues.length >= 2) {
String originalSchemaPath = schemaOptionValues[1];
String originalSchemaContents = getContentsOfFile(originalSchemaPath);
if (originalSchemaContents != null) {
originalSchema = QueryVerificationSchema.create(originalSchemaContents, originalSchemaPath);
}
}
}
// Data input handling
if (command.hasOption("d")) {
String[] dataOptionValues = command.getOptionValues("d");
for (String dataFilePath : dataOptionValues) {
String dataFileName = new File(dataFilePath).getName();
String dataContents = getContentsOfFile(dataFilePath);
String[] dataTableId = dataFileName.split("\\.");
data.add(QueryVerificationData.create(dataTableId[0], dataTableId[1], dataFilePath, dataContents));
}
}
QueryVerifier queryVerifier = new QueryVerifier(migratedQuery, migratedSchema, originalQuery, originalSchema, data);
queryVerifier.verify();
System.exit(0);
}