@@ -387,7 +387,13 @@ public final void addTasksTo(
387387
388388 List <TaskDescription > timeSeriesTasks =
389389 TimeSeriesView .valuesInOrder .stream ()
390- .map (item -> item .taskDescription (arguments ))
390+ .map (
391+ item -> {
392+ String override = arguments .getDefinition (item .property );
393+ String prefix = formatPrefix (item .headerClass , item .name ());
394+ String query = overrideableQuery (override , prefix , item .column .value );
395+ return new TaskDescription (item .zipPrefix , query , item .headerClass );
396+ })
391397 .collect (toImmutableList ());
392398 Duration duration = Duration .ofDays (1 );
393399 ZonedIntervalIterableGenerator .forConnectorArguments (
@@ -426,156 +432,104 @@ static String overrideableQuery(
426432 }
427433 }
428434
435+ enum TimeSeriesColumn {
436+ COMPLETED_TIME ("COMPLETED_TIME" ),
437+ END_TIME ("END_TIME" ),
438+ EVENT_TIMESTAMP ("EVENT_TIMESTAMP" ),
439+ LAST_LOAD_TIME ("LAST_LOAD_TIME" ),
440+ TIMESTAMP ("TIMESTAMP" ),
441+ USAGE_DATE ("USAGE_DATE" );
442+
443+ String value ;
444+
445+ TimeSeriesColumn (String value ) {
446+ this .value = value ;
447+ }
448+ }
449+
429450 enum TimeSeriesView {
430- WAREHOUSE_EVENTS_HISTORY (WarehouseEventsHistoryFormat .Header .class ) {
431- @ Override
432- TaskDescription taskDescription (@ Nonnull ConnectorArguments arguments ) {
433- ConnectorProperty property =
434- SnowflakeLogConnectorProperties .WAREHOUSE_EVENTS_HISTORY_OVERRIDE_QUERY ;
435- return new TaskDescription (
436- WarehouseEventsHistoryFormat .ZIP_ENTRY_PREFIX ,
437- overrideableQuery (arguments .getDefinition (property ), queryPrefix , "TIMESTAMP" ),
438- headerClass );
439- }
440- },
441- AUTOMATIC_CLUSTERING_HISTORY (AutomaticClusteringHistoryFormat .Header .class ) {
442- @ Override
443- TaskDescription taskDescription (@ Nonnull ConnectorArguments arguments ) {
444- ConnectorProperty property =
445- SnowflakeLogConnectorProperties .AUTOMATIC_CLUSTERING_HISTORY_OVERRIDE_QUERY ;
446- return new TaskDescription (
447- AutomaticClusteringHistoryFormat .ZIP_ENTRY_PREFIX ,
448- overrideableQuery (arguments .getDefinition (property ), queryPrefix , "END_TIME" ),
449- headerClass );
450- }
451- },
452- COPY_HISTORY (CopyHistoryFormat .Header .class ) {
453- @ Override
454- TaskDescription taskDescription (@ Nonnull ConnectorArguments arguments ) {
455- ConnectorProperty property = SnowflakeLogConnectorProperties .COPY_HISTORY_OVERRIDE_QUERY ;
456- return new TaskDescription (
457- CopyHistoryFormat .ZIP_ENTRY_PREFIX ,
458- overrideableQuery (arguments .getDefinition (property ), queryPrefix , "LAST_LOAD_TIME" ),
459- headerClass );
460- }
461- },
462- DATABASE_REPLICATION_USAGE_HISTORY (DatabaseReplicationUsageHistoryFormat .Header .class ) {
463- @ Override
464- TaskDescription taskDescription (@ Nonnull ConnectorArguments arguments ) {
465- ConnectorProperty property =
466- SnowflakeLogConnectorProperties .DATABASE_REPLICATION_USAGE_HISTORY_OVERRIDE_QUERY ;
467- return new TaskDescription (
468- DatabaseReplicationUsageHistoryFormat .ZIP_ENTRY_PREFIX ,
469- overrideableQuery (arguments .getDefinition (property ), queryPrefix , "END_TIME" ),
470- headerClass );
471- }
472- },
473- LOGIN_HISTORY (LoginHistoryFormat .Header .class ) {
474- @ Override
475- TaskDescription taskDescription (@ Nonnull ConnectorArguments arguments ) {
476- ConnectorProperty property = SnowflakeLogConnectorProperties .LOGIN_HISTORY_OVERRIDE_QUERY ;
477- return new TaskDescription (
478- LoginHistoryFormat .ZIP_ENTRY_PREFIX ,
479- overrideableQuery (arguments .getDefinition (property ), queryPrefix , "EVENT_TIMESTAMP" ),
480- headerClass );
481- }
482- },
483- METERING_DAILY_HISTORY (MeteringDailyHistoryFormat .Header .class ) {
484- @ Override
485- TaskDescription taskDescription (@ Nonnull ConnectorArguments arguments ) {
486- ConnectorProperty property =
487- SnowflakeLogConnectorProperties .METERING_DAILY_HISTORY_OVERRIDE_QUERY ;
488- return new TaskDescription (
489- MeteringDailyHistoryFormat .ZIP_ENTRY_PREFIX ,
490- overrideableQuery (arguments .getDefinition (property ), queryPrefix , "USAGE_DATE" ),
491- headerClass );
492- }
493- },
494- PIPE_USAGE_HISTORY (PipeUsageHistoryFormat .Header .class ) {
495- @ Override
496- TaskDescription taskDescription (@ Nonnull ConnectorArguments arguments ) {
497- ConnectorProperty property =
498- SnowflakeLogConnectorProperties .PIPE_USAGE_HISTORY_OVERRIDE_QUERY ;
499- return new TaskDescription (
500- PipeUsageHistoryFormat .ZIP_ENTRY_PREFIX ,
501- overrideableQuery (arguments .getDefinition (property ), queryPrefix , "END_TIME" ),
502- headerClass );
503- }
504- },
505- QUERY_ACCELERATION_HISTORY (QueryAccelerationHistoryFormat .Header .class ) {
506- @ Override
507- TaskDescription taskDescription (@ Nonnull ConnectorArguments arguments ) {
508- ConnectorProperty property =
509- SnowflakeLogConnectorProperties .QUERY_ACCELERATION_HISTORY_OVERRIDE_QUERY ;
510- return new TaskDescription (
511- QueryAccelerationHistoryFormat .ZIP_ENTRY_PREFIX ,
512- overrideableQuery (arguments .getDefinition (property ), queryPrefix , "END_TIME" ),
513- headerClass ,
514- TaskCategory .OPTIONAL );
515- }
516- },
517- REPLICATION_GROUP_USAGE_HISTORY (ReplicationGroupUsageHistoryFormat .Header .class ) {
518- @ Override
519- TaskDescription taskDescription (@ Nonnull ConnectorArguments arguments ) {
520- ConnectorProperty property =
521- SnowflakeLogConnectorProperties .REPLICATION_GROUP_USAGE_HISTORY_OVERRIDE_QUERY ;
522- return new TaskDescription (
523- QueryAccelerationHistoryFormat .ZIP_ENTRY_PREFIX ,
524- overrideableQuery (arguments .getDefinition (property ), queryPrefix , "END_TIME" ),
525- headerClass ,
526- TaskCategory .OPTIONAL );
527- }
528- },
529- SERVERLESS_TASK_HISTORY (ServerlessTaskHistoryFormat .Header .class ) {
530- @ Override
531- TaskDescription taskDescription (@ Nonnull ConnectorArguments arguments ) {
532- ConnectorProperty property =
533- SnowflakeLogConnectorProperties .SERVERLESS_TASK_HISTORY_OVERRIDE_QUERY ;
534- return new TaskDescription (
535- ServerlessTaskHistoryFormat .ZIP_ENTRY_PREFIX ,
536- overrideableQuery (arguments .getDefinition (property ), queryPrefix , "END_TIME" ),
537- headerClass );
538- }
539- },
540- TASK_HISTORY (TaskHistoryFormat .Header .class ) {
541- @ Override
542- TaskDescription taskDescription (@ Nonnull ConnectorArguments arguments ) {
543- ConnectorProperty property = SnowflakeLogConnectorProperties .TASK_HISTORY_OVERRIDE_QUERY ;
544- return new TaskDescription (
545- TaskHistoryFormat .ZIP_ENTRY_PREFIX ,
546- overrideableQuery (arguments .getDefinition (property ), queryPrefix , "COMPLETED_TIME" ),
547- headerClass );
548- }
549- },
550- WAREHOUSE_LOAD_HISTORY (WarehouseLoadHistoryFormat .Header .class ) {
551- @ Override
552- TaskDescription taskDescription (@ Nonnull ConnectorArguments arguments ) {
553- ConnectorProperty property =
554- SnowflakeLogConnectorProperties .WAREHOUSE_LOAD_HISTORY_OVERRIDE_QUERY ;
555- return new TaskDescription (
556- WarehouseLoadHistoryFormat .ZIP_ENTRY_PREFIX ,
557- overrideableQuery (arguments .getDefinition (property ), queryPrefix , "END_TIME" ),
558- headerClass );
559- }
560- },
561- WAREHOUSE_METERING_HISTORY (WarehouseMeteringHistoryFormat .Header .class ) {
562- @ Override
563- TaskDescription taskDescription (@ Nonnull ConnectorArguments arguments ) {
564- ConnectorProperty property =
565- SnowflakeLogConnectorProperties .WAREHOUSE_METERING_HISTORY_OVERRIDE_QUERY ;
566- return new TaskDescription (
567- WarehouseMeteringHistoryFormat .ZIP_ENTRY_PREFIX ,
568- overrideableQuery (arguments .getDefinition (property ), queryPrefix , "END_TIME" ),
569- headerClass );
570- }
571- };
451+ WAREHOUSE_EVENTS_HISTORY (
452+ WarehouseEventsHistoryFormat .Header .class ,
453+ WarehouseEventsHistoryFormat .ZIP_ENTRY_PREFIX ,
454+ TimeSeriesColumn .TIMESTAMP ,
455+ SnowflakeLogConnectorProperties .WAREHOUSE_EVENTS_HISTORY_OVERRIDE_QUERY ),
456+ AUTOMATIC_CLUSTERING_HISTORY (
457+ AutomaticClusteringHistoryFormat .Header .class ,
458+ AutomaticClusteringHistoryFormat .ZIP_ENTRY_PREFIX ,
459+ TimeSeriesColumn .END_TIME ,
460+ SnowflakeLogConnectorProperties .AUTOMATIC_CLUSTERING_HISTORY_OVERRIDE_QUERY ),
461+ COPY_HISTORY (
462+ CopyHistoryFormat .Header .class ,
463+ CopyHistoryFormat .ZIP_ENTRY_PREFIX ,
464+ TimeSeriesColumn .LAST_LOAD_TIME ,
465+ SnowflakeLogConnectorProperties .COPY_HISTORY_OVERRIDE_QUERY ),
466+ DATABASE_REPLICATION_USAGE_HISTORY (
467+ DatabaseReplicationUsageHistoryFormat .Header .class ,
468+ DatabaseReplicationUsageHistoryFormat .ZIP_ENTRY_PREFIX ,
469+ TimeSeriesColumn .END_TIME ,
470+ SnowflakeLogConnectorProperties .DATABASE_REPLICATION_USAGE_HISTORY_OVERRIDE_QUERY ),
471+ LOGIN_HISTORY (
472+ LoginHistoryFormat .Header .class ,
473+ LoginHistoryFormat .ZIP_ENTRY_PREFIX ,
474+ TimeSeriesColumn .EVENT_TIMESTAMP ,
475+ SnowflakeLogConnectorProperties .LOGIN_HISTORY_OVERRIDE_QUERY ),
476+ METERING_DAILY_HISTORY (
477+ MeteringDailyHistoryFormat .Header .class ,
478+ MeteringDailyHistoryFormat .ZIP_ENTRY_PREFIX ,
479+ TimeSeriesColumn .USAGE_DATE ,
480+ SnowflakeLogConnectorProperties .METERING_DAILY_HISTORY_OVERRIDE_QUERY ),
481+ PIPE_USAGE_HISTORY (
482+ PipeUsageHistoryFormat .Header .class ,
483+ PipeUsageHistoryFormat .ZIP_ENTRY_PREFIX ,
484+ TimeSeriesColumn .END_TIME ,
485+ SnowflakeLogConnectorProperties .PIPE_USAGE_HISTORY_OVERRIDE_QUERY ),
486+ QUERY_ACCELERATION_HISTORY (
487+ QueryAccelerationHistoryFormat .Header .class ,
488+ QueryAccelerationHistoryFormat .ZIP_ENTRY_PREFIX ,
489+ TimeSeriesColumn .END_TIME ,
490+ SnowflakeLogConnectorProperties .QUERY_ACCELERATION_HISTORY_OVERRIDE_QUERY ),
491+ REPLICATION_GROUP_USAGE_HISTORY (
492+ ReplicationGroupUsageHistoryFormat .Header .class ,
493+ QueryAccelerationHistoryFormat .ZIP_ENTRY_PREFIX ,
494+ TimeSeriesColumn .END_TIME ,
495+ SnowflakeLogConnectorProperties .REPLICATION_GROUP_USAGE_HISTORY_OVERRIDE_QUERY ),
496+ SERVERLESS_TASK_HISTORY (
497+ ServerlessTaskHistoryFormat .Header .class ,
498+ ServerlessTaskHistoryFormat .ZIP_ENTRY_PREFIX ,
499+ TimeSeriesColumn .END_TIME ,
500+ SnowflakeLogConnectorProperties .SERVERLESS_TASK_HISTORY_OVERRIDE_QUERY ),
501+ TASK_HISTORY (
502+ TaskHistoryFormat .Header .class ,
503+ TaskHistoryFormat .ZIP_ENTRY_PREFIX ,
504+ TimeSeriesColumn .COMPLETED_TIME ,
505+ SnowflakeLogConnectorProperties .TASK_HISTORY_OVERRIDE_QUERY ),
506+ WAREHOUSE_LOAD_HISTORY (
507+ WarehouseLoadHistoryFormat .Header .class ,
508+ WarehouseLoadHistoryFormat .ZIP_ENTRY_PREFIX ,
509+ TimeSeriesColumn .END_TIME ,
510+ SnowflakeLogConnectorProperties .WAREHOUSE_LOAD_HISTORY_OVERRIDE_QUERY ),
511+ WAREHOUSE_METERING_HISTORY (
512+ WarehouseMeteringHistoryFormat .Header .class ,
513+ WarehouseMeteringHistoryFormat .ZIP_ENTRY_PREFIX ,
514+ TimeSeriesColumn .END_TIME ,
515+ SnowflakeLogConnectorProperties .WAREHOUSE_METERING_HISTORY_OVERRIDE_QUERY );
572516
573517 final Class <? extends Enum <?>> headerClass ;
518+ final ConnectorProperty property ;
574519 final String queryPrefix ;
520+ final String zipPrefix ;
521+ final TimeSeriesColumn column ;
575522
576- TimeSeriesView (Class <? extends Enum <?>> headerClass ) {
523+ TimeSeriesView (
524+ Class <? extends Enum <?>> headerClass ,
525+ String zipPrefix ,
526+ TimeSeriesColumn column ,
527+ SnowflakeLogConnectorProperties property ) {
577528 this .headerClass = headerClass ;
529+ this .property = property ;
578530 this .queryPrefix = formatPrefix (headerClass , name ());
531+ this .zipPrefix = zipPrefix ;
532+ this .column = column ;
579533 }
580534
581535 static final ImmutableList <TimeSeriesView > valuesInOrder =
@@ -593,8 +547,6 @@ TaskDescription taskDescription(@Nonnull ConnectorArguments arguments) {
593547 TASK_HISTORY ,
594548 WAREHOUSE_LOAD_HISTORY ,
595549 WAREHOUSE_METERING_HISTORY );
596-
597- abstract TaskDescription taskDescription (@ Nonnull ConnectorArguments arguments );
598550 }
599551
600552 @ Nonnull
0 commit comments