You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by dl...@apache.org on 2018/05/30 17:44:35 UTC
[08/24] asterixdb git commit: [ASTERIXDB-2393][COMP][RT] Add source
location to error messages
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/LessThanDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/LessThanDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/LessThanDescriptor.java
index 4eac444..77280e5 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/LessThanDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/LessThanDescriptor.java
@@ -51,7 +51,7 @@ public class LessThanDescriptor extends AbstractScalarFunctionDynamicDescriptor
@Override
public IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws HyracksDataException {
return new AbstractValueComparisonEvaluator(args[0].createScalarEvaluator(ctx),
- args[1].createScalarEvaluator(ctx)) {
+ args[1].createScalarEvaluator(ctx), sourceLoc) {
@Override
protected boolean getComparisonResult(int r) {
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/LessThanOrEqualsDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/LessThanOrEqualsDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/LessThanOrEqualsDescriptor.java
index ad365d6..58ac40e 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/LessThanOrEqualsDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/LessThanOrEqualsDescriptor.java
@@ -51,7 +51,7 @@ public class LessThanOrEqualsDescriptor extends AbstractScalarFunctionDynamicDes
@Override
public IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws HyracksDataException {
return new AbstractValueComparisonEvaluator(args[0].createScalarEvaluator(ctx),
- args[1].createScalarEvaluator(ctx)) {
+ args[1].createScalarEvaluator(ctx), sourceLoc) {
@Override
protected boolean getComparisonResult(int r) {
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/MissingIfEqualsDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/MissingIfEqualsDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/MissingIfEqualsDescriptor.java
index 5b4f5e6..62d9957 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/MissingIfEqualsDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/MissingIfEqualsDescriptor.java
@@ -55,7 +55,7 @@ public class MissingIfEqualsDescriptor extends AbstractScalarFunctionDynamicDesc
@Override
public IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws HyracksDataException {
return new AbstractIfEqualsEvaluator(args[0].createScalarEvaluator(ctx),
- args[1].createScalarEvaluator(ctx)) {
+ args[1].createScalarEvaluator(ctx), sourceLoc) {
@SuppressWarnings("unchecked")
final ISerializerDeserializer<AMissing> missingSerde =
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NanIfEqualsDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NanIfEqualsDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NanIfEqualsDescriptor.java
index 7c6b5b2..bacf9e4 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NanIfEqualsDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NanIfEqualsDescriptor.java
@@ -56,7 +56,7 @@ public class NanIfEqualsDescriptor extends AbstractScalarFunctionDynamicDescript
@Override
public IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws HyracksDataException {
return new AbstractIfEqualsEvaluator(args[0].createScalarEvaluator(ctx),
- args[1].createScalarEvaluator(ctx)) {
+ args[1].createScalarEvaluator(ctx), sourceLoc) {
final AMutableDouble equalsResult = new AMutableDouble(Double.NaN);
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NegInfIfEqualsDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NegInfIfEqualsDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NegInfIfEqualsDescriptor.java
index 1c40357..b161ce0 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NegInfIfEqualsDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NegInfIfEqualsDescriptor.java
@@ -56,7 +56,7 @@ public class NegInfIfEqualsDescriptor extends AbstractScalarFunctionDynamicDescr
@Override
public IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws HyracksDataException {
return new AbstractIfEqualsEvaluator(args[0].createScalarEvaluator(ctx),
- args[1].createScalarEvaluator(ctx)) {
+ args[1].createScalarEvaluator(ctx), sourceLoc) {
final AMutableDouble equalsResult = new AMutableDouble(Double.NEGATIVE_INFINITY);
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NotEqualsDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NotEqualsDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NotEqualsDescriptor.java
index 17515af..b997a80 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NotEqualsDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NotEqualsDescriptor.java
@@ -51,7 +51,7 @@ public class NotEqualsDescriptor extends AbstractScalarFunctionDynamicDescriptor
@Override
public IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws HyracksDataException {
return new AbstractValueComparisonEvaluator(args[0].createScalarEvaluator(ctx),
- args[1].createScalarEvaluator(ctx)) {
+ args[1].createScalarEvaluator(ctx), sourceLoc) {
@Override
protected boolean getComparisonResult(int r) {
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NullIfEqualsDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NullIfEqualsDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NullIfEqualsDescriptor.java
index c09a75c..40f262a 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NullIfEqualsDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/NullIfEqualsDescriptor.java
@@ -55,7 +55,7 @@ public class NullIfEqualsDescriptor extends AbstractScalarFunctionDynamicDescrip
@Override
public IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws HyracksDataException {
return new AbstractIfEqualsEvaluator(args[0].createScalarEvaluator(ctx),
- args[1].createScalarEvaluator(ctx)) {
+ args[1].createScalarEvaluator(ctx), sourceLoc) {
@SuppressWarnings("unchecked")
final ISerializerDeserializer<ANull> nullSerde =
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/PosInfIfEqualsDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/PosInfIfEqualsDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/PosInfIfEqualsDescriptor.java
index 6a969b2..b02c3e5 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/PosInfIfEqualsDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/comparisons/PosInfIfEqualsDescriptor.java
@@ -56,7 +56,7 @@ public class PosInfIfEqualsDescriptor extends AbstractScalarFunctionDynamicDescr
@Override
public IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws HyracksDataException {
return new AbstractIfEqualsEvaluator(args[0].createScalarEvaluator(ctx),
- args[1].createScalarEvaluator(ctx)) {
+ args[1].createScalarEvaluator(ctx), sourceLoc) {
final AMutableDouble equalsResult = new AMutableDouble(Double.POSITIVE_INFINITY);
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ABinaryBase64StringConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ABinaryBase64StringConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ABinaryBase64StringConstructorDescriptor.java
index e5e19ca..4337f28 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ABinaryBase64StringConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ABinaryBase64StringConstructorDescriptor.java
@@ -46,7 +46,7 @@ public class ABinaryBase64StringConstructorDescriptor extends AbstractScalarFunc
@Override
public IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws HyracksDataException {
return new ABinaryHexStringConstructorDescriptor.ABinaryConstructorEvaluator(args[0],
- ByteArrayBase64ParserFactory.INSTANCE, ctx);
+ ByteArrayBase64ParserFactory.INSTANCE, ctx, sourceLoc);
}
};
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ABinaryHexStringConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ABinaryHexStringConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ABinaryHexStringConstructorDescriptor.java
index 720e9bc..9f9a5f1 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ABinaryHexStringConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ABinaryHexStringConstructorDescriptor.java
@@ -34,6 +34,7 @@ import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator;
import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
import org.apache.hyracks.api.context.IHyracksTaskContext;
import org.apache.hyracks.api.exceptions.HyracksDataException;
+import org.apache.hyracks.api.exceptions.SourceLocation;
import org.apache.hyracks.data.std.api.IPointable;
import org.apache.hyracks.data.std.primitive.UTF8StringPointable;
import org.apache.hyracks.data.std.primitive.VoidPointable;
@@ -59,7 +60,7 @@ public class ABinaryHexStringConstructorDescriptor extends AbstractScalarFunctio
@Override
public IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws HyracksDataException {
- return new ABinaryConstructorEvaluator(args[0], ByteArrayHexParserFactory.INSTANCE, ctx);
+ return new ABinaryConstructorEvaluator(args[0], ByteArrayHexParserFactory.INSTANCE, ctx, sourceLoc);
}
};
}
@@ -70,6 +71,7 @@ public class ABinaryHexStringConstructorDescriptor extends AbstractScalarFunctio
}
static class ABinaryConstructorEvaluator implements IScalarEvaluator {
+ private final SourceLocation sourceLoc;
private ArrayBackedValueStorage resultStorage = new ArrayBackedValueStorage();
private final DataOutput out = resultStorage.getDataOutput();
private final IPointable inputArg = new VoidPointable();
@@ -78,7 +80,9 @@ public class ABinaryHexStringConstructorDescriptor extends AbstractScalarFunctio
private UTF8StringPointable utf8Ptr = new UTF8StringPointable();
public ABinaryConstructorEvaluator(IScalarEvaluatorFactory copyEvaluatorFactory,
- IValueParserFactory valueParserFactory, IHyracksTaskContext context) throws HyracksDataException {
+ IValueParserFactory valueParserFactory, IHyracksTaskContext context, SourceLocation sourceLoc)
+ throws HyracksDataException {
+ this.sourceLoc = sourceLoc;
eval = copyEvaluatorFactory.createScalarEvaluator(context);
byteArrayParser = valueParserFactory.createValueParser();
}
@@ -102,11 +106,11 @@ public class ABinaryHexStringConstructorDescriptor extends AbstractScalarFunctio
byteArrayParser.parse(buffer, 0, buffer.length, out);
result.set(resultStorage);
} else {
- throw new TypeMismatchException(BuiltinFunctions.BINARY_HEX_CONSTRUCTOR, 0, tt,
+ throw new TypeMismatchException(sourceLoc, BuiltinFunctions.BINARY_HEX_CONSTRUCTOR, 0, tt,
ATypeTag.SERIALIZED_BINARY_TYPE_TAG, ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
} catch (IOException e) {
- throw new InvalidDataFormatException(BuiltinFunctions.BINARY_HEX_CONSTRUCTOR, e,
+ throw new InvalidDataFormatException(sourceLoc, BuiltinFunctions.BINARY_HEX_CONSTRUCTOR, e,
ATypeTag.SERIALIZED_BINARY_TYPE_TAG);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ABooleanConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ABooleanConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ABooleanConstructorDescriptor.java
index 2f981b9..7ddb7e4 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ABooleanConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ABooleanConstructorDescriptor.java
@@ -44,7 +44,7 @@ public class ABooleanConstructorDescriptor extends AbstractScalarFunctionDynamic
@Override
public IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws HyracksDataException {
- return new AbstractBooleanConstructorEvaluator(args[0].createScalarEvaluator(ctx)) {
+ return new AbstractBooleanConstructorEvaluator(args[0].createScalarEvaluator(ctx), sourceLoc) {
@Override
protected FunctionIdentifier getIdentifier() {
return ABooleanConstructorDescriptor.this.getIdentifier();
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ACircleConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ACircleConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ACircleConstructorDescriptor.java
index 5b0d250..0649fc8 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ACircleConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ACircleConstructorDescriptor.java
@@ -98,11 +98,11 @@ public class ACircleConstructorDescriptor extends AbstractScalarFunctionDynamicD
circleSerde.serialize(aCircle, out);
result.set(resultStorage);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt,
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt,
ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e,
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
ATypeTag.SERIALIZED_CIRCLE_TYPE_TAG);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADateConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADateConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADateConstructorDescriptor.java
index eb9b40f..9849cef 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADateConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADateConstructorDescriptor.java
@@ -93,7 +93,7 @@ public class ADateConstructorDescriptor extends AbstractScalarFunctionDynamicDes
// the string to be parsed should be at least 8 characters: YYYYMMDD
if (stringLength < 8) {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_DATE_TYPE_TAG);
}
@@ -117,11 +117,12 @@ public class ADateConstructorDescriptor extends AbstractScalarFunctionDynamicDes
dateSerde.serialize(aDate, out);
result.set(resultStorage);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt,
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt,
ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e, ATypeTag.SERIALIZED_DATE_TYPE_TAG);
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
+ ATypeTag.SERIALIZED_DATE_TYPE_TAG);
}
}
};
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADateTimeConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADateTimeConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADateTimeConstructorDescriptor.java
index f202dbe..9b71d4b 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADateTimeConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADateTimeConstructorDescriptor.java
@@ -91,7 +91,7 @@ public class ADateTimeConstructorDescriptor extends AbstractScalarFunctionDynami
int startOffset = utf8Ptr.getCharStartOffset();
// the string to be parsed should be at least 14 characters: YYYYMMDDhhmmss
if (stringLength < 14) {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_DATETIME_TYPE_TAG);
}
// +1 if it is negative (-)
@@ -102,7 +102,7 @@ public class ADateTimeConstructorDescriptor extends AbstractScalarFunctionDynami
if (serString[startOffset + timeOffset] != 'T') {
timeOffset += 2;
if (serString[startOffset + timeOffset] != 'T') {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_DATETIME_TYPE_TAG);
}
}
@@ -117,11 +117,11 @@ public class ADateTimeConstructorDescriptor extends AbstractScalarFunctionDynami
datetimeSerde.serialize(aDateTime, out);
result.set(resultStorage);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt,
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt,
ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e,
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
ATypeTag.SERIALIZED_DATETIME_TYPE_TAG);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADayTimeDurationConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADayTimeDurationConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADayTimeDurationConstructorDescriptor.java
index 0e7cc34..f6c6f09 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADayTimeDurationConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADayTimeDurationConstructorDescriptor.java
@@ -99,11 +99,11 @@ public class ADayTimeDurationConstructorDescriptor extends AbstractScalarFunctio
dayTimeDurationSerde.serialize(aDayTimeDuration, out);
result.set(resultStorage);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt,
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt,
ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
} catch (Exception e) {
- throw new InvalidDataFormatException(getIdentifier(), e,
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
ATypeTag.SERIALIZED_DAY_TIME_DURATION_TYPE_TAG);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADoubleConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADoubleConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADoubleConstructorDescriptor.java
index 87df400..f9991db 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADoubleConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADoubleConstructorDescriptor.java
@@ -44,7 +44,7 @@ public class ADoubleConstructorDescriptor extends AbstractScalarFunctionDynamicD
@Override
public IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws HyracksDataException {
- return new AbstractDoubleConstructorEvaluator(args[0].createScalarEvaluator(ctx)) {
+ return new AbstractDoubleConstructorEvaluator(args[0].createScalarEvaluator(ctx), sourceLoc) {
@Override
protected FunctionIdentifier getIdentifier() {
return ADoubleConstructorDescriptor.this.getIdentifier();
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADurationConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADurationConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADurationConstructorDescriptor.java
index df39306..f3d1ba8 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADurationConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ADurationConstructorDescriptor.java
@@ -93,11 +93,11 @@ public class ADurationConstructorDescriptor extends AbstractScalarFunctionDynami
durationSerde.serialize(aDuration, out);
result.set(resultStorage);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt,
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt,
ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e,
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
ATypeTag.SERIALIZED_DURATION_TYPE_TAG);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AFloatConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AFloatConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AFloatConstructorDescriptor.java
index b6f045e..09f2594 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AFloatConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AFloatConstructorDescriptor.java
@@ -100,11 +100,11 @@ public class AFloatConstructorDescriptor extends AbstractScalarFunctionDynamicDe
floatSerde.serialize(aFloat, out);
result.set(resultStorage);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt,
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt,
ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e,
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
ATypeTag.SERIALIZED_FLOAT_TYPE_TAG);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt16ConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt16ConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt16ConstructorDescriptor.java
index 9413cb4..ae91c46 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt16ConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt16ConstructorDescriptor.java
@@ -112,17 +112,17 @@ public class AInt16ConstructorDescriptor extends AbstractScalarFunctionDynamicDe
&& serString[offset + 2] == '6' && offset + 3 == end) {
break;
} else {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_INT16_TYPE_TAG);
}
if (value < limit + digit) {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_INT16_TYPE_TAG);
}
value = (short) (value - digit);
}
if (value > 0) {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_INT16_TYPE_TAG);
}
if (value < 0 && positive) {
@@ -133,11 +133,11 @@ public class AInt16ConstructorDescriptor extends AbstractScalarFunctionDynamicDe
int16Serde.serialize(aInt16, out);
result.set(resultStorage);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt,
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt,
ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e,
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
ATypeTag.SERIALIZED_INT16_TYPE_TAG);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt32ConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt32ConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt32ConstructorDescriptor.java
index 985d966..b4f1ae8 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt32ConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt32ConstructorDescriptor.java
@@ -111,17 +111,17 @@ public class AInt32ConstructorDescriptor extends AbstractScalarFunctionDynamicDe
&& serString[offset + 2] == '2' && offset + 3 == end) {
break;
} else {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_INT32_TYPE_TAG);
}
if (value < limit + digit) {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_INT32_TYPE_TAG);
}
value -= digit;
}
if (value > 0) {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_INT32_TYPE_TAG);
}
if (value < 0 && positive) {
@@ -132,11 +132,11 @@ public class AInt32ConstructorDescriptor extends AbstractScalarFunctionDynamicDe
int32Serde.serialize(aInt32, out);
result.set(resultStorage);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt,
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt,
ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e,
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
ATypeTag.SERIALIZED_INT32_TYPE_TAG);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt64ConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt64ConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt64ConstructorDescriptor.java
index 61a35b6..a41ec77 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt64ConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt64ConstructorDescriptor.java
@@ -44,7 +44,7 @@ public class AInt64ConstructorDescriptor extends AbstractScalarFunctionDynamicDe
@Override
public IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws HyracksDataException {
- return new AbstractInt64ConstructorEvaluator(args[0].createScalarEvaluator(ctx)) {
+ return new AbstractInt64ConstructorEvaluator(args[0].createScalarEvaluator(ctx), sourceLoc) {
@Override
public FunctionIdentifier getIdentifier() {
return AInt64ConstructorDescriptor.this.getIdentifier();
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt8ConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt8ConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt8ConstructorDescriptor.java
index e4a9d32..3132640 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt8ConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AInt8ConstructorDescriptor.java
@@ -112,17 +112,17 @@ public class AInt8ConstructorDescriptor extends AbstractScalarFunctionDynamicDes
&& offset + 2 == end) {
break;
} else {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_INT8_TYPE_TAG);
}
if (value < limit + digit) {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_INT8_TYPE_TAG);
}
value = (byte) (value - digit);
}
if (value > 0) {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_INT8_TYPE_TAG);
}
if (value < 0 && positive) {
@@ -133,11 +133,11 @@ public class AInt8ConstructorDescriptor extends AbstractScalarFunctionDynamicDes
int8Serde.serialize(aInt8, out);
result.set(resultStorage);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt,
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt,
ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
} catch (IOException e1) {
- throw new InvalidDataFormatException(getIdentifier(), e1,
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e1,
ATypeTag.SERIALIZED_INT8_TYPE_TAG);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalConstructorDescriptor.java
index 9309591..f103192 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalConstructorDescriptor.java
@@ -90,7 +90,8 @@ public class AIntervalConstructorDescriptor extends AbstractScalarFunctionDynami
try {
if (bytes0[offset0] != bytes1[offset1]) {
- throw new IncompatibleTypeException(getIdentifier(), bytes0[offset0], bytes1[offset1]);
+ throw new IncompatibleTypeException(sourceLoc, getIdentifier(), bytes0[offset0],
+ bytes1[offset1]);
}
long intervalStart, intervalEnd;
@@ -110,18 +111,18 @@ public class AIntervalConstructorDescriptor extends AbstractScalarFunctionDynami
intervalEnd = ADateTimeSerializerDeserializer.getChronon(bytes1, offset1 + 1);
break;
default:
- throw new UnsupportedItemTypeException(getIdentifier(), bytes0[offset0]);
+ throw new UnsupportedItemTypeException(sourceLoc, getIdentifier(), bytes0[offset0]);
}
if (intervalEnd < intervalStart) {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_INTERVAL_TYPE_TAG);
}
aInterval.setValue(intervalStart, intervalEnd, intervalType.serialize());
intervalSerde.serialize(aInterval, out);
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e,
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
ATypeTag.SERIALIZED_INTERVAL_TYPE_TAG);
}
result.set(resultStorage);
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalStartFromDateConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalStartFromDateConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalStartFromDateConstructorDescriptor.java
index e2a3614..b1a6d0e 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalStartFromDateConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalStartFromDateConstructorDescriptor.java
@@ -114,7 +114,7 @@ public class AIntervalStartFromDateConstructorDescriptor extends AbstractScalarF
int startOffset = utf8Ptr.getCharStartOffset();
intervalStart = ADateParserFactory.parseDatePart(bytes0, startOffset, stringLength);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, bytes0[offset0],
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, bytes0[offset0],
ATypeTag.SERIALIZED_DATE_TYPE_TAG, ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
@@ -139,7 +139,7 @@ public class AIntervalStartFromDateConstructorDescriptor extends AbstractScalarF
intervalEnd = DurationArithmeticOperations.addDuration(intervalStart,
aDuration.getMonths(), aDuration.getMilliseconds(), false);
} else {
- throw new TypeMismatchException(getIdentifier(), 1, bytes1[offset1],
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 1, bytes1[offset1],
ATypeTag.SERIALIZED_DATE_TYPE_TAG, ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
@@ -147,14 +147,14 @@ public class AIntervalStartFromDateConstructorDescriptor extends AbstractScalarF
intervalEnd = cal.getChrononInDays(intervalEnd);
if (intervalEnd < intervalStart) {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_INTERVAL_TYPE_TAG);
}
aInterval.setValue(intervalStart, intervalEnd, ATypeTag.SERIALIZED_DATE_TYPE_TAG);
intervalSerde.serialize(aInterval, out);
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e,
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
ATypeTag.SERIALIZED_INTERVAL_TYPE_TAG);
}
result.set(resultStorage);
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalStartFromDateTimeConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalStartFromDateTimeConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalStartFromDateTimeConstructorDescriptor.java
index 3e61405..8d15bff 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalStartFromDateTimeConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalStartFromDateTimeConstructorDescriptor.java
@@ -116,7 +116,7 @@ public class AIntervalStartFromDateTimeConstructorDescriptor extends AbstractSca
if (bytes0[startOffset + timeOffset] != 'T') {
timeOffset += 2;
if (argPtr0.getByteArray()[startOffset + timeOffset] != 'T') {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_INTERVAL_TYPE_TAG);
}
}
@@ -125,7 +125,7 @@ public class AIntervalStartFromDateTimeConstructorDescriptor extends AbstractSca
intervalStart += ATimeParserFactory.parseTimePart(bytes0, startOffset + timeOffset + 1,
stringLength - timeOffset - 1);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, bytes0[offset0],
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, bytes0[offset0],
ATypeTag.SERIALIZED_DATETIME_TYPE_TAG, ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
@@ -149,19 +149,19 @@ public class AIntervalStartFromDateTimeConstructorDescriptor extends AbstractSca
intervalEnd = DurationArithmeticOperations.addDuration(intervalStart,
aDuration.getMonths(), aDuration.getMilliseconds(), false);
} else {
- throw new TypeMismatchException(getIdentifier(), 1, bytes1[offset1],
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 1, bytes1[offset1],
ATypeTag.SERIALIZED_DATE_TYPE_TAG, ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
if (intervalEnd < intervalStart) {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_INTERVAL_TYPE_TAG);
}
aInterval.setValue(intervalStart, intervalEnd, ATypeTag.SERIALIZED_DATETIME_TYPE_TAG);
intervalSerde.serialize(aInterval, out);
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e,
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
ATypeTag.SERIALIZED_INTERVAL_TYPE_TAG);
}
result.set(resultStorage);
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalStartFromTimeConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalStartFromTimeConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalStartFromTimeConstructorDescriptor.java
index fa402bd..e74e77a 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalStartFromTimeConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AIntervalStartFromTimeConstructorDescriptor.java
@@ -111,7 +111,7 @@ public class AIntervalStartFromTimeConstructorDescriptor extends AbstractScalarF
intervalStart = ATimeParserFactory.parseTimePart(bytes0, utf8Ptr.getCharStartOffset(),
stringLength);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, bytes0[offset0],
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, bytes0[offset0],
ATypeTag.SERIALIZED_TIME_TYPE_TAG, ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
@@ -121,7 +121,7 @@ public class AIntervalStartFromTimeConstructorDescriptor extends AbstractScalarF
if (bytes1[offset1] == ATypeTag.SERIALIZED_DURATION_TYPE_TAG) {
if (ADurationSerializerDeserializer.getYearMonth(bytes1, offset1 + 1) != 0) {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_INTERVAL_TYPE_TAG);
}
@@ -137,14 +137,14 @@ public class AIntervalStartFromTimeConstructorDescriptor extends AbstractScalarF
ADurationParserFactory.parseDuration(bytes1, utf8Ptr.getCharStartOffset(), stringLength,
aDuration, ADurationParseOption.All);
if (aDuration.getMonths() != 0) {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_INTERVAL_TYPE_TAG);
}
intervalEnd = DurationArithmeticOperations.addDuration(intervalStart, 0,
aDuration.getMilliseconds(), false);
} else {
- throw new TypeMismatchException(getIdentifier(), 1, bytes1[offset1],
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 1, bytes1[offset1],
ATypeTag.SERIALIZED_DURATION_TYPE_TAG,
ATypeTag.SERIALIZED_DAY_TIME_DURATION_TYPE_TAG,
ATypeTag.SERIALIZED_STRING_TYPE_TAG);
@@ -155,14 +155,14 @@ public class AIntervalStartFromTimeConstructorDescriptor extends AbstractScalarF
}
if (intervalEnd < intervalStart) {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_INTERVAL_TYPE_TAG);
}
aInterval.setValue(intervalStart, intervalEnd, ATypeTag.SERIALIZED_TIME_TYPE_TAG);
intervalSerde.serialize(aInterval, out);
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e,
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
ATypeTag.SERIALIZED_INTERVAL_TYPE_TAG);
}
result.set(resultStorage);
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ALineConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ALineConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ALineConstructorDescriptor.java
index 0ef585c..39bb515 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ALineConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ALineConstructorDescriptor.java
@@ -101,11 +101,11 @@ public class ALineConstructorDescriptor extends AbstractScalarFunctionDynamicDes
lineSerde.serialize(aLine, out);
result.set(resultStorage);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt,
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt,
ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e,
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
ATypeTag.SERIALIZED_INTERVAL_TYPE_TAG);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/APoint3DConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/APoint3DConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/APoint3DConstructorDescriptor.java
index 3415f38..4b8b0bf 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/APoint3DConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/APoint3DConstructorDescriptor.java
@@ -96,11 +96,11 @@ public class APoint3DConstructorDescriptor extends AbstractScalarFunctionDynamic
point3DSerde.serialize(aPoint3D, out);
result.set(resultStorage);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt,
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt,
ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e,
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
ATypeTag.SERIALIZED_POINT3D_TYPE_TAG);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/APointConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/APointConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/APointConstructorDescriptor.java
index 24045b9..0a7c381 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/APointConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/APointConstructorDescriptor.java
@@ -92,11 +92,11 @@ public class APointConstructorDescriptor extends AbstractScalarFunctionDynamicDe
pointSerde.serialize(aPoint, out);
result.set(resultStorage);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt,
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt,
ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e,
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
ATypeTag.SERIALIZED_POINT_TYPE_TAG);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/APolygonConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/APolygonConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/APolygonConstructorDescriptor.java
index eb139b0..f88713c 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/APolygonConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/APolygonConstructorDescriptor.java
@@ -86,7 +86,7 @@ public class APolygonConstructorDescriptor extends AbstractScalarFunctionDynamic
String s = utf8Ptr.toString();
String[] points = WS.split(s.trim());
if (points.length <= 2) {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_POLYGON_TYPE_TAG);
}
out.writeByte(ATypeTag.SERIALIZED_POLYGON_TYPE_TAG);
@@ -98,11 +98,11 @@ public class APolygonConstructorDescriptor extends AbstractScalarFunctionDynamic
}
result.set(resultStorage);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt,
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt,
ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e,
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
ATypeTag.SERIALIZED_POLYGON_TYPE_TAG);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ARectangleConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ARectangleConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ARectangleConstructorDescriptor.java
index ccaf7b8..69cd147 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ARectangleConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ARectangleConstructorDescriptor.java
@@ -101,17 +101,17 @@ public class ARectangleConstructorDescriptor extends AbstractScalarFunctionDynam
} else if (aPoint[0].getX() < aPoint[1].getX() && aPoint[0].getY() < aPoint[1].getY()) {
aRectangle.setValue(aPoint[0], aPoint[1]);
} else {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_RECTANGLE_TYPE_TAG);
}
rectangle2DSerde.serialize(aRectangle, out);
result.set(resultStorage);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt,
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt,
ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e,
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
ATypeTag.SERIALIZED_RECTANGLE_TYPE_TAG);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AStringConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AStringConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AStringConstructorDescriptor.java
index 00b5475..8f0182c 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AStringConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AStringConstructorDescriptor.java
@@ -45,7 +45,7 @@ public class AStringConstructorDescriptor extends AbstractScalarFunctionDynamicD
@Override
public IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws HyracksDataException {
- return new AbstractStringConstructorEvaluator(args[0].createScalarEvaluator(ctx)) {
+ return new AbstractStringConstructorEvaluator(args[0].createScalarEvaluator(ctx), sourceLoc) {
@Override
protected FunctionIdentifier getIdentifier() {
return AStringConstructorDescriptor.this.getIdentifier();
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ATimeConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ATimeConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ATimeConstructorDescriptor.java
index c338a35..38d8e05 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ATimeConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/ATimeConstructorDescriptor.java
@@ -93,7 +93,7 @@ public class ATimeConstructorDescriptor extends AbstractScalarFunctionDynamicDes
// the string to be parsed should be at least 6 characters: hhmmss
if (stringLength < 6) {
- throw new InvalidDataFormatException(getIdentifier(),
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(),
ATypeTag.SERIALIZED_POLYGON_TYPE_TAG);
}
@@ -108,11 +108,11 @@ public class ATimeConstructorDescriptor extends AbstractScalarFunctionDynamicDes
timeSerde.serialize(aTime, out);
result.set(resultStorage);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt,
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt,
ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e,
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
ATypeTag.SERIALIZED_POLYGON_TYPE_TAG);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AUUIDFromStringConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AUUIDFromStringConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AUUIDFromStringConstructorDescriptor.java
index 64b9278..53c36bc 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AUUIDFromStringConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AUUIDFromStringConstructorDescriptor.java
@@ -99,11 +99,12 @@ public class AUUIDFromStringConstructorDescriptor extends AbstractScalarFunction
uuidSerde.serialize(uuid, out);
result.set(resultStorage);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt,
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt,
ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e, ATypeTag.SERIALIZED_UUID_TYPE_TAG);
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
+ ATypeTag.SERIALIZED_UUID_TYPE_TAG);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AYearMonthDurationConstructorDescriptor.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AYearMonthDurationConstructorDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AYearMonthDurationConstructorDescriptor.java
index b95d512..60344fc 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AYearMonthDurationConstructorDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AYearMonthDurationConstructorDescriptor.java
@@ -96,11 +96,11 @@ public class AYearMonthDurationConstructorDescriptor extends AbstractScalarFunct
yearMonthDurationSerde.serialize(aYearMonthDuration, out);
result.set(resultStorage);
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt,
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt,
ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e,
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e,
ATypeTag.SERIALIZED_YEAR_MONTH_DURATION_TYPE_TAG);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractBooleanConstructorEvaluator.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractBooleanConstructorEvaluator.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractBooleanConstructorEvaluator.java
index 9b9bf71..b78eb54 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractBooleanConstructorEvaluator.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractBooleanConstructorEvaluator.java
@@ -34,6 +34,7 @@ import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator;
import org.apache.hyracks.api.dataflow.value.IBinaryComparator;
import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer;
import org.apache.hyracks.api.exceptions.HyracksDataException;
+import org.apache.hyracks.api.exceptions.SourceLocation;
import org.apache.hyracks.data.std.api.IPointable;
import org.apache.hyracks.data.std.primitive.VoidPointable;
import org.apache.hyracks.data.std.util.ArrayBackedValueStorage;
@@ -52,12 +53,14 @@ public abstract class AbstractBooleanConstructorEvaluator implements IScalarEval
protected static final byte[] FALSE = UTF8StringUtil.writeStringToBytes("false");
protected final IScalarEvaluator inputEval;
+ protected final SourceLocation sourceLoc;
protected final IPointable inputArg;
protected final ArrayBackedValueStorage resultStorage;
protected final DataOutput out;
- protected AbstractBooleanConstructorEvaluator(IScalarEvaluator inputEval) {
+ protected AbstractBooleanConstructorEvaluator(IScalarEvaluator inputEval, SourceLocation sourceLoc) {
this.inputEval = inputEval;
+ this.sourceLoc = sourceLoc;
inputArg = new VoidPointable();
resultStorage = new ArrayBackedValueStorage();
out = resultStorage.getDataOutput();
@@ -70,7 +73,7 @@ public abstract class AbstractBooleanConstructorEvaluator implements IScalarEval
resultStorage.reset();
evaluateImpl(result);
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e, ATypeTag.SERIALIZED_BOOLEAN_TYPE_TAG);
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e, ATypeTag.SERIALIZED_BOOLEAN_TYPE_TAG);
}
}
@@ -87,10 +90,10 @@ public abstract class AbstractBooleanConstructorEvaluator implements IScalarEval
} else if (UTF8_BINARY_CMP.compare(bytes, startOffset + 1, len - 1, FALSE, 0, FALSE.length) == 0) {
setBoolean(result, false);
} else {
- throw new InvalidDataFormatException(getIdentifier(), ATypeTag.SERIALIZED_BOOLEAN_TYPE_TAG);
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), ATypeTag.SERIALIZED_BOOLEAN_TYPE_TAG);
}
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt, ATypeTag.SERIALIZED_STRING_TYPE_TAG);
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt, ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractDoubleConstructorEvaluator.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractDoubleConstructorEvaluator.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractDoubleConstructorEvaluator.java
index 456735f..5354fc0 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractDoubleConstructorEvaluator.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractDoubleConstructorEvaluator.java
@@ -34,6 +34,7 @@ import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator;
import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer;
import org.apache.hyracks.api.exceptions.HyracksDataException;
+import org.apache.hyracks.api.exceptions.SourceLocation;
import org.apache.hyracks.data.std.api.IPointable;
import org.apache.hyracks.data.std.primitive.UTF8StringPointable;
import org.apache.hyracks.data.std.primitive.VoidPointable;
@@ -46,14 +47,16 @@ public abstract class AbstractDoubleConstructorEvaluator implements IScalarEvalu
SerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(BuiltinType.ADOUBLE);
protected final IScalarEvaluator inputEval;
+ protected final SourceLocation sourceLoc;
protected final ArrayBackedValueStorage resultStorage;
protected final DataOutput out;
protected final IPointable inputArg;
protected final AMutableDouble aDouble;
protected final UTF8StringPointable utf8Ptr;
- protected AbstractDoubleConstructorEvaluator(IScalarEvaluator inputEval) {
+ protected AbstractDoubleConstructorEvaluator(IScalarEvaluator inputEval, SourceLocation sourceLoc) {
this.inputEval = inputEval;
+ this.sourceLoc = sourceLoc;
resultStorage = new ArrayBackedValueStorage();
out = resultStorage.getDataOutput();
inputArg = new VoidPointable();
@@ -68,7 +71,7 @@ public abstract class AbstractDoubleConstructorEvaluator implements IScalarEvalu
resultStorage.reset();
evaluateImpl(result);
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e, ATypeTag.SERIALIZED_DOUBLE_TYPE_TAG);
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e, ATypeTag.SERIALIZED_DOUBLE_TYPE_TAG);
}
}
@@ -87,12 +90,12 @@ public abstract class AbstractDoubleConstructorEvaluator implements IScalarEvalu
handleUparseableString(result);
}
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt, ATypeTag.SERIALIZED_STRING_TYPE_TAG);
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt, ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
}
protected void handleUparseableString(IPointable result) throws HyracksDataException {
- throw new InvalidDataFormatException(getIdentifier(), ATypeTag.SERIALIZED_DOUBLE_TYPE_TAG);
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), ATypeTag.SERIALIZED_DOUBLE_TYPE_TAG);
}
protected abstract FunctionIdentifier getIdentifier();
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractInt64ConstructorEvaluator.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractInt64ConstructorEvaluator.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractInt64ConstructorEvaluator.java
index 2f9470d..a49c1ee 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractInt64ConstructorEvaluator.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractInt64ConstructorEvaluator.java
@@ -34,6 +34,7 @@ import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator;
import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer;
import org.apache.hyracks.api.exceptions.HyracksDataException;
+import org.apache.hyracks.api.exceptions.SourceLocation;
import org.apache.hyracks.data.std.api.IPointable;
import org.apache.hyracks.data.std.primitive.UTF8StringPointable;
import org.apache.hyracks.data.std.primitive.VoidPointable;
@@ -46,14 +47,16 @@ public abstract class AbstractInt64ConstructorEvaluator implements IScalarEvalua
SerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(BuiltinType.AINT64);
protected final IScalarEvaluator inputEval;
+ protected final SourceLocation sourceLoc;
protected final IPointable inputArg;
protected final ArrayBackedValueStorage resultStorage;
protected final DataOutput out;
protected final AMutableInt64 aInt64;
protected final UTF8StringPointable utf8Ptr;
- protected AbstractInt64ConstructorEvaluator(IScalarEvaluator inputEval) {
+ protected AbstractInt64ConstructorEvaluator(IScalarEvaluator inputEval, SourceLocation sourceLoc) {
this.inputEval = inputEval;
+ this.sourceLoc = sourceLoc;
inputArg = new VoidPointable();
resultStorage = new ArrayBackedValueStorage();
out = resultStorage.getDataOutput();
@@ -68,7 +71,7 @@ public abstract class AbstractInt64ConstructorEvaluator implements IScalarEvalua
resultStorage.reset();
evaluateImpl(result);
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e, ATypeTag.SERIALIZED_INT64_TYPE_TAG);
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e, ATypeTag.SERIALIZED_INT64_TYPE_TAG);
}
}
@@ -88,12 +91,12 @@ public abstract class AbstractInt64ConstructorEvaluator implements IScalarEvalua
handleUnparseableString(result);
}
} else {
- throw new TypeMismatchException(getIdentifier(), 0, tt, ATypeTag.SERIALIZED_STRING_TYPE_TAG);
+ throw new TypeMismatchException(sourceLoc, getIdentifier(), 0, tt, ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
}
protected void handleUnparseableString(IPointable result) throws HyracksDataException {
- throw new InvalidDataFormatException(getIdentifier(), ATypeTag.SERIALIZED_INT64_TYPE_TAG);
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), ATypeTag.SERIALIZED_INT64_TYPE_TAG);
}
protected abstract FunctionIdentifier getIdentifier();
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ee54cc02/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractStringConstructorEvaluator.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractStringConstructorEvaluator.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractStringConstructorEvaluator.java
index 52d3bf6..9f2dc2d 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractStringConstructorEvaluator.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/constructors/AbstractStringConstructorEvaluator.java
@@ -36,6 +36,7 @@ import org.apache.asterix.runtime.exceptions.UnsupportedTypeException;
import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator;
import org.apache.hyracks.api.exceptions.HyracksDataException;
+import org.apache.hyracks.api.exceptions.SourceLocation;
import org.apache.hyracks.data.std.api.IPointable;
import org.apache.hyracks.data.std.primitive.VoidPointable;
import org.apache.hyracks.data.std.util.ArrayBackedValueStorage;
@@ -46,17 +47,19 @@ import org.apache.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
public abstract class AbstractStringConstructorEvaluator implements IScalarEvaluator {
protected final IScalarEvaluator inputEval;
+ protected final SourceLocation sourceLoc;
protected final IPointable inputArg;
protected final ArrayBackedValueStorage resultStorage;
protected final DataOutput out;
protected final UTF8StringBuilder builder;
protected final GrowableArray baaos;
- protected AbstractStringConstructorEvaluator(IScalarEvaluator inputEval) {
+ protected AbstractStringConstructorEvaluator(IScalarEvaluator inputEval, SourceLocation sourceLoc) {
+ this.inputEval = inputEval;
+ this.sourceLoc = sourceLoc;
resultStorage = new ArrayBackedValueStorage();
out = resultStorage.getDataOutput();
inputArg = new VoidPointable();
- this.inputEval = inputEval;
builder = new UTF8StringBuilder();
baaos = new GrowableArray();
}
@@ -68,7 +71,7 @@ public abstract class AbstractStringConstructorEvaluator implements IScalarEvalu
resultStorage.reset();
evaluateImpl(result);
} catch (IOException e) {
- throw new InvalidDataFormatException(getIdentifier(), e, ATypeTag.SERIALIZED_STRING_TYPE_TAG);
+ throw new InvalidDataFormatException(sourceLoc, getIdentifier(), e, ATypeTag.SERIALIZED_STRING_TYPE_TAG);
}
}
@@ -156,7 +159,7 @@ public abstract class AbstractStringConstructorEvaluator implements IScalarEvalu
case MULTISET:
case UUID:
default:
- throw new UnsupportedTypeException(getIdentifier(), serString[offset]);
+ throw new UnsupportedTypeException(sourceLoc, getIdentifier(), serString[offset]);
}
builder.finish();
out.write(ATypeTag.SERIALIZED_STRING_TYPE_TAG);