Repository: asterixdb Updated Branches: refs/heads/master 9884ff1c2 -> 5689665e3
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5689665e/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/StringPositionDescriptor.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/StringPositionDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/StringPositionDescriptor.java index 523207c..6f4d116 100644 --- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/StringPositionDescriptor.java +++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/StringPositionDescriptor.java @@ -54,7 +54,8 @@ public class StringPositionDescriptor extends AbstractScalarFunctionDynamicDescr @Override protected int compute(UTF8StringPointable left, UTF8StringPointable right) throws IOException { - return UTF8StringPointable.find(left, right, false); + int pos = UTF8StringPointable.find(left, right, false); + return pos < 0 ? pos : pos + 1; } }; } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5689665e/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/StringRegExpPositionDescriptor.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/StringRegExpPositionDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/StringRegExpPositionDescriptor.java index a41fb56..1bb0fdc 100644 --- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/StringRegExpPositionDescriptor.java +++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/StringRegExpPositionDescriptor.java @@ -58,7 +58,8 @@ public class StringRegExpPositionDescriptor extends AbstractScalarFunctionDynami protected int compute(UTF8StringPointable srcPtr, UTF8StringPointable patternPtr) throws IOException { matcher.build(srcPtr, patternPtr); - return matcher.postion(); + int pos = matcher.postion(); + return pos < 0 ? pos : pos + 1; } }; } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/5689665e/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/StringRegExpPositionWithFlagDescriptor.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/StringRegExpPositionWithFlagDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/StringRegExpPositionWithFlagDescriptor.java index ea04896..35eb3b1 100644 --- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/StringRegExpPositionWithFlagDescriptor.java +++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/StringRegExpPositionWithFlagDescriptor.java @@ -58,7 +58,8 @@ public class StringRegExpPositionWithFlagDescriptor extends AbstractScalarFuncti protected int compute(UTF8StringPointable srcPtr, UTF8StringPointable patternPtr, UTF8StringPointable flagPtr) throws IOException { matcher.build(srcPtr, patternPtr, flagPtr); - return matcher.postion(); + int pos = matcher.postion(); + return pos < 0 ? pos : pos + 1; } }; }
