Repository: calcite
Updated Branches:
refs/heads/master 2817bda61 -> 9589a3606
[CALCITE-2498] fix bug when geode adapter quotes booleans as strings (Andrei
Sereda)
GeodeFilter was incorrectly quoting boolean literals as SQL strings ('true'
instead of true)
fixes #809
Project: http://git-wip-us.apache.org/repos/asf/calcite/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/9589a360
Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/9589a360
Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/9589a360
Branch: refs/heads/master
Commit: 9589a360656a752be73fb27ce285cd32b22bc0e0
Parents: 2817bda
Author: Andrei Sereda <[email protected]>
Authored: Tue Aug 28 18:08:09 2018 -0400
Committer: Vladimir Sitnikov <[email protected]>
Committed: Sat Sep 1 04:55:29 2018 +0300
----------------------------------------------------------------------
.../java/org/apache/calcite/adapter/geode/rel/GeodeFilter.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/calcite/blob/9589a360/geode/src/main/java/org/apache/calcite/adapter/geode/rel/GeodeFilter.java
----------------------------------------------------------------------
diff --git
a/geode/src/main/java/org/apache/calcite/adapter/geode/rel/GeodeFilter.java
b/geode/src/main/java/org/apache/calcite/adapter/geode/rel/GeodeFilter.java
index e4e5ac9..ca0b482 100644
--- a/geode/src/main/java/org/apache/calcite/adapter/geode/rel/GeodeFilter.java
+++ b/geode/src/main/java/org/apache/calcite/adapter/geode/rel/GeodeFilter.java
@@ -36,6 +36,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import static org.apache.calcite.sql.type.SqlTypeName.BOOLEAN_TYPES;
import static org.apache.calcite.sql.type.SqlTypeName.CHAR;
import static org.apache.calcite.sql.type.SqlTypeName.NUMERIC_TYPES;
@@ -225,7 +226,7 @@ public class GeodeFilter extends Filter implements GeodeRel
{
private String translateOp2(String op, String name, RexLiteral right) {
String valueString = literalValue(right);
SqlTypeName typeName = rowType.getField(name, true,
false).getType().getSqlTypeName();
- if (NUMERIC_TYPES.contains(typeName)) {
+ if (NUMERIC_TYPES.contains(typeName) ||
BOOLEAN_TYPES.contains(typeName)) {
// leave the value as it is
} else if (typeName != SqlTypeName.CHAR) {
valueString = "'" + valueString + "'";