You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vxquery.apache.org by pr...@apache.org on 2012/08/16 01:50:45 UTC
svn commit: r1373674 -
/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/
Author: prestonc
Date: Wed Aug 15 23:50:44 2012
New Revision: 1373674
URL: http://svn.apache.org/viewvc?rev=1373674&view=rev
Log:
VXQUERY-55 and VXQUERY-50 Added the derived types and fixed a few calls to the array backed value store.
Added:
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsByteOperation.java (with props)
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsIntOperation.java (with props)
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsLongOperation.java (with props)
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNegativeIntegerOperation.java (with props)
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNonNegativeIntegerOperation.java (with props)
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNonPositiveIntegerOperation.java (with props)
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsPositiveIntegerOperation.java (with props)
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsShortOperation.java (with props)
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedByteOperation.java (with props)
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedIntOperation.java (with props)
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedLongOperation.java (with props)
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedShortOperation.java (with props)
Modified:
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsBase64BinaryOperation.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDTDurationOperation.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDateOperation.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDateTimeOperation.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDecimalOperation.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDoubleOperation.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDurationOperation.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsFloatOperation.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGDayOperation.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGMonthDayOperation.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGMonthOperation.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGYearMonthOperation.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGYearOperation.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsHexBinaryOperation.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsIntegerOperation.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsTimeOperation.java
incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsYMDurationOperation.java
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsBase64BinaryOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsBase64BinaryOperation.java?rev=1373674&r1=1373673&r2=1373674&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsBase64BinaryOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsBase64BinaryOperation.java Wed Aug 15 23:50:44 2012
@@ -31,6 +31,7 @@ public class CastableAsBase64BinaryOpera
public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToBase64BinaryOperation castTo = new CastToBase64BinaryOperation();
castTo.convertString(stringp, dOutInner);
} catch (Exception e) {
Added: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsByteOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsByteOperation.java?rev=1373674&view=auto
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsByteOperation.java (added)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsByteOperation.java Wed Aug 15 23:50:44 2012
@@ -0,0 +1,96 @@
+package org.apache.vxquery.runtime.functions.castable;
+
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.vxquery.datamodel.accessors.atomic.XSDecimalPointable;
+import org.apache.vxquery.datamodel.values.ValueTag;
+import org.apache.vxquery.exceptions.SystemException;
+import org.apache.vxquery.runtime.functions.cast.CastToByteOperation;
+
+import edu.uci.ics.hyracks.data.std.primitive.BooleanPointable;
+import edu.uci.ics.hyracks.data.std.primitive.BytePointable;
+import edu.uci.ics.hyracks.data.std.primitive.DoublePointable;
+import edu.uci.ics.hyracks.data.std.primitive.FloatPointable;
+import edu.uci.ics.hyracks.data.std.primitive.LongPointable;
+import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
+import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
+
+public class CastableAsByteOperation extends AbstractCastableAsOperation {
+ private ArrayBackedValueStorage abvsInner = new ArrayBackedValueStorage();
+ private DataOutput dOutInner = abvsInner.getDataOutput();
+
+ @Override
+ public void convertBoolean(BooleanPointable boolp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ @Override
+ public void convertDecimal(XSDecimalPointable decp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ @Override
+ public void convertDouble(DoublePointable doublep, DataOutput dOut) throws SystemException, IOException {
+ boolean castable = true;
+ try {
+ abvsInner.reset();
+ CastToByteOperation castTo = new CastToByteOperation();
+ castTo.convertDouble(doublep, dOutInner);
+ } catch (Exception e) {
+ castable = false;
+ }
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) (castable ? 1 : 0));
+ }
+
+ @Override
+ public void convertFloat(FloatPointable floatp, DataOutput dOut) throws SystemException, IOException {
+ boolean castable = true;
+ try {
+ abvsInner.reset();
+ CastToByteOperation castTo = new CastToByteOperation();
+ castTo.convertFloat(floatp, dOutInner);
+ } catch (Exception e) {
+ castable = false;
+ }
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) (castable ? 1 : 0));
+ }
+
+ @Override
+ public void convertInteger(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ @Override
+ public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
+ boolean castable = true;
+ try {
+ abvsInner.reset();
+ CastToByteOperation castTo = new CastToByteOperation();
+ castTo.convertString(stringp, dOutInner);
+ } catch (Exception e) {
+ castable = false;
+ }
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) (castable ? 1 : 0));
+ }
+
+ @Override
+ public void convertUntypedAtomic(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
+ convertString(stringp, dOut);
+ }
+
+ /**
+ * Derived Datatypes
+ */
+ public void convertByte(BytePointable bytep, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+}
\ No newline at end of file
Propchange: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsByteOperation.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDTDurationOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDTDurationOperation.java?rev=1373674&r1=1373673&r2=1373674&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDTDurationOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDTDurationOperation.java Wed Aug 15 23:50:44 2012
@@ -32,6 +32,7 @@ public class CastableAsDTDurationOperati
public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToDTDurationOperation castTo = new CastToDTDurationOperation();
castTo.convertString(stringp, dOutInner);
} catch (Exception e) {
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDateOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDateOperation.java?rev=1373674&r1=1373673&r2=1373674&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDateOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDateOperation.java Wed Aug 15 23:50:44 2012
@@ -32,6 +32,7 @@ public class CastableAsDateOperation ext
public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToDateOperation castTo = new CastToDateOperation();
castTo.convertString(stringp, dOutInner);
} catch (Exception e) {
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDateTimeOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDateTimeOperation.java?rev=1373674&r1=1373673&r2=1373674&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDateTimeOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDateTimeOperation.java Wed Aug 15 23:50:44 2012
@@ -32,6 +32,7 @@ public class CastableAsDateTimeOperation
public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToDateTimeOperation castTo = new CastToDateTimeOperation();
castTo.convertString(stringp, dOutInner);
} catch (Exception e) {
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDecimalOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDecimalOperation.java?rev=1373674&r1=1373673&r2=1373674&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDecimalOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDecimalOperation.java Wed Aug 15 23:50:44 2012
@@ -35,6 +35,7 @@ public class CastableAsDecimalOperation
public void convertDouble(DoublePointable doublep, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToDecimalOperation castTo = new CastToDecimalOperation();
castTo.convertDouble(doublep, dOutInner);
} catch (Exception e) {
@@ -48,6 +49,7 @@ public class CastableAsDecimalOperation
public void convertFloat(FloatPointable floatp, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToDecimalOperation castTo = new CastToDecimalOperation();
castTo.convertFloat(floatp, dOutInner);
} catch (Exception e) {
@@ -67,6 +69,7 @@ public class CastableAsDecimalOperation
public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToDecimalOperation castTo = new CastToDecimalOperation();
castTo.convertString(stringp, dOutInner);
} catch (Exception e) {
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDoubleOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDoubleOperation.java?rev=1373674&r1=1373673&r2=1373674&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDoubleOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDoubleOperation.java Wed Aug 15 23:50:44 2012
@@ -9,9 +9,12 @@ import org.apache.vxquery.exceptions.Sys
import org.apache.vxquery.runtime.functions.cast.CastToDoubleOperation;
import edu.uci.ics.hyracks.data.std.primitive.BooleanPointable;
+import edu.uci.ics.hyracks.data.std.primitive.BytePointable;
import edu.uci.ics.hyracks.data.std.primitive.DoublePointable;
import edu.uci.ics.hyracks.data.std.primitive.FloatPointable;
+import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
import edu.uci.ics.hyracks.data.std.primitive.LongPointable;
+import edu.uci.ics.hyracks.data.std.primitive.ShortPointable;
import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
@@ -53,6 +56,7 @@ public class CastableAsDoubleOperation e
public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToDoubleOperation castTo = new CastToDoubleOperation();
castTo.convertString(stringp, dOutInner);
} catch (Exception e) {
@@ -67,4 +71,66 @@ public class CastableAsDoubleOperation e
convertString(stringp, dOut);
}
+ /**
+ * Derived Datatypes
+ */
+ public void convertByte(BytePointable bytep, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertInt(IntegerPointable intp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertLong(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertNegativeInteger(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertNonNegativeInteger(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertNonPositiveInteger(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertPositiveInteger(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertShort(ShortPointable shortp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertUnsignedByte(BytePointable bytep, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertUnsignedInt(IntegerPointable intp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertUnsignedLong(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertUnsignedShort(ShortPointable shortp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
}
\ No newline at end of file
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDurationOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDurationOperation.java?rev=1373674&r1=1373673&r2=1373674&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDurationOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsDurationOperation.java Wed Aug 15 23:50:44 2012
@@ -32,6 +32,7 @@ public class CastableAsDurationOperation
public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToDurationOperation castTo = new CastToDurationOperation();
castTo.convertString(stringp, dOutInner);
} catch (Exception e) {
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsFloatOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsFloatOperation.java?rev=1373674&r1=1373673&r2=1373674&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsFloatOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsFloatOperation.java Wed Aug 15 23:50:44 2012
@@ -9,9 +9,12 @@ import org.apache.vxquery.exceptions.Sys
import org.apache.vxquery.runtime.functions.cast.CastToFloatOperation;
import edu.uci.ics.hyracks.data.std.primitive.BooleanPointable;
+import edu.uci.ics.hyracks.data.std.primitive.BytePointable;
import edu.uci.ics.hyracks.data.std.primitive.DoublePointable;
import edu.uci.ics.hyracks.data.std.primitive.FloatPointable;
+import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
import edu.uci.ics.hyracks.data.std.primitive.LongPointable;
+import edu.uci.ics.hyracks.data.std.primitive.ShortPointable;
import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
@@ -53,6 +56,7 @@ public class CastableAsFloatOperation ex
public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToFloatOperation castTo = new CastToFloatOperation();
castTo.convertString(stringp, dOutInner);
} catch (Exception e) {
@@ -67,4 +71,66 @@ public class CastableAsFloatOperation ex
convertString(stringp, dOut);
}
+ /**
+ * Derived Datatypes
+ */
+ public void convertByte(BytePointable bytep, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertInt(IntegerPointable intp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertLong(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertNegativeInteger(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertNonNegativeInteger(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertNonPositiveInteger(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertPositiveInteger(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertShort(ShortPointable shortp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertUnsignedByte(BytePointable bytep, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertUnsignedInt(IntegerPointable intp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertUnsignedLong(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertUnsignedShort(ShortPointable shortp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
}
\ No newline at end of file
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGDayOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGDayOperation.java?rev=1373674&r1=1373673&r2=1373674&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGDayOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGDayOperation.java Wed Aug 15 23:50:44 2012
@@ -38,6 +38,7 @@ public class CastableAsGDayOperation ext
public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToGDayOperation castTo = new CastToGDayOperation();
castTo.convertString(stringp, dOutInner);
} catch (Exception e) {
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGMonthDayOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGMonthDayOperation.java?rev=1373674&r1=1373673&r2=1373674&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGMonthDayOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGMonthDayOperation.java Wed Aug 15 23:50:44 2012
@@ -38,6 +38,7 @@ public class CastableAsGMonthDayOperatio
public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToGMonthDayOperation castTo = new CastToGMonthDayOperation();
castTo.convertString(stringp, dOutInner);
} catch (Exception e) {
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGMonthOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGMonthOperation.java?rev=1373674&r1=1373673&r2=1373674&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGMonthOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGMonthOperation.java Wed Aug 15 23:50:44 2012
@@ -38,6 +38,7 @@ public class CastableAsGMonthOperation e
public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToGMonthOperation castTo = new CastToGMonthOperation();
castTo.convertString(stringp, dOutInner);
} catch (Exception e) {
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGYearMonthOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGYearMonthOperation.java?rev=1373674&r1=1373673&r2=1373674&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGYearMonthOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGYearMonthOperation.java Wed Aug 15 23:50:44 2012
@@ -38,6 +38,7 @@ public class CastableAsGYearMonthOperati
public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToGYearMonthOperation castTo = new CastToGYearMonthOperation();
castTo.convertString(stringp, dOutInner);
} catch (Exception e) {
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGYearOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGYearOperation.java?rev=1373674&r1=1373673&r2=1373674&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGYearOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsGYearOperation.java Wed Aug 15 23:50:44 2012
@@ -38,6 +38,7 @@ public class CastableAsGYearOperation ex
public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToGYearOperation castTo = new CastToGYearOperation();
castTo.convertString(stringp, dOutInner);
} catch (Exception e) {
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsHexBinaryOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsHexBinaryOperation.java?rev=1373674&r1=1373673&r2=1373674&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsHexBinaryOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsHexBinaryOperation.java Wed Aug 15 23:50:44 2012
@@ -31,6 +31,7 @@ public class CastableAsHexBinaryOperatio
public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToHexBinaryOperation castTo = new CastToHexBinaryOperation();
castTo.convertString(stringp, dOutInner);
} catch (Exception e) {
Added: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsIntOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsIntOperation.java?rev=1373674&view=auto
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsIntOperation.java (added)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsIntOperation.java Wed Aug 15 23:50:44 2012
@@ -0,0 +1,117 @@
+package org.apache.vxquery.runtime.functions.castable;
+
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.vxquery.datamodel.accessors.atomic.XSDecimalPointable;
+import org.apache.vxquery.datamodel.values.ValueTag;
+import org.apache.vxquery.exceptions.SystemException;
+import org.apache.vxquery.runtime.functions.cast.CastToIntOperation;
+
+import edu.uci.ics.hyracks.data.std.primitive.BooleanPointable;
+import edu.uci.ics.hyracks.data.std.primitive.BytePointable;
+import edu.uci.ics.hyracks.data.std.primitive.DoublePointable;
+import edu.uci.ics.hyracks.data.std.primitive.FloatPointable;
+import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
+import edu.uci.ics.hyracks.data.std.primitive.LongPointable;
+import edu.uci.ics.hyracks.data.std.primitive.ShortPointable;
+import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
+import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
+
+public class CastableAsIntOperation extends AbstractCastableAsOperation {
+ private ArrayBackedValueStorage abvsInner = new ArrayBackedValueStorage();
+ private DataOutput dOutInner = abvsInner.getDataOutput();
+
+ @Override
+ public void convertBoolean(BooleanPointable boolp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ @Override
+ public void convertDecimal(XSDecimalPointable decp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ @Override
+ public void convertDouble(DoublePointable doublep, DataOutput dOut) throws SystemException, IOException {
+ boolean castable = true;
+ try {
+ abvsInner.reset();
+ CastToIntOperation castTo = new CastToIntOperation();
+ castTo.convertDouble(doublep, dOutInner);
+ } catch (Exception e) {
+ castable = false;
+ }
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) (castable ? 1 : 0));
+ }
+
+ @Override
+ public void convertFloat(FloatPointable floatp, DataOutput dOut) throws SystemException, IOException {
+ boolean castable = true;
+ try {
+ abvsInner.reset();
+ CastToIntOperation castTo = new CastToIntOperation();
+ castTo.convertFloat(floatp, dOutInner);
+ } catch (Exception e) {
+ castable = false;
+ }
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) (castable ? 1 : 0));
+ }
+
+ @Override
+ public void convertInteger(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ @Override
+ public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
+ boolean castable = true;
+ try {
+ abvsInner.reset();
+ CastToIntOperation castTo = new CastToIntOperation();
+ castTo.convertString(stringp, dOutInner);
+ } catch (Exception e) {
+ castable = false;
+ }
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) (castable ? 1 : 0));
+ }
+
+ @Override
+ public void convertUntypedAtomic(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
+ convertString(stringp, dOut);
+ }
+
+ /**
+ * Derived Datatypes
+ */
+ public void convertByte(BytePointable bytep, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertInt(IntegerPointable intp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertShort(ShortPointable shortp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertUnsignedByte(BytePointable bytep, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertUnsignedShort(ShortPointable shortp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+}
\ No newline at end of file
Propchange: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsIntOperation.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsIntegerOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsIntegerOperation.java?rev=1373674&r1=1373673&r2=1373674&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsIntegerOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsIntegerOperation.java Wed Aug 15 23:50:44 2012
@@ -9,9 +9,12 @@ import org.apache.vxquery.exceptions.Sys
import org.apache.vxquery.runtime.functions.cast.CastToIntegerOperation;
import edu.uci.ics.hyracks.data.std.primitive.BooleanPointable;
+import edu.uci.ics.hyracks.data.std.primitive.BytePointable;
import edu.uci.ics.hyracks.data.std.primitive.DoublePointable;
import edu.uci.ics.hyracks.data.std.primitive.FloatPointable;
+import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
import edu.uci.ics.hyracks.data.std.primitive.LongPointable;
+import edu.uci.ics.hyracks.data.std.primitive.ShortPointable;
import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
@@ -35,6 +38,7 @@ public class CastableAsIntegerOperation
public void convertDouble(DoublePointable doublep, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToIntegerOperation castTo = new CastToIntegerOperation();
castTo.convertDouble(doublep, dOutInner);
} catch (Exception e) {
@@ -48,6 +52,7 @@ public class CastableAsIntegerOperation
public void convertFloat(FloatPointable floatp, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToIntegerOperation castTo = new CastToIntegerOperation();
castTo.convertFloat(floatp, dOutInner);
} catch (Exception e) {
@@ -67,6 +72,7 @@ public class CastableAsIntegerOperation
public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToIntegerOperation castTo = new CastToIntegerOperation();
castTo.convertString(stringp, dOutInner);
} catch (Exception e) {
@@ -81,4 +87,66 @@ public class CastableAsIntegerOperation
convertString(stringp, dOut);
}
+ /**
+ * Derived Datatypes
+ */
+ public void convertByte(BytePointable bytep, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertInt(IntegerPointable intp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertLong(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertNegativeInteger(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertNonNegativeInteger(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertNonPositiveInteger(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertPositiveInteger(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertShort(ShortPointable shortp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertUnsignedByte(BytePointable bytep, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertUnsignedInt(IntegerPointable intp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertUnsignedLong(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertUnsignedShort(ShortPointable shortp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
}
\ No newline at end of file
Added: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsLongOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsLongOperation.java?rev=1373674&view=auto
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsLongOperation.java (added)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsLongOperation.java Wed Aug 15 23:50:44 2012
@@ -0,0 +1,6 @@
+package org.apache.vxquery.runtime.functions.castable;
+
+
+public class CastableAsLongOperation extends CastableAsIntegerOperation {
+
+}
\ No newline at end of file
Propchange: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsLongOperation.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNegativeIntegerOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNegativeIntegerOperation.java?rev=1373674&view=auto
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNegativeIntegerOperation.java (added)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNegativeIntegerOperation.java Wed Aug 15 23:50:44 2012
@@ -0,0 +1,6 @@
+package org.apache.vxquery.runtime.functions.castable;
+
+
+public class CastableAsNegativeIntegerOperation extends CastableAsIntegerOperation {
+
+}
\ No newline at end of file
Propchange: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNegativeIntegerOperation.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNonNegativeIntegerOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNonNegativeIntegerOperation.java?rev=1373674&view=auto
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNonNegativeIntegerOperation.java (added)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNonNegativeIntegerOperation.java Wed Aug 15 23:50:44 2012
@@ -0,0 +1,6 @@
+package org.apache.vxquery.runtime.functions.castable;
+
+
+public class CastableAsNonNegativeIntegerOperation extends CastableAsIntegerOperation {
+
+}
\ No newline at end of file
Propchange: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNonNegativeIntegerOperation.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNonPositiveIntegerOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNonPositiveIntegerOperation.java?rev=1373674&view=auto
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNonPositiveIntegerOperation.java (added)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNonPositiveIntegerOperation.java Wed Aug 15 23:50:44 2012
@@ -0,0 +1,6 @@
+package org.apache.vxquery.runtime.functions.castable;
+
+
+public class CastableAsNonPositiveIntegerOperation extends CastableAsIntegerOperation {
+
+}
\ No newline at end of file
Propchange: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsNonPositiveIntegerOperation.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsPositiveIntegerOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsPositiveIntegerOperation.java?rev=1373674&view=auto
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsPositiveIntegerOperation.java (added)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsPositiveIntegerOperation.java Wed Aug 15 23:50:44 2012
@@ -0,0 +1,6 @@
+package org.apache.vxquery.runtime.functions.castable;
+
+
+public class CastableAsPositiveIntegerOperation extends CastableAsIntegerOperation {
+
+}
\ No newline at end of file
Propchange: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsPositiveIntegerOperation.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsShortOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsShortOperation.java?rev=1373674&view=auto
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsShortOperation.java (added)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsShortOperation.java Wed Aug 15 23:50:44 2012
@@ -0,0 +1,106 @@
+package org.apache.vxquery.runtime.functions.castable;
+
+import java.io.DataOutput;
+import java.io.IOException;
+
+import org.apache.vxquery.datamodel.accessors.atomic.XSDecimalPointable;
+import org.apache.vxquery.datamodel.values.ValueTag;
+import org.apache.vxquery.exceptions.SystemException;
+import org.apache.vxquery.runtime.functions.cast.CastToShortOperation;
+
+import edu.uci.ics.hyracks.data.std.primitive.BooleanPointable;
+import edu.uci.ics.hyracks.data.std.primitive.BytePointable;
+import edu.uci.ics.hyracks.data.std.primitive.DoublePointable;
+import edu.uci.ics.hyracks.data.std.primitive.FloatPointable;
+import edu.uci.ics.hyracks.data.std.primitive.LongPointable;
+import edu.uci.ics.hyracks.data.std.primitive.ShortPointable;
+import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
+import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
+
+public class CastableAsShortOperation extends AbstractCastableAsOperation {
+ private ArrayBackedValueStorage abvsInner = new ArrayBackedValueStorage();
+ private DataOutput dOutInner = abvsInner.getDataOutput();
+
+ @Override
+ public void convertBoolean(BooleanPointable boolp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ @Override
+ public void convertDecimal(XSDecimalPointable decp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ @Override
+ public void convertDouble(DoublePointable doublep, DataOutput dOut) throws SystemException, IOException {
+ boolean castable = true;
+ try {
+ abvsInner.reset();
+ CastToShortOperation castTo = new CastToShortOperation();
+ castTo.convertDouble(doublep, dOutInner);
+ } catch (Exception e) {
+ castable = false;
+ }
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) (castable ? 1 : 0));
+ }
+
+ @Override
+ public void convertFloat(FloatPointable floatp, DataOutput dOut) throws SystemException, IOException {
+ boolean castable = true;
+ try {
+ abvsInner.reset();
+ CastToShortOperation castTo = new CastToShortOperation();
+ castTo.convertFloat(floatp, dOutInner);
+ } catch (Exception e) {
+ castable = false;
+ }
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) (castable ? 1 : 0));
+ }
+
+ @Override
+ public void convertInteger(LongPointable longp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ @Override
+ public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
+ boolean castable = true;
+ try {
+ abvsInner.reset();
+ CastToShortOperation castTo = new CastToShortOperation();
+ castTo.convertString(stringp, dOutInner);
+ } catch (Exception e) {
+ castable = false;
+ }
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) (castable ? 1 : 0));
+ }
+
+ @Override
+ public void convertUntypedAtomic(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
+ convertString(stringp, dOut);
+ }
+
+ /**
+ * Derived Datatypes
+ */
+ public void convertByte(BytePointable bytep, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertShort(ShortPointable shortp, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+
+ public void convertUnsignedByte(BytePointable bytep, DataOutput dOut) throws SystemException, IOException {
+ dOut.write(ValueTag.XS_BOOLEAN_TAG);
+ dOut.write((byte) 1);
+ }
+}
\ No newline at end of file
Propchange: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsShortOperation.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsTimeOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsTimeOperation.java?rev=1373674&r1=1373673&r2=1373674&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsTimeOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsTimeOperation.java Wed Aug 15 23:50:44 2012
@@ -26,6 +26,7 @@ public class CastableAsTimeOperation ext
public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToTimeOperation castTo = new CastToTimeOperation();
castTo.convertString(stringp, dOutInner);
} catch (Exception e) {
Added: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedByteOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedByteOperation.java?rev=1373674&view=auto
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedByteOperation.java (added)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedByteOperation.java Wed Aug 15 23:50:44 2012
@@ -0,0 +1,6 @@
+package org.apache.vxquery.runtime.functions.castable;
+
+
+public class CastableAsUnsignedByteOperation extends CastableAsShortOperation {
+
+}
\ No newline at end of file
Propchange: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedByteOperation.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedIntOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedIntOperation.java?rev=1373674&view=auto
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedIntOperation.java (added)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedIntOperation.java Wed Aug 15 23:50:44 2012
@@ -0,0 +1,6 @@
+package org.apache.vxquery.runtime.functions.castable;
+
+
+public class CastableAsUnsignedIntOperation extends CastableAsIntegerOperation {
+
+}
\ No newline at end of file
Propchange: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedIntOperation.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedLongOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedLongOperation.java?rev=1373674&view=auto
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedLongOperation.java (added)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedLongOperation.java Wed Aug 15 23:50:44 2012
@@ -0,0 +1,6 @@
+package org.apache.vxquery.runtime.functions.castable;
+
+
+public class CastableAsUnsignedLongOperation extends CastableAsIntegerOperation {
+
+}
\ No newline at end of file
Propchange: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedLongOperation.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedShortOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedShortOperation.java?rev=1373674&view=auto
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedShortOperation.java (added)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedShortOperation.java Wed Aug 15 23:50:44 2012
@@ -0,0 +1,6 @@
+package org.apache.vxquery.runtime.functions.castable;
+
+
+public class CastableAsUnsignedShortOperation extends CastableAsIntOperation {
+
+}
\ No newline at end of file
Propchange: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsUnsignedShortOperation.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsYMDurationOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsYMDurationOperation.java?rev=1373674&r1=1373673&r2=1373674&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsYMDurationOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/castable/CastableAsYMDurationOperation.java Wed Aug 15 23:50:44 2012
@@ -32,6 +32,7 @@ public class CastableAsYMDurationOperati
public void convertString(UTF8StringPointable stringp, DataOutput dOut) throws SystemException, IOException {
boolean castable = true;
try {
+ abvsInner.reset();
CastToYMDurationOperation castTo = new CastToYMDurationOperation();
castTo.convertString(stringp, dOutInner);
} catch (Exception e) {