@@ -293,31 +293,29 @@ public final void addTasksTo(
293293 .withHeaderTransformer (item .transformer ());
294294 out .add (task );
295295 }
296- } else {
297- if (!arguments .getDatabases ().isEmpty ()) {
298- TaskOptions taskOptions = TaskOptions .DEFAULT ;
299- for (String database : arguments .getDatabases ()) {
300- String formatString =
301- String .format (
302- "%s IN DATABASE %s" ,
303- SnowflakePlanner .SHOW_EXTERNAL_TABLES .formatString , databaseNameQuoted (database ));
304- addAssessmentQuery (
305- SnowflakePlanner .SHOW_EXTERNAL_TABLES .withFormatString (formatString ),
306- out ,
307- arguments ,
308- ACCOUNT_USAGE_SCHEMA_NAME ,
309- taskOptions );
310- // Next tasks will append to the same file.
311- taskOptions = taskOptions .withWriteMode (WriteMode .APPEND_EXISTING );
312- }
313- } else {
314- addAssessmentQuery (
315- SnowflakePlanner .SHOW_EXTERNAL_TABLES ,
316- out ,
317- arguments ,
318- ACCOUNT_USAGE_SCHEMA_NAME ,
319- TaskOptions .DEFAULT );
320- }
296+ return ;
297+ }
298+ ImmutableList <String > databases = arguments .getDatabases ();
299+
300+ if (databases .isEmpty ()) {
301+ AssessmentQuery query = SnowflakePlanner .SHOW_EXTERNAL_TABLES ;
302+ Task <?> task = convertAssessmentQuery (query , arguments , TaskOptions .DEFAULT );
303+ out .add (task );
304+ return ;
305+ }
306+
307+ TaskOptions taskOptions = TaskOptions .DEFAULT ;
308+
309+ for (String item : databases ) {
310+ String quotedName = databaseNameQuoted (item );
311+ AssessmentQuery baseQuery = SnowflakePlanner .SHOW_EXTERNAL_TABLES ;
312+
313+ String formatString = String .format ("%s IN DATABASE %s" , baseQuery .formatString , quotedName );
314+ AssessmentQuery query = baseQuery .withFormatString (formatString );
315+ Task <?> task = convertAssessmentQuery (query , arguments , taskOptions );
316+ out .add (task );
317+ // Next tasks will append to the same file.
318+ taskOptions = taskOptions .withWriteMode (WriteMode .APPEND_EXISTING );
321319 }
322320 }
323321
@@ -345,19 +343,15 @@ private String queryForAssessment(AssessmentQuery item, ConnectorArguments argum
345343 return item .substitute (schema , whereCondition );
346344 }
347345
348- private void addAssessmentQuery (
346+ private Task <?> convertAssessmentQuery (
349347 @ Nonnull AssessmentQuery item ,
350- @ Nonnull List <? super Task <?>> out ,
351348 @ Nonnull ConnectorArguments arguments ,
352- @ Nonnull String AU ,
353349 @ Nonnull TaskOptions taskOptions ) {
354350 String formatString = overrideFormatString (item , arguments );
355- String query = String .format (formatString , AU , EMPTY_WHERE_CONDITION );
351+ String query = String .format (formatString , ACCOUNT_USAGE_SCHEMA_NAME , EMPTY_WHERE_CONDITION );
356352 String zipName = item .zipEntryName ;
357- Task <?> task =
358- new JdbcSelectTask (zipName , query , TaskCategory .REQUIRED , taskOptions )
359- .withHeaderTransformer (item .transformer ());
360- out .add (task );
353+ return new JdbcSelectTask (zipName , query , TaskCategory .REQUIRED , taskOptions )
354+ .withHeaderTransformer (item .transformer ());
361355 }
362356
363357 private String overrideFormatString (AssessmentQuery query , ConnectorArguments arguments ) {
0 commit comments