You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by gi...@apache.org on 2019/06/06 21:36:19 UTC

[incubator-druid] branch master updated: allow sql lookup function to take advantage of injective lookups (#7655)

This is an automated email from the ASF dual-hosted git repository.

gian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-druid.git


The following commit(s) were added to refs/heads/master by this push:
     new 12a1ecf  allow sql lookup function to take advantage of injective lookups (#7655)
12a1ecf is described below

commit 12a1ecfc2b2dfa62faf6a278ee5207cc29461de5
Author: Clint Wylie <cw...@apache.org>
AuthorDate: Thu Jun 6 14:36:10 2019 -0700

    allow sql lookup function to take advantage of injective lookups (#7655)
---
 .../org/apache/druid/query/lookup/LookupExtractionFn.java    |  4 ++--
 .../druid/query/lookup/RegisteredLookupExtractionFn.java     | 12 +++++++-----
 .../expression/builtin/QueryLookupOperatorConversion.java    |  2 +-
 .../java/org/apache/druid/sql/calcite/CalciteQueryTest.java  |  4 ++--
 4 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/processing/src/main/java/org/apache/druid/query/lookup/LookupExtractionFn.java b/processing/src/main/java/org/apache/druid/query/lookup/LookupExtractionFn.java
index a774aee..9266cf2 100644
--- a/processing/src/main/java/org/apache/druid/query/lookup/LookupExtractionFn.java
+++ b/processing/src/main/java/org/apache/druid/query/lookup/LookupExtractionFn.java
@@ -41,8 +41,8 @@ public class LookupExtractionFn extends FunctionalExtraction
       @JsonProperty("lookup") final LookupExtractor lookup,
       @JsonProperty("retainMissingValue") final boolean retainMissingValue,
       @Nullable @JsonProperty("replaceMissingValueWith") final String replaceMissingValueWith,
-      @JsonProperty("injective") final Boolean injective,
-      @JsonProperty("optimize") final Boolean optimize
+      @Nullable @JsonProperty("injective") final Boolean injective,
+      @Nullable @JsonProperty("optimize") final Boolean optimize
   )
   {
     super(
diff --git a/processing/src/main/java/org/apache/druid/query/lookup/RegisteredLookupExtractionFn.java b/processing/src/main/java/org/apache/druid/query/lookup/RegisteredLookupExtractionFn.java
index 6595d6c..e8280b8 100644
--- a/processing/src/main/java/org/apache/druid/query/lookup/RegisteredLookupExtractionFn.java
+++ b/processing/src/main/java/org/apache/druid/query/lookup/RegisteredLookupExtractionFn.java
@@ -48,7 +48,7 @@ public class RegisteredLookupExtractionFn implements ExtractionFn
       @JsonProperty("lookup") String lookup,
       @JsonProperty("retainMissingValue") final boolean retainMissingValue,
       @Nullable @JsonProperty("replaceMissingValueWith") final String replaceMissingValueWith,
-      @JsonProperty("injective") final Boolean injective,
+      @Nullable @JsonProperty("injective") final Boolean injective,
       @JsonProperty("optimize") Boolean optimize
   )
   {
@@ -73,12 +73,14 @@ public class RegisteredLookupExtractionFn implements ExtractionFn
     return retainMissingValue;
   }
 
+  @Nullable
   @JsonProperty("replaceMissingValueWith")
   public String getReplaceMissingValueWith()
   {
     return replaceMissingValueWith;
   }
 
+  @Nullable
   @JsonProperty("injective")
   public Boolean isInjective()
   {
@@ -151,10 +153,10 @@ public class RegisteredLookupExtractionFn implements ExtractionFn
 
           delegate = new LookupExtractionFn(
               factory,
-              isRetainMissingValue(),
-              getReplaceMissingValueWith(),
-              injective == null ? factory.isOneToOne() : injective,
-              isOptimize()
+              retainMissingValue,
+              replaceMissingValueWith,
+              injective,
+              optimize
           );
         }
       }
diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/QueryLookupOperatorConversion.java b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/QueryLookupOperatorConversion.java
index c4a2c69..3b6607d 100644
--- a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/QueryLookupOperatorConversion.java
+++ b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/QueryLookupOperatorConversion.java
@@ -81,7 +81,7 @@ public class QueryLookupOperatorConversion implements SqlOperatorConversion
                     (String) lookupNameExpr.getLiteralValue(),
                     false,
                     null,
-                    false,
+                    null,
                     true
                 )
             );
diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteQueryTest.java b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteQueryTest.java
index b130511..1f1e0b4 100644
--- a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteQueryTest.java
+++ b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteQueryTest.java
@@ -5887,7 +5887,7 @@ public class CalciteQueryTest extends BaseCalciteQueryTest
         "lookyloo",
         false,
         null,
-        false,
+        null,
         true
     );
 
@@ -5940,7 +5940,7 @@ public class CalciteQueryTest extends BaseCalciteQueryTest
         "lookyloo",
         false,
         null,
-        false,
+        null,
         true
     );
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org