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