PHOENIX-1987 SIGN built-in function should be order preserving (Shuxiong Ye)
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/47466e31 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/47466e31 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/47466e31 Branch: refs/heads/calcite Commit: 47466e317db72d651c120b1c04bf687abfe10e34 Parents: 6c3d50a Author: James Taylor <jamestay...@apache.org> Authored: Thu Jun 4 14:24:06 2015 -0700 Committer: James Taylor <jamestay...@apache.org> Committed: Thu Jun 4 14:24:06 2015 -0700 ---------------------------------------------------------------------- .../org/apache/phoenix/expression/function/SignFunction.java | 5 +++++ .../java/org/apache/phoenix/expression/SignFunctionTest.java | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/47466e31/phoenix-core/src/main/java/org/apache/phoenix/expression/function/SignFunction.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/SignFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/SignFunction.java index 0b470f8..a11eaff 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/SignFunction.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/SignFunction.java @@ -71,4 +71,9 @@ public class SignFunction extends ScalarFunction { public String getName() { return NAME; } + + @Override + public OrderPreserving preservesOrder() { + return OrderPreserving.YES; + } } http://git-wip-us.apache.org/repos/asf/phoenix/blob/47466e31/phoenix-core/src/test/java/org/apache/phoenix/expression/SignFunctionTest.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/test/java/org/apache/phoenix/expression/SignFunctionTest.java b/phoenix-core/src/test/java/org/apache/phoenix/expression/SignFunctionTest.java index 37d6e1d..e4a5f80 100644 --- a/phoenix-core/src/test/java/org/apache/phoenix/expression/SignFunctionTest.java +++ b/phoenix-core/src/test/java/org/apache/phoenix/expression/SignFunctionTest.java @@ -54,7 +54,8 @@ public class SignFunctionTest { Expression signFunction = new SignFunction(expressions); ImmutableBytesWritable ptr = new ImmutableBytesWritable(); signFunction.evaluate(null, ptr); - Integer result = (Integer) signFunction.getDataType().toObject(ptr); + Integer result = + (Integer) signFunction.getDataType().toObject(ptr, signFunction.getSortOrder()); assertTrue(result.compareTo(expected) == 0); }