http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/TextNodeBuilder.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/TextNodeBuilder.java b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/TextNodeBuilder.java index 67aa487..4456b35 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/TextNodeBuilder.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/TextNodeBuilder.java @@ -19,6 +19,7 @@ package org.apache.vxquery.datamodel.builders.nodes; import java.io.IOException; import org.apache.hyracks.data.std.api.IValueReference; +import org.apache.hyracks.data.std.util.GrowableArray; import org.apache.vxquery.datamodel.values.ValueTag; public class TextNodeBuilder extends AbstractNodeBuilder { @@ -39,4 +40,8 @@ public class TextNodeBuilder extends AbstractNodeBuilder { public void setValue(IValueReference value) throws IOException { out.write(value.getByteArray(), value.getStartOffset(), value.getLength()); } + + public void setValue(GrowableArray value) throws IOException { + out.write(value.getByteArray(), 0, value.getLength()); + } }
http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/datamodel/values/XDMConstants.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/values/XDMConstants.java b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/values/XDMConstants.java index 3dc7e9e..c74c0b0 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/datamodel/values/XDMConstants.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/datamodel/values/XDMConstants.java @@ -54,10 +54,9 @@ public class XDMConstants { } EMPTY_SEQUENCE = Arrays.copyOf(abvs.getByteArray(), abvs.getLength()); - EMPTY_STRING = new byte[3]; + EMPTY_STRING = new byte[2]; EMPTY_STRING[0] = ValueTag.XS_STRING_TAG; EMPTY_STRING[1] = 0; - EMPTY_STRING[2] = 0; JS_NULL_CONSTANT = new byte[1]; JS_NULL_CONSTANT[0] = ValueTag.JS_NULL_TAG; http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/exceptions/SystemException.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/exceptions/SystemException.java b/vxquery-core/src/main/java/org/apache/vxquery/exceptions/SystemException.java index fccbc55..a3f7bf8 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/exceptions/SystemException.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/exceptions/SystemException.java @@ -19,10 +19,10 @@ package org.apache.vxquery.exceptions; import java.text.MessageFormat; import java.util.Arrays; -import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; +import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.vxquery.util.SourceLocation; -public class SystemException extends AlgebricksException { +public class SystemException extends HyracksDataException { private static final long serialVersionUID = 1L; private final ErrorCode code; http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/exceptions/VXQueryDataException.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/exceptions/VXQueryDataException.java b/vxquery-core/src/main/java/org/apache/vxquery/exceptions/VXQueryDataException.java index e41872c..28c556f 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/exceptions/VXQueryDataException.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/exceptions/VXQueryDataException.java @@ -26,8 +26,8 @@ public class VXQueryDataException extends HyracksDataException { private File file; - public VXQueryDataException(String message, Exception ex, File file) { - super(message, ex); + public VXQueryDataException(String message, Exception ex, File file, String nodeId) { + super(message, ex, nodeId); this.file = file; } http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/exceptions/VXQueryFileNotFoundException.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/exceptions/VXQueryFileNotFoundException.java b/vxquery-core/src/main/java/org/apache/vxquery/exceptions/VXQueryFileNotFoundException.java index 2856178..22dc754 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/exceptions/VXQueryFileNotFoundException.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/exceptions/VXQueryFileNotFoundException.java @@ -22,8 +22,8 @@ public class VXQueryFileNotFoundException extends VXQueryDataException { private static final long serialVersionUID = 1L; - public VXQueryFileNotFoundException(Exception ex, File file) { - super("The file ([nodeId]:[path]) can not be found.", ex, file); + public VXQueryFileNotFoundException(Exception ex, File file, String nodeId) { + super("The file ([nodeId]:[path]) can not be found.", ex, file, nodeId); } } http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/exceptions/VXQueryParseException.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/exceptions/VXQueryParseException.java b/vxquery-core/src/main/java/org/apache/vxquery/exceptions/VXQueryParseException.java index f0d66fb..8a367e3 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/exceptions/VXQueryParseException.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/exceptions/VXQueryParseException.java @@ -22,8 +22,8 @@ public class VXQueryParseException extends VXQueryDataException { private static final long serialVersionUID = 1L; - public VXQueryParseException(Exception ex, File file) { - super("The file ([nodeId]:[path]) threw a SAXException during parsing.", ex, file); + public VXQueryParseException(Exception ex, File file, String nodeId) { + super("The file ([nodeId]:[path]) threw a SAXException during parsing.", ex, file, nodeId); } } http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/index/IndexDocumentBuilder.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/index/IndexDocumentBuilder.java b/vxquery-core/src/main/java/org/apache/vxquery/index/IndexDocumentBuilder.java index bccd28d..7524da4 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/index/IndexDocumentBuilder.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/index/IndexDocumentBuilder.java @@ -117,7 +117,7 @@ public class IndexDocumentBuilder extends XMLSerializer { print(bstart, sstart, lstart, "0", ""); for (int i = 1; i < results.size() - 1; i++) { //TODO: Since each doc is a file, - //we can only handle files + //we can only handle files //small enough to fit in memory doc.add(results.get(i).sf); } @@ -813,8 +813,8 @@ public class IndexDocumentBuilder extends XMLSerializer { } private String[] printString(UTF8StringPointable utf8sp, String path) { - int utfLen = utf8sp.getUTFLength(); - int offset = 2; + int utfLen = utf8sp.getUTF8Length(); + int offset = utf8sp.getMetaDataLength(); String[] result = { "", path }; while (utfLen > 0) { char c = utf8sp.charAt(offset); @@ -843,7 +843,7 @@ public class IndexDocumentBuilder extends XMLSerializer { result[0] += Character.toString(c); break; } - int cLen = UTF8StringPointable.getModifiedUTF8Len(c); + int cLen = utf8sp.charSize(offset); offset += cLen; utfLen -= cLen; http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/metadata/AbstractVXQueryDataSource.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/metadata/AbstractVXQueryDataSource.java b/vxquery-core/src/main/java/org/apache/vxquery/metadata/AbstractVXQueryDataSource.java index dd9898c..df6fb4b 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/metadata/AbstractVXQueryDataSource.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/metadata/AbstractVXQueryDataSource.java @@ -16,11 +16,13 @@ */ package org.apache.vxquery.metadata; -import org.apache.hyracks.algebricks.core.algebra.metadata.IDataSourcePropertiesProvider; - import java.util.List; -public abstract class AbstractVXQueryDataSource { +import org.apache.hyracks.algebricks.core.algebra.metadata.IDataSource; +import org.apache.hyracks.algebricks.core.algebra.metadata.IDataSourcePropertiesProvider; +import org.apache.hyracks.algebricks.core.algebra.properties.INodeDomain; + +public abstract class AbstractVXQueryDataSource implements IDataSource<String> { protected static final String DELIMITER = "\\|"; protected int dataSourceId; protected String collectionName; @@ -36,4 +38,17 @@ public abstract class AbstractVXQueryDataSource { protected IDataSourcePropertiesProvider propProvider; public abstract String getFunctionCall(); + + @Override + public boolean isScanAccessPathALeaf() { + // TODO Auto-generated method stub + return false; + } + + @Override + public INodeDomain getDomain() { + // TODO Auto-generated method stub + return null; + } + } http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/metadata/QueryResultDataSink.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/metadata/QueryResultDataSink.java b/vxquery-core/src/main/java/org/apache/vxquery/metadata/QueryResultDataSink.java index 8286d1b..f8d6d1d 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/metadata/QueryResultDataSink.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/metadata/QueryResultDataSink.java @@ -20,7 +20,7 @@ import org.apache.hyracks.algebricks.core.algebra.metadata.IDataSink; import org.apache.hyracks.algebricks.core.algebra.properties.FileSplitDomain; import org.apache.hyracks.algebricks.core.algebra.properties.IPartitioningProperty; import org.apache.hyracks.algebricks.core.algebra.properties.RandomPartitioningProperty; -import org.apache.hyracks.dataflow.std.file.FileSplit; +import org.apache.hyracks.api.io.FileSplit; public class QueryResultDataSink implements IDataSink { private final FileSplit[] fileSplits; http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryCollectionDataSource.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryCollectionDataSource.java b/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryCollectionDataSource.java index b4bc858..bee7c7b 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryCollectionDataSource.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryCollectionDataSource.java @@ -19,18 +19,16 @@ package org.apache.vxquery.metadata; import java.util.ArrayList; import java.util.List; -import org.apache.vxquery.compiler.rewriter.rules.CollectionFileDomain; - import org.apache.hyracks.algebricks.core.algebra.base.LogicalVariable; -import org.apache.hyracks.algebricks.core.algebra.metadata.IDataSource; import org.apache.hyracks.algebricks.core.algebra.metadata.IDataSourcePropertiesProvider; import org.apache.hyracks.algebricks.core.algebra.properties.FunctionalDependency; import org.apache.hyracks.algebricks.core.algebra.properties.ILocalStructuralProperty; import org.apache.hyracks.algebricks.core.algebra.properties.IPhysicalPropertiesVector; import org.apache.hyracks.algebricks.core.algebra.properties.RandomPartitioningProperty; import org.apache.hyracks.algebricks.core.algebra.properties.StructuralPropertiesVector; +import org.apache.vxquery.compiler.rewriter.rules.CollectionFileDomain; -public class VXQueryCollectionDataSource extends AbstractVXQueryDataSource implements IDataSource<String> { +public class VXQueryCollectionDataSource extends AbstractVXQueryDataSource { private VXQueryCollectionDataSource(int id, String file, Object[] types) { this.dataSourceId = id; http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryCollectionOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryCollectionOperatorDescriptor.java b/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryCollectionOperatorDescriptor.java index 7736edd..be95f93 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryCollectionOperatorDescriptor.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryCollectionOperatorDescriptor.java @@ -80,7 +80,7 @@ public class VXQueryCollectionOperatorDescriptor extends AbstractSingleActivityO protected static final Logger LOGGER = Logger.getLogger(VXQueryCollectionOperatorDescriptor.class.getName()); private HDFSFunctions hdfs; private String tag; - private final String START_TAG = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n"; + private static final String START_TAG = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n"; private final String hdfsConf; private final Map<String, NodeControllerInfo> nodeControllerInfos; @@ -277,7 +277,7 @@ public class VXQueryCollectionOperatorDescriptor extends AbstractSingleActivityO public void close() throws HyracksDataException { // Check if needed? if (appender.getTupleCount() > 0) { - appender.flush(writer, true); + appender.flush(writer); } writer.close(); } http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryIndexingDataSource.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryIndexingDataSource.java b/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryIndexingDataSource.java index da75108..ddbc984 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryIndexingDataSource.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryIndexingDataSource.java @@ -16,21 +16,20 @@ */ package org.apache.vxquery.metadata; +import java.util.ArrayList; +import java.util.List; + import org.apache.hyracks.algebricks.core.algebra.base.LogicalVariable; -import org.apache.hyracks.algebricks.core.algebra.metadata.IDataSource; import org.apache.hyracks.algebricks.core.algebra.metadata.IDataSourcePropertiesProvider; import org.apache.hyracks.algebricks.core.algebra.properties.IPhysicalPropertiesVector; import org.apache.hyracks.algebricks.core.algebra.properties.RandomPartitioningProperty; import org.apache.hyracks.algebricks.core.algebra.properties.StructuralPropertiesVector; import org.apache.vxquery.compiler.rewriter.rules.CollectionFileDomain; -import java.util.ArrayList; -import java.util.List; - /** * Datasource object for indexing. */ -public class VXQueryIndexingDataSource extends AbstractVXQueryDataSource implements IDataSource<String> { +public class VXQueryIndexingDataSource extends AbstractVXQueryDataSource { protected Object[] types; http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryIndexingOperatorDescriptor.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryIndexingOperatorDescriptor.java b/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryIndexingOperatorDescriptor.java index ae637ac..a24a629 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryIndexingOperatorDescriptor.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryIndexingOperatorDescriptor.java @@ -43,7 +43,6 @@ import org.apache.hyracks.dataflow.common.comm.util.ByteBufferInputStream; import org.apache.hyracks.dataflow.common.comm.util.FrameUtils; import org.apache.hyracks.dataflow.std.base.AbstractSingleActivityOperatorDescriptor; import org.apache.hyracks.dataflow.std.base.AbstractUnaryInputUnaryOutputOperatorNodePushable; -import org.apache.vxquery.context.DynamicContext; import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; import org.apache.vxquery.datamodel.builders.sequence.SequenceBuilder; import org.apache.vxquery.datamodel.values.XDMConstants; @@ -87,11 +86,10 @@ public class VXQueryIndexingOperatorDescriptor extends AbstractSingleActivityOpe final short partitionId = (short) ctx.getTaskAttemptId().getTaskId().getPartition(); final ITreeNodeIdProvider nodeIdProvider = new TreeNodeIdProvider(partitionId, dataSourceId, totalDataSources); final String nodeId = ctx.getJobletContext().getApplicationContext().getNodeId(); - final DynamicContext dCtx = (DynamicContext) ctx.getJobletContext().getGlobalJobData(); final String collectionName = collectionPartitions[partition % collectionPartitions.length]; String collectionModifiedName = collectionName.replace("${nodeId}", nodeId); IndexCentralizerUtil indexCentralizerUtil = new IndexCentralizerUtil( - ctx.getIOManager().getIODevices().get(0).getPath()); + ctx.getIOManager().getIODevices().get(0).getMount()); indexCentralizerUtil.readIndexDirectory(); return new AbstractUnaryInputUnaryOutputOperatorNodePushable() { @@ -158,7 +156,7 @@ public class VXQueryIndexingOperatorDescriptor extends AbstractSingleActivityOpe XDMConstants.setTrue(result); FrameUtils.appendFieldToWriter(writer, appender, result.getByteArray(), result.getStartOffset(), result.getLength()); - } catch (IOException | SystemException e) { + } catch (IOException e) { throw new HyracksDataException( "Could not update index in " + indexModifiedName + " " + e.getMessage()); } @@ -174,7 +172,7 @@ public class VXQueryIndexingOperatorDescriptor extends AbstractSingleActivityOpe XDMConstants.setTrue(result); FrameUtils.appendFieldToWriter(writer, appender, result.getByteArray(), result.getStartOffset(), result.getLength()); - } catch (SystemException | IOException e) { + } catch (IOException e) { throw new HyracksDataException( "Could not delete index in " + indexModifiedName + " " + e.getMessage()); } @@ -208,7 +206,7 @@ public class VXQueryIndexingOperatorDescriptor extends AbstractSingleActivityOpe public void close() throws HyracksDataException { // Check if needed? if (appender.getTupleCount() > 0) { - appender.flush(writer, true); + appender.flush(writer); } writer.close(); indexCentralizerUtil.writeIndexDirectory(); http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryMetadataProvider.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryMetadataProvider.java b/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryMetadataProvider.java index b7b37b9..e552f68 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryMetadataProvider.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/metadata/VXQueryMetadataProvider.java @@ -19,6 +19,7 @@ package org.apache.vxquery.metadata; import java.io.File; import java.io.IOException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -87,7 +88,7 @@ public class VXQueryMetadataProvider implements IMetadataProvider<String, String List<LogicalVariable> scanVariables, List<LogicalVariable> projectVariables, boolean projectPushed, List<LogicalVariable> minFilterVars, List<LogicalVariable> maxFilterVars, IOperatorSchema opSchema, IVariableTypeEnvironment typeEnv, JobGenContext context, JobSpecification jobSpec, Object implConfig) - throws AlgebricksException { + throws AlgebricksException { VXQueryCollectionDataSource ds = null; VXQueryIndexingDataSource ids = null; @@ -126,10 +127,10 @@ public class VXQueryMetadataProvider implements IMetadataProvider<String, String constraint = getClusterLocations(nodeList, ids.getPartitionCount()); } - return new Pair<IOperatorDescriptor, AlgebricksPartitionConstraint>(scanner, constraint); + return new Pair<>(scanner, constraint); } - public static AlgebricksPartitionConstraint getClusterLocations(String[] nodeList) { + public static AlgebricksAbsolutePartitionConstraint getClusterLocations(String[] nodeList) { int availableProcessors = Runtime.getRuntime().availableProcessors(); if (availableProcessors < 1) { availableProcessors = 1; @@ -137,8 +138,8 @@ public class VXQueryMetadataProvider implements IMetadataProvider<String, String return getClusterLocations(nodeList, availableProcessors); } - public static AlgebricksPartitionConstraint getClusterLocations(String[] nodeList, int partitions) { - ArrayList<String> locs = new ArrayList<String>(); + public static AlgebricksAbsolutePartitionConstraint getClusterLocations(String[] nodeList, int partitions) { + ArrayList<String> locs = new ArrayList<>(); for (String node : nodeList) { for (int j = 0; j < partitions; j++) { locs.add(node); @@ -150,14 +151,9 @@ public class VXQueryMetadataProvider implements IMetadataProvider<String, String } @Override - public boolean scannerOperatorIsLeaf(IDataSource<String> dataSource) { - return false; - } - - @Override public Pair<IPushRuntimeFactory, AlgebricksPartitionConstraint> getWriteFileRuntime(IDataSink sink, int[] printColumns, IPrinterFactory[] printerFactories, RecordDescriptor inputDesc) - throws AlgebricksException { + throws AlgebricksException { throw new UnsupportedOperationException(); } @@ -183,7 +179,7 @@ public class VXQueryMetadataProvider implements IMetadataProvider<String, String IOperatorSchema[] inputSchemas, IVariableTypeEnvironment typeEnv, List<LogicalVariable> primaryKeys, List<LogicalVariable> secondaryKeys, List<LogicalVariable> additionalNonKeyFields, ILogicalExpression filterExpr, RecordDescriptor recordDesc, JobGenContext context, JobSpecification spec) - throws AlgebricksException { + throws AlgebricksException { throw new UnsupportedOperationException(); } @@ -201,6 +197,7 @@ public class VXQueryMetadataProvider implements IMetadataProvider<String, String return fid; } + @Override public boolean isFunctional() { return true; } @@ -212,7 +209,7 @@ public class VXQueryMetadataProvider implements IMetadataProvider<String, String int[] printColumns, IPrinterFactory[] printerFactories, RecordDescriptor inputDesc, boolean ordered, JobSpecification spec) throws AlgebricksException { QueryResultSetDataSink rsds = (QueryResultSetDataSink) sink; - ResultSetId rssId = (ResultSetId) rsds.getId(); + ResultSetId rssId = rsds.getId(); IResultSerializerFactoryProvider resultSerializerFactoryProvider = ResultSerializerFactoryProvider.INSTANCE; IAWriterFactory writerFactory = PrinterBasedWriterFactory.INSTANCE; @@ -227,15 +224,7 @@ public class VXQueryMetadataProvider implements IMetadataProvider<String, String throw new AlgebricksException(e); } - return new Pair<IOperatorDescriptor, AlgebricksPartitionConstraint>(resultWriter, null); - } - - @Override - public Pair<IOperatorDescriptor, AlgebricksPartitionConstraint> getInsertRuntime(IDataSource<String> dataSource, - IOperatorSchema propagatedSchema, IVariableTypeEnvironment typeEnv, List<LogicalVariable> keys, - LogicalVariable payLoadVar, List<LogicalVariable> additionalNonKeyFields, RecordDescriptor recordDesc, - JobGenContext context, JobSpecification jobSpec, boolean bulkload) throws AlgebricksException { - throw new UnsupportedOperationException(); + return new Pair<>(resultWriter, null); } @Override @@ -257,4 +246,38 @@ public class VXQueryMetadataProvider implements IMetadataProvider<String, String throw new UnsupportedOperationException(); } + @Override + public Pair<IOperatorDescriptor, AlgebricksPartitionConstraint> getInsertRuntime(IDataSource<String> dataSource, + IOperatorSchema propagatedSchema, IVariableTypeEnvironment typeEnv, List<LogicalVariable> keys, + LogicalVariable payLoadVar, List<LogicalVariable> additionalFilterKeyFields, + List<LogicalVariable> additionalNonFilteringFields, RecordDescriptor recordDesc, JobGenContext context, + JobSpecification jobSpec, boolean bulkload) throws AlgebricksException { + throw new UnsupportedOperationException(); + } + + @Override + public Pair<IOperatorDescriptor, AlgebricksPartitionConstraint> getUpsertRuntime(IDataSource<String> dataSource, + IOperatorSchema inputSchema, IVariableTypeEnvironment typeEnv, List<LogicalVariable> keys, + LogicalVariable payLoadVar, List<LogicalVariable> additionalFilterFields, + List<LogicalVariable> additionalNonFilteringFields, RecordDescriptor recordDesc, JobGenContext context, + JobSpecification jobSpec) throws AlgebricksException { + throw new UnsupportedOperationException(); + } + + @Override + public Pair<IOperatorDescriptor, AlgebricksPartitionConstraint> getIndexUpsertRuntime( + IDataSourceIndex<String, String> dataSourceIndex, IOperatorSchema propagatedSchema, + IOperatorSchema[] inputSchemas, IVariableTypeEnvironment typeEnv, List<LogicalVariable> primaryKeys, + List<LogicalVariable> secondaryKeys, List<LogicalVariable> additionalFilteringKeys, + ILogicalExpression filterExpr, List<LogicalVariable> prevSecondaryKeys, + LogicalVariable prevAdditionalFilteringKeys, RecordDescriptor inputDesc, JobGenContext context, + JobSpecification spec) throws AlgebricksException { + throw new UnsupportedOperationException(); + } + + @Override + public Map<String, String> getConfig() { + return new HashMap<>(); + } + } http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AbstractMaxMinAggregateEvaluatorFactory.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AbstractMaxMinAggregateEvaluatorFactory.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AbstractMaxMinAggregateEvaluatorFactory.java index 325fb71..bd628e4 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AbstractMaxMinAggregateEvaluatorFactory.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AbstractMaxMinAggregateEvaluatorFactory.java @@ -19,6 +19,12 @@ package org.apache.vxquery.runtime.functions.aggregate; import java.io.DataOutput; import java.io.IOException; +import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator; +import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator; +import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory; +import org.apache.hyracks.api.exceptions.HyracksDataException; +import org.apache.hyracks.data.std.api.IPointable; +import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; import org.apache.vxquery.datamodel.accessors.SequencePointable; import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; import org.apache.vxquery.datamodel.accessors.TypedPointables; @@ -31,13 +37,6 @@ import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentAggr import org.apache.vxquery.runtime.functions.comparison.AbstractValueComparisonOperation; import org.apache.vxquery.runtime.functions.util.FunctionHelper; -import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; -import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator; -import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator; -import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory; -import org.apache.hyracks.data.std.api.IPointable; -import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; - public abstract class AbstractMaxMinAggregateEvaluatorFactory extends AbstractTaggedValueArgumentAggregateEvaluatorFactory { private static final long serialVersionUID = 1L; @@ -46,7 +45,8 @@ public abstract class AbstractMaxMinAggregateEvaluatorFactory extends super(args); } - protected IAggregateEvaluator createEvaluator(IScalarEvaluator[] args) throws AlgebricksException { + @Override + protected IAggregateEvaluator createEvaluator(IScalarEvaluator[] args) throws HyracksDataException { final AbstractValueComparisonOperation aOpComparison = createValueComparisonOperation(); final TaggedValuePointable tvp2 = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable(); final SequencePointable seqp = (SequencePointable) SequencePointable.FACTORY.createPointable(); @@ -60,17 +60,17 @@ public abstract class AbstractMaxMinAggregateEvaluatorFactory extends long count; @Override - public void init() throws AlgebricksException { + public void init() { count = 0; } @Override - public void finishPartial(IPointable result) throws AlgebricksException { + public void finishPartial(IPointable result) { finish(result); } @Override - public void finish(IPointable result) throws AlgebricksException { + public void finish(IPointable result) { if (count == 0) { XDMConstants.setEmptySequence(result); } else { @@ -79,7 +79,7 @@ public abstract class AbstractMaxMinAggregateEvaluatorFactory extends } @Override - protected void step(TaggedValuePointable[] args) throws SystemException { + protected void step(TaggedValuePointable[] args) throws HyracksDataException { TaggedValuePointable tvp1 = args[0]; if (tvp1.getTag() == ValueTag.SEQUENCE_TAG) { // The local aggregate did not find a value so the global aggregate is receiving a empty sequence. http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AbstractMaxMinScalarEvaluatorFactory.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AbstractMaxMinScalarEvaluatorFactory.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AbstractMaxMinScalarEvaluatorFactory.java index 82d938e..06762d1 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AbstractMaxMinScalarEvaluatorFactory.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AbstractMaxMinScalarEvaluatorFactory.java @@ -16,25 +16,23 @@ */ package org.apache.vxquery.runtime.functions.aggregate; +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.data.std.api.IPointable; +import org.apache.hyracks.data.std.primitive.VoidPointable; import org.apache.vxquery.context.DynamicContext; import org.apache.vxquery.datamodel.accessors.SequencePointable; import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; import org.apache.vxquery.datamodel.accessors.TypedPointables; import org.apache.vxquery.datamodel.values.ValueTag; import org.apache.vxquery.datamodel.values.XDMConstants; -import org.apache.vxquery.exceptions.SystemException; import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluator; import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluatorFactory; import org.apache.vxquery.runtime.functions.comparison.AbstractValueComparisonOperation; import org.apache.vxquery.runtime.functions.util.FunctionHelper; -import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; -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.data.std.api.IPointable; -import org.apache.hyracks.data.std.primitive.VoidPointable; - public abstract class AbstractMaxMinScalarEvaluatorFactory extends AbstractTaggedValueArgumentScalarEvaluatorFactory { private static final long serialVersionUID = 1L; @@ -44,7 +42,7 @@ public abstract class AbstractMaxMinScalarEvaluatorFactory extends AbstractTagge @Override protected IScalarEvaluator createEvaluator(IHyracksTaskContext ctx, IScalarEvaluator[] args) - throws AlgebricksException { + throws HyracksDataException { final DynamicContext dCtx = (DynamicContext) ctx.getJobletContext().getGlobalJobData(); final SequencePointable seqp = (SequencePointable) SequencePointable.FACTORY.createPointable(); final AbstractValueComparisonOperation aOpComparison = createValueComparisonOperation(); @@ -56,7 +54,7 @@ public abstract class AbstractMaxMinScalarEvaluatorFactory extends AbstractTagge return new AbstractTaggedValueArgumentScalarEvaluator(args) { @Override - protected void evaluate(TaggedValuePointable[] args, IPointable result) throws SystemException { + protected void evaluate(TaggedValuePointable[] args, IPointable result) throws HyracksDataException { // TODO Update the results to be based on specs when different types in sequence. TaggedValuePointable tvp = args[0]; if (tvp.getTag() == ValueTag.SEQUENCE_TAG) { http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AvgGlobalAggregateEvaluatorFactory.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AvgGlobalAggregateEvaluatorFactory.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AvgGlobalAggregateEvaluatorFactory.java index 828efd4..f33aa9d 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AvgGlobalAggregateEvaluatorFactory.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AvgGlobalAggregateEvaluatorFactory.java @@ -18,6 +18,13 @@ package org.apache.vxquery.runtime.functions.aggregate; import java.io.DataOutput; +import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator; +import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator; +import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory; +import org.apache.hyracks.api.exceptions.HyracksDataException; +import org.apache.hyracks.data.std.api.IPointable; +import org.apache.hyracks.data.std.primitive.LongPointable; +import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; import org.apache.vxquery.datamodel.accessors.SequencePointable; import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; import org.apache.vxquery.datamodel.values.ValueTag; @@ -30,14 +37,6 @@ import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentAggr import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentAggregateEvaluatorFactory; import org.apache.vxquery.runtime.functions.util.ArithmeticHelper; -import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; -import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator; -import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator; -import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory; -import org.apache.hyracks.data.std.api.IPointable; -import org.apache.hyracks.data.std.primitive.LongPointable; -import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; - public class AvgGlobalAggregateEvaluatorFactory extends AbstractTaggedValueArgumentAggregateEvaluatorFactory { private static final long serialVersionUID = 1L; @@ -46,7 +45,7 @@ public class AvgGlobalAggregateEvaluatorFactory extends AbstractTaggedValueArgum } @Override - protected IAggregateEvaluator createEvaluator(IScalarEvaluator[] args) throws AlgebricksException { + protected IAggregateEvaluator createEvaluator(IScalarEvaluator[] args) throws HyracksDataException { final ArrayBackedValueStorage abvsCount = new ArrayBackedValueStorage(); final DataOutput dOutCount = abvsCount.getDataOutput(); final ArrayBackedValueStorage abvsSum = new ArrayBackedValueStorage(); @@ -65,7 +64,7 @@ public class AvgGlobalAggregateEvaluatorFactory extends AbstractTaggedValueArgum TaggedValuePointable tvpCount = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable(); @Override - public void init() throws AlgebricksException { + public void init() throws HyracksDataException { try { abvsCount.reset(); dOutCount.write(ValueTag.XS_INTEGER_TAG); @@ -76,17 +75,17 @@ public class AvgGlobalAggregateEvaluatorFactory extends AbstractTaggedValueArgum dOutSum.writeLong(0); tvpSum.set(abvsSum); } catch (Exception e) { - throw new AlgebricksException(e); + throw new HyracksDataException(e); } } @Override - public void finishPartial(IPointable result) throws AlgebricksException { + public void finishPartial(IPointable result) throws HyracksDataException { finish(result); } @Override - public void finish(IPointable result) throws AlgebricksException { + public void finish(IPointable result) throws HyracksDataException { tvpCount.getValue(longp); if (longp.getLong() == 0) { XDMConstants.setEmptySequence(result); @@ -96,13 +95,13 @@ public class AvgGlobalAggregateEvaluatorFactory extends AbstractTaggedValueArgum divide.compute(tvpSum, tvpCount, tvpSum); result.set(tvpSum); } catch (Exception e) { - throw new AlgebricksException(e); + throw new HyracksDataException(e); } } } @Override - protected void step(TaggedValuePointable[] args) throws SystemException { + protected void step(TaggedValuePointable[] args) throws HyracksDataException { TaggedValuePointable tvp = args[0]; if (tvp.getTag() == ValueTag.SEQUENCE_TAG) { tvp.getValue(seq); http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AvgLocalAggregateEvaluatorFactory.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AvgLocalAggregateEvaluatorFactory.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AvgLocalAggregateEvaluatorFactory.java index db2aa57..bdfc1ad 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AvgLocalAggregateEvaluatorFactory.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/AvgLocalAggregateEvaluatorFactory.java @@ -18,23 +18,21 @@ package org.apache.vxquery.runtime.functions.aggregate; import java.io.DataOutput; +import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator; +import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator; +import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory; +import org.apache.hyracks.api.exceptions.HyracksDataException; +import org.apache.hyracks.data.std.api.IPointable; +import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; import org.apache.vxquery.datamodel.builders.sequence.SequenceBuilder; import org.apache.vxquery.datamodel.values.ValueTag; import org.apache.vxquery.datamodel.values.XDMConstants; -import org.apache.vxquery.exceptions.SystemException; import org.apache.vxquery.runtime.functions.arithmetic.AddOperation; import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentAggregateEvaluator; import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentAggregateEvaluatorFactory; import org.apache.vxquery.runtime.functions.util.ArithmeticHelper; -import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; -import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator; -import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator; -import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory; -import org.apache.hyracks.data.std.api.IPointable; -import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; - public class AvgLocalAggregateEvaluatorFactory extends AbstractTaggedValueArgumentAggregateEvaluatorFactory { private static final long serialVersionUID = 1L; @@ -43,7 +41,7 @@ public class AvgLocalAggregateEvaluatorFactory extends AbstractTaggedValueArgume } @Override - protected IAggregateEvaluator createEvaluator(IScalarEvaluator[] args) throws AlgebricksException { + protected IAggregateEvaluator createEvaluator(IScalarEvaluator[] args) throws HyracksDataException { final TaggedValuePointable tvpCount = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable(); final ArrayBackedValueStorage abvsCount = new ArrayBackedValueStorage(); final DataOutput dOutCount = abvsCount.getDataOutput(); @@ -53,13 +51,13 @@ public class AvgLocalAggregateEvaluatorFactory extends AbstractTaggedValueArgume final SequenceBuilder sb = new SequenceBuilder(); final AddOperation aOpAdd = new AddOperation(); final ArithmeticHelper add = new ArithmeticHelper(aOpAdd, dCtx); - + return new AbstractTaggedValueArgumentAggregateEvaluator(args) { long count; TaggedValuePointable tvpSum = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable(); @Override - public void init() throws AlgebricksException { + public void init() throws HyracksDataException { count = 0; try { abvsSum.reset(); @@ -67,17 +65,17 @@ public class AvgLocalAggregateEvaluatorFactory extends AbstractTaggedValueArgume dOutSum.writeLong(0); tvpSum.set(abvsSum); } catch (Exception e) { - throw new AlgebricksException(e); + throw new HyracksDataException(e); } } @Override - public void finishPartial(IPointable result) throws AlgebricksException { + public void finishPartial(IPointable result) throws HyracksDataException { finish(result); } @Override - public void finish(IPointable result) throws AlgebricksException { + public void finish(IPointable result) throws HyracksDataException { if (count == 0) { XDMConstants.setEmptySequence(result); } else { @@ -96,13 +94,13 @@ public class AvgLocalAggregateEvaluatorFactory extends AbstractTaggedValueArgume sb.finish(); result.set(abvsSeq); } catch (Exception e) { - throw new AlgebricksException(e); + throw new HyracksDataException(e); } } } @Override - protected void step(TaggedValuePointable[] args) throws SystemException { + protected void step(TaggedValuePointable[] args) throws HyracksDataException { TaggedValuePointable tvp = args[0]; add.compute(tvp, tvpSum, tvpSum); count++; http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnAvgAggregateEvaluatorFactory.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnAvgAggregateEvaluatorFactory.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnAvgAggregateEvaluatorFactory.java index 09a611f..2ce95cb 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnAvgAggregateEvaluatorFactory.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnAvgAggregateEvaluatorFactory.java @@ -19,6 +19,12 @@ package org.apache.vxquery.runtime.functions.aggregate; import java.io.DataOutput; import java.io.IOException; +import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator; +import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator; +import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory; +import org.apache.hyracks.api.exceptions.HyracksDataException; +import org.apache.hyracks.data.std.api.IPointable; +import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; import org.apache.vxquery.datamodel.values.ValueTag; import org.apache.vxquery.datamodel.values.XDMConstants; @@ -30,13 +36,6 @@ import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentAggr import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentAggregateEvaluatorFactory; import org.apache.vxquery.runtime.functions.util.ArithmeticHelper; -import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; -import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator; -import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator; -import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory; -import org.apache.hyracks.data.std.api.IPointable; -import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; - public class FnAvgAggregateEvaluatorFactory extends AbstractTaggedValueArgumentAggregateEvaluatorFactory { private static final long serialVersionUID = 1L; @@ -45,7 +44,7 @@ public class FnAvgAggregateEvaluatorFactory extends AbstractTaggedValueArgumentA } @Override - protected IAggregateEvaluator createEvaluator(IScalarEvaluator[] args) throws AlgebricksException { + protected IAggregateEvaluator createEvaluator(IScalarEvaluator[] args) throws HyracksDataException { final TaggedValuePointable tvpCount = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable(); final ArrayBackedValueStorage abvsSum = new ArrayBackedValueStorage(); final DataOutput dOutSum = abvsSum.getDataOutput(); @@ -61,17 +60,17 @@ public class FnAvgAggregateEvaluatorFactory extends AbstractTaggedValueArgumentA TaggedValuePointable tvpSum = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable(); @Override - public void init() throws AlgebricksException { + public void init() throws HyracksDataException { count = 0; } @Override - public void finishPartial(IPointable result) throws AlgebricksException { + public void finishPartial(IPointable result) throws HyracksDataException { finish(result); } @Override - public void finish(IPointable result) throws AlgebricksException { + public void finish(IPointable result) throws HyracksDataException { if (count == 0) { XDMConstants.setEmptySequence(result); } else { @@ -85,13 +84,13 @@ public class FnAvgAggregateEvaluatorFactory extends AbstractTaggedValueArgumentA divide.compute(tvpSum, tvpCount, tvpSum); result.set(tvpSum); } catch (Exception e) { - throw new AlgebricksException(e); + throw new HyracksDataException(e); } } } @Override - protected void step(TaggedValuePointable[] args) throws SystemException { + protected void step(TaggedValuePointable[] args) throws HyracksDataException { TaggedValuePointable tvp = args[0]; if (count == 0) { // Init. http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnAvgScalarEvaluatorFactory.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnAvgScalarEvaluatorFactory.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnAvgScalarEvaluatorFactory.java index 9a511cd..435d4e4 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnAvgScalarEvaluatorFactory.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnAvgScalarEvaluatorFactory.java @@ -18,6 +18,12 @@ package org.apache.vxquery.runtime.functions.aggregate; import java.io.DataOutput; +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.data.std.api.IPointable; +import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; import org.apache.vxquery.context.DynamicContext; import org.apache.vxquery.datamodel.accessors.SequencePointable; import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; @@ -31,13 +37,6 @@ import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScal import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluatorFactory; import org.apache.vxquery.runtime.functions.util.ArithmeticHelper; -import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; -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.data.std.api.IPointable; -import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; - public class FnAvgScalarEvaluatorFactory extends AbstractTaggedValueArgumentScalarEvaluatorFactory { private static final long serialVersionUID = 1L; @@ -47,7 +46,7 @@ public class FnAvgScalarEvaluatorFactory extends AbstractTaggedValueArgumentScal @Override protected IScalarEvaluator createEvaluator(IHyracksTaskContext ctx, IScalarEvaluator[] args) - throws AlgebricksException { + throws HyracksDataException { final DynamicContext dCtx = (DynamicContext) ctx.getJobletContext().getGlobalJobData(); final SequencePointable seqp = (SequencePointable) SequencePointable.FACTORY.createPointable(); final TaggedValuePointable tvpNext = (TaggedValuePointable) TaggedValuePointable.FACTORY.createPointable(); @@ -62,7 +61,7 @@ public class FnAvgScalarEvaluatorFactory extends AbstractTaggedValueArgumentScal return new AbstractTaggedValueArgumentScalarEvaluator(args) { @Override - protected void evaluate(TaggedValuePointable[] args, IPointable result) throws SystemException { + protected void evaluate(TaggedValuePointable[] args, IPointable result) throws HyracksDataException { TaggedValuePointable tvp = args[0]; if (tvp.getTag() == ValueTag.SEQUENCE_TAG) { tvp.getValue(seqp); http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnCountAggregateEvaluatorFactory.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnCountAggregateEvaluatorFactory.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnCountAggregateEvaluatorFactory.java index 8c55630..77ff018 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnCountAggregateEvaluatorFactory.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnCountAggregateEvaluatorFactory.java @@ -18,18 +18,16 @@ package org.apache.vxquery.runtime.functions.aggregate; import java.io.DataOutput; -import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; -import org.apache.vxquery.datamodel.values.ValueTag; -import org.apache.vxquery.exceptions.SystemException; -import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentAggregateEvaluator; -import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentAggregateEvaluatorFactory; - -import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator; import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator; import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory; +import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.data.std.api.IPointable; import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; +import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; +import org.apache.vxquery.datamodel.values.ValueTag; +import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentAggregateEvaluator; +import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentAggregateEvaluatorFactory; public class FnCountAggregateEvaluatorFactory extends AbstractTaggedValueArgumentAggregateEvaluatorFactory { private static final long serialVersionUID = 1L; @@ -39,36 +37,36 @@ public class FnCountAggregateEvaluatorFactory extends AbstractTaggedValueArgumen } @Override - protected IAggregateEvaluator createEvaluator(IScalarEvaluator[] args) throws AlgebricksException { + protected IAggregateEvaluator createEvaluator(IScalarEvaluator[] args) throws HyracksDataException { final ArrayBackedValueStorage abvs = new ArrayBackedValueStorage(); final DataOutput dOut = abvs.getDataOutput(); return new AbstractTaggedValueArgumentAggregateEvaluator(args) { long count; @Override - public void init() throws AlgebricksException { + public void init() throws HyracksDataException { count = 0; } @Override - public void finishPartial(IPointable result) throws AlgebricksException { + public void finishPartial(IPointable result) throws HyracksDataException { finish(result); } @Override - public void finish(IPointable result) throws AlgebricksException { + public void finish(IPointable result) throws HyracksDataException { try { abvs.reset(); dOut.write(ValueTag.XS_INTEGER_TAG); dOut.writeLong(count); result.set(abvs); } catch (Exception e) { - throw new AlgebricksException(e); + throw new HyracksDataException(e); } } @Override - protected void step(TaggedValuePointable[] args) throws SystemException { + protected void step(TaggedValuePointable[] args) throws HyracksDataException { count++; } http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnCountScalarEvaluatorFactory.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnCountScalarEvaluatorFactory.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnCountScalarEvaluatorFactory.java index 0912f29..ba3e70f 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnCountScalarEvaluatorFactory.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnCountScalarEvaluatorFactory.java @@ -18,6 +18,12 @@ package org.apache.vxquery.runtime.functions.aggregate; import java.io.DataOutput; +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.data.std.api.IPointable; +import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; import org.apache.vxquery.datamodel.accessors.SequencePointable; import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; import org.apache.vxquery.datamodel.values.ValueTag; @@ -26,13 +32,6 @@ import org.apache.vxquery.exceptions.SystemException; import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluator; import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluatorFactory; -import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; -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.data.std.api.IPointable; -import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; - public class FnCountScalarEvaluatorFactory extends AbstractTaggedValueArgumentScalarEvaluatorFactory { private static final long serialVersionUID = 1L; @@ -42,15 +41,15 @@ public class FnCountScalarEvaluatorFactory extends AbstractTaggedValueArgumentSc @Override protected IScalarEvaluator createEvaluator(IHyracksTaskContext ctx, IScalarEvaluator[] args) - throws AlgebricksException { + throws HyracksDataException { final SequencePointable seqp = (SequencePointable) SequencePointable.FACTORY.createPointable(); final ArrayBackedValueStorage abvs = new ArrayBackedValueStorage(); final DataOutput dOut = abvs.getDataOutput(); return new AbstractTaggedValueArgumentScalarEvaluator(args) { @Override - protected void evaluate(TaggedValuePointable[] args, IPointable result) throws SystemException { + protected void evaluate(TaggedValuePointable[] args, IPointable result) throws HyracksDataException { TaggedValuePointable tvp = args[0]; - long count = 0; + long count; if (tvp.getTag() == ValueTag.SEQUENCE_TAG) { tvp.getValue(seqp); count = seqp.getEntryCount(); http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnSumAggregateEvaluatorFactory.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnSumAggregateEvaluatorFactory.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnSumAggregateEvaluatorFactory.java index b4fdcdc..d03394a 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnSumAggregateEvaluatorFactory.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnSumAggregateEvaluatorFactory.java @@ -19,21 +19,19 @@ package org.apache.vxquery.runtime.functions.aggregate; import java.io.DataOutput; import java.io.IOException; +import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator; +import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator; +import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory; +import org.apache.hyracks.api.exceptions.HyracksDataException; +import org.apache.hyracks.data.std.api.IPointable; +import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; import org.apache.vxquery.datamodel.values.ValueTag; -import org.apache.vxquery.exceptions.SystemException; import org.apache.vxquery.runtime.functions.arithmetic.AddOperation; import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentAggregateEvaluator; import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentAggregateEvaluatorFactory; import org.apache.vxquery.runtime.functions.util.ArithmeticHelper; -import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; -import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator; -import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator; -import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory; -import org.apache.hyracks.data.std.api.IPointable; -import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; - public class FnSumAggregateEvaluatorFactory extends AbstractTaggedValueArgumentAggregateEvaluatorFactory { private static final long serialVersionUID = 1L; @@ -42,7 +40,7 @@ public class FnSumAggregateEvaluatorFactory extends AbstractTaggedValueArgumentA } @Override - protected IAggregateEvaluator createEvaluator(IScalarEvaluator[] args) throws AlgebricksException { + protected IAggregateEvaluator createEvaluator(IScalarEvaluator[] args) throws HyracksDataException { final ArrayBackedValueStorage abvsSum = new ArrayBackedValueStorage(); final DataOutput dOutSum = abvsSum.getDataOutput(); final AddOperation aOpAdd = new AddOperation(); @@ -54,29 +52,29 @@ public class FnSumAggregateEvaluatorFactory extends AbstractTaggedValueArgumentA // TODO Check if the second argument is supplied as the zero value. @Override - public void init() throws AlgebricksException { + public void init() throws HyracksDataException { try { abvsSum.reset(); dOutSum.write(ValueTag.XS_INTEGER_TAG); dOutSum.writeLong(0); tvpSum.set(abvsSum); } catch (IOException e) { - throw new AlgebricksException(e.toString()); + throw new HyracksDataException(e.toString()); } } @Override - public void finishPartial(IPointable result) throws AlgebricksException { + public void finishPartial(IPointable result) throws HyracksDataException { finish(result); } @Override - public void finish(IPointable result) throws AlgebricksException { + public void finish(IPointable result) throws HyracksDataException { result.set(tvpSum); } @Override - protected void step(TaggedValuePointable[] args) throws SystemException { + protected void step(TaggedValuePointable[] args) throws HyracksDataException { TaggedValuePointable tvp = args[0]; add.compute(tvp, tvpSum, tvpSum); } http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnSumScalarEvaluatorFactory.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnSumScalarEvaluatorFactory.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnSumScalarEvaluatorFactory.java index 635fa8a..8055239 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnSumScalarEvaluatorFactory.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/aggregate/FnSumScalarEvaluatorFactory.java @@ -18,6 +18,13 @@ package org.apache.vxquery.runtime.functions.aggregate; import java.io.DataOutput; +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.data.std.api.IPointable; +import org.apache.hyracks.data.std.primitive.VoidPointable; +import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; import org.apache.vxquery.context.DynamicContext; import org.apache.vxquery.datamodel.accessors.SequencePointable; import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; @@ -29,14 +36,6 @@ import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScal import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluatorFactory; import org.apache.vxquery.runtime.functions.util.ArithmeticHelper; -import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; -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.data.std.api.IPointable; -import org.apache.hyracks.data.std.primitive.VoidPointable; -import org.apache.hyracks.data.std.util.ArrayBackedValueStorage; - public class FnSumScalarEvaluatorFactory extends AbstractTaggedValueArgumentScalarEvaluatorFactory { private static final long serialVersionUID = 1L; @@ -46,7 +45,7 @@ public class FnSumScalarEvaluatorFactory extends AbstractTaggedValueArgumentScal @Override protected IScalarEvaluator createEvaluator(IHyracksTaskContext ctx, IScalarEvaluator[] args) - throws AlgebricksException { + throws HyracksDataException { final DynamicContext dCtx = (DynamicContext) ctx.getJobletContext().getGlobalJobData(); final SequencePointable seqp = (SequencePointable) SequencePointable.FACTORY.createPointable(); final ArrayBackedValueStorage abvs = new ArrayBackedValueStorage(); http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AbstractArithmeticScalarEvaluatorFactory.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AbstractArithmeticScalarEvaluatorFactory.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AbstractArithmeticScalarEvaluatorFactory.java index eb253a6..b99354a 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AbstractArithmeticScalarEvaluatorFactory.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AbstractArithmeticScalarEvaluatorFactory.java @@ -16,6 +16,11 @@ */ package org.apache.vxquery.runtime.functions.arithmetic; +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.data.std.api.IPointable; import org.apache.vxquery.context.DynamicContext; import org.apache.vxquery.datamodel.accessors.SequencePointable; import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; @@ -26,12 +31,6 @@ import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScal import org.apache.vxquery.runtime.functions.base.AbstractTaggedValueArgumentScalarEvaluatorFactory; import org.apache.vxquery.runtime.functions.util.ArithmeticHelper; -import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; -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.data.std.api.IPointable; - public abstract class AbstractArithmeticScalarEvaluatorFactory extends AbstractTaggedValueArgumentScalarEvaluatorFactory { private static final long serialVersionUID = 1L; @@ -42,7 +41,7 @@ public abstract class AbstractArithmeticScalarEvaluatorFactory extends @Override protected IScalarEvaluator createEvaluator(IHyracksTaskContext ctx, IScalarEvaluator[] args) - throws AlgebricksException { + throws HyracksDataException { final DynamicContext dCtx = (DynamicContext) ctx.getJobletContext().getGlobalJobData(); final ArithmeticHelper aHelper = new ArithmeticHelper(createArithmeticOperation(), dCtx); final SequencePointable seqp = (SequencePointable) SequencePointable.FACTORY.createPointable(); http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentAggregateEvaluator.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentAggregateEvaluator.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentAggregateEvaluator.java index 895294a..c0e7f2c 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentAggregateEvaluator.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentAggregateEvaluator.java @@ -16,15 +16,13 @@ */ package org.apache.vxquery.runtime.functions.base; -import org.apache.vxquery.datamodel.accessors.PointablePool; -import org.apache.vxquery.datamodel.accessors.PointablePoolFactory; -import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; -import org.apache.vxquery.exceptions.SystemException; - -import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator; import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator; +import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.dataflow.common.data.accessors.IFrameTupleReference; +import org.apache.vxquery.datamodel.accessors.PointablePool; +import org.apache.vxquery.datamodel.accessors.PointablePoolFactory; +import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; public abstract class AbstractTaggedValueArgumentAggregateEvaluator implements IAggregateEvaluator { private final IScalarEvaluator[] args; @@ -42,12 +40,12 @@ public abstract class AbstractTaggedValueArgumentAggregateEvaluator implements I } @Override - public void step(IFrameTupleReference tuple) throws AlgebricksException { + public void step(IFrameTupleReference tuple) throws HyracksDataException { for (int i = 0; i < args.length; ++i) { args[i].evaluate(tuple, tvps[i]); } step(tvps); } - protected abstract void step(TaggedValuePointable[] args) throws SystemException; + protected abstract void step(TaggedValuePointable[] args) throws HyracksDataException; } http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentAggregateEvaluatorFactory.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentAggregateEvaluatorFactory.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentAggregateEvaluatorFactory.java index 2ab0b66..b6d9feb 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentAggregateEvaluatorFactory.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentAggregateEvaluatorFactory.java @@ -16,14 +16,13 @@ */ package org.apache.vxquery.runtime.functions.base; -import org.apache.vxquery.context.DynamicContext; - -import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluator; import org.apache.hyracks.algebricks.runtime.base.IAggregateEvaluatorFactory; 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.vxquery.context.DynamicContext; public abstract class AbstractTaggedValueArgumentAggregateEvaluatorFactory implements IAggregateEvaluatorFactory { private static final long serialVersionUID = 1L; @@ -37,7 +36,7 @@ public abstract class AbstractTaggedValueArgumentAggregateEvaluatorFactory imple } @Override - public final IAggregateEvaluator createAggregateEvaluator(IHyracksTaskContext ctx) throws AlgebricksException { + public final IAggregateEvaluator createAggregateEvaluator(IHyracksTaskContext ctx) throws HyracksDataException { dCtx = (DynamicContext) ctx.getJobletContext().getGlobalJobData(); IScalarEvaluator[] es = new IScalarEvaluator[args.length]; for (int i = 0; i < es.length; ++i) { @@ -46,5 +45,5 @@ public abstract class AbstractTaggedValueArgumentAggregateEvaluatorFactory imple return createEvaluator(es); } - protected abstract IAggregateEvaluator createEvaluator(IScalarEvaluator[] args) throws AlgebricksException; + protected abstract IAggregateEvaluator createEvaluator(IScalarEvaluator[] args) throws HyracksDataException; } http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentScalarEvaluator.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentScalarEvaluator.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentScalarEvaluator.java index 20f24f6..857b142 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentScalarEvaluator.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentScalarEvaluator.java @@ -16,16 +16,14 @@ */ package org.apache.vxquery.runtime.functions.base; +import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator; +import org.apache.hyracks.api.exceptions.HyracksDataException; +import org.apache.hyracks.data.std.api.IPointable; +import org.apache.hyracks.dataflow.common.data.accessors.IFrameTupleReference; import org.apache.vxquery.datamodel.accessors.ArrayBackedValueStoragePool; import org.apache.vxquery.datamodel.accessors.PointablePool; import org.apache.vxquery.datamodel.accessors.PointablePoolFactory; import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; -import org.apache.vxquery.exceptions.SystemException; - -import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; -import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator; -import org.apache.hyracks.data.std.api.IPointable; -import org.apache.hyracks.dataflow.common.data.accessors.IFrameTupleReference; public abstract class AbstractTaggedValueArgumentScalarEvaluator implements IScalarEvaluator { private final IScalarEvaluator[] args; @@ -44,12 +42,12 @@ public abstract class AbstractTaggedValueArgumentScalarEvaluator implements ISca } @Override - public final void evaluate(IFrameTupleReference tuple, IPointable result) throws AlgebricksException { + public final void evaluate(IFrameTupleReference tuple, IPointable result) throws HyracksDataException { for (int i = 0; i < args.length; ++i) { args[i].evaluate(tuple, tvps[i]); } evaluate(tvps, result); } - protected abstract void evaluate(TaggedValuePointable[] args, IPointable result) throws SystemException; + protected abstract void evaluate(TaggedValuePointable[] args, IPointable result) throws HyracksDataException; } http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentScalarEvaluatorFactory.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentScalarEvaluatorFactory.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentScalarEvaluatorFactory.java index d07361b..a5a910e 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentScalarEvaluatorFactory.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentScalarEvaluatorFactory.java @@ -16,10 +16,10 @@ */ package org.apache.vxquery.runtime.functions.base; -import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; 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; public abstract class AbstractTaggedValueArgumentScalarEvaluatorFactory implements IScalarEvaluatorFactory { private static final long serialVersionUID = 1L; @@ -31,7 +31,7 @@ public abstract class AbstractTaggedValueArgumentScalarEvaluatorFactory implemen } @Override - public final IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws AlgebricksException { + public final IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws HyracksDataException { IScalarEvaluator[] es = new IScalarEvaluator[args.length]; for (int i = 0; i < es.length; ++i) { es[i] = args[i].createScalarEvaluator(ctx); @@ -40,5 +40,5 @@ public abstract class AbstractTaggedValueArgumentScalarEvaluatorFactory implemen } protected abstract IScalarEvaluator createEvaluator(IHyracksTaskContext ctx, IScalarEvaluator[] args) - throws AlgebricksException; + throws HyracksDataException; } http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentUnnestingEvaluator.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentUnnestingEvaluator.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentUnnestingEvaluator.java index 3db1a0e..4117774 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentUnnestingEvaluator.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentUnnestingEvaluator.java @@ -16,15 +16,13 @@ */ package org.apache.vxquery.runtime.functions.base; -import org.apache.vxquery.datamodel.accessors.PointablePool; -import org.apache.vxquery.datamodel.accessors.PointablePoolFactory; -import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; -import org.apache.vxquery.exceptions.SystemException; - -import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator; import org.apache.hyracks.algebricks.runtime.base.IUnnestingEvaluator; +import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.dataflow.common.data.accessors.IFrameTupleReference; +import org.apache.vxquery.datamodel.accessors.PointablePool; +import org.apache.vxquery.datamodel.accessors.PointablePoolFactory; +import org.apache.vxquery.datamodel.accessors.TaggedValuePointable; public abstract class AbstractTaggedValueArgumentUnnestingEvaluator implements IUnnestingEvaluator { private final IScalarEvaluator[] args; @@ -42,12 +40,12 @@ public abstract class AbstractTaggedValueArgumentUnnestingEvaluator implements I } @Override - public final void init(IFrameTupleReference tuple) throws AlgebricksException { + public final void init(IFrameTupleReference tuple) throws HyracksDataException { for (int i = 0; i < args.length; ++i) { args[i].evaluate(tuple, tvps[i]); } init(tvps); } - protected abstract void init(TaggedValuePointable[] args) throws SystemException; + protected abstract void init(TaggedValuePointable[] args) throws HyracksDataException; } http://git-wip-us.apache.org/repos/asf/vxquery/blob/2c881020/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentUnnestingEvaluatorFactory.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentUnnestingEvaluatorFactory.java b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentUnnestingEvaluatorFactory.java index f32a734..88247b9 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentUnnestingEvaluatorFactory.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/base/AbstractTaggedValueArgumentUnnestingEvaluatorFactory.java @@ -17,16 +17,16 @@ package org.apache.vxquery.runtime.functions.base; -import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluator; import org.apache.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory; import org.apache.hyracks.algebricks.runtime.base.IUnnestingEvaluator; import org.apache.hyracks.algebricks.runtime.base.IUnnestingEvaluatorFactory; import org.apache.hyracks.api.context.IHyracksTaskContext; +import org.apache.hyracks.api.exceptions.HyracksDataException; public abstract class AbstractTaggedValueArgumentUnnestingEvaluatorFactory implements IUnnestingEvaluatorFactory { private static final long serialVersionUID = 1L; - + protected IHyracksTaskContext ctxview; private final IScalarEvaluatorFactory[] args; @@ -36,7 +36,7 @@ public abstract class AbstractTaggedValueArgumentUnnestingEvaluatorFactory imple } @Override - public final IUnnestingEvaluator createUnnestingEvaluator(IHyracksTaskContext ctx) throws AlgebricksException { + public final IUnnestingEvaluator createUnnestingEvaluator(IHyracksTaskContext ctx) throws HyracksDataException { ctxview = ctx; IScalarEvaluator[] es = new IScalarEvaluator[args.length]; for (int i = 0; i < es.length; ++i) { @@ -45,5 +45,5 @@ public abstract class AbstractTaggedValueArgumentUnnestingEvaluatorFactory imple return createEvaluator(ctx, es); } - protected abstract IUnnestingEvaluator createEvaluator(IHyracksTaskContext ctx, IScalarEvaluator[] args) throws AlgebricksException; + protected abstract IUnnestingEvaluator createEvaluator(IHyracksTaskContext ctx, IScalarEvaluator[] args) throws HyracksDataException; }
