From f7432dabcf05a0cbea546026b27ea606a5b36653 Mon Sep 17 00:00:00 2001 From: Fernando Velasquez Date: Wed, 16 Mar 2022 23:05:17 -0400 Subject: [PATCH] Added support for ANY filters when building deduplicate aggregations --- .../builder/BigQueryBaseSQLBuilder.java | 3 ++ .../BigQueryDeduplicateSQLBuilder.java | 31 ++++++++++++------- .../BigQueryDeduplicateSQLBuilderTest.java | 30 ++++++++++++------ 3 files changed, 44 insertions(+), 20 deletions(-) diff --git a/src/main/java/io/cdap/plugin/gcp/bigquery/sqlengine/builder/BigQueryBaseSQLBuilder.java b/src/main/java/io/cdap/plugin/gcp/bigquery/sqlengine/builder/BigQueryBaseSQLBuilder.java index d06fd108b9..e82f6933ec 100644 --- a/src/main/java/io/cdap/plugin/gcp/bigquery/sqlengine/builder/BigQueryBaseSQLBuilder.java +++ b/src/main/java/io/cdap/plugin/gcp/bigquery/sqlengine/builder/BigQueryBaseSQLBuilder.java @@ -50,6 +50,9 @@ public abstract class BigQueryBaseSQLBuilder { public static final String ROW_NUMBER_PARTITION_COLUMN = "ROW_NUMBER() OVER ( PARTITION BY %s ORDER BY %s ) AS `%s`"; public static final String NULLS_LAST = "NULLS LAST"; + public static final String IFNULL_FUNCTION = "IFNULL"; + public static final String ZERO = "0"; + public static final String ONE = "1"; /** * Builds SQL statement diff --git a/src/main/java/io/cdap/plugin/gcp/bigquery/sqlengine/builder/BigQueryDeduplicateSQLBuilder.java b/src/main/java/io/cdap/plugin/gcp/bigquery/sqlengine/builder/BigQueryDeduplicateSQLBuilder.java index 8d37bbc71b..cfb6f54288 100644 --- a/src/main/java/io/cdap/plugin/gcp/bigquery/sqlengine/builder/BigQueryDeduplicateSQLBuilder.java +++ b/src/main/java/io/cdap/plugin/gcp/bigquery/sqlengine/builder/BigQueryDeduplicateSQLBuilder.java @@ -134,18 +134,27 @@ protected String getOrderByFields(List