You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by im...@apache.org on 2015/08/25 18:41:16 UTC
[03/51] [partial] incubator-asterixdb-hyracks git commit: Change
folder structure for Java repackage
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/ICopyUnnestingFunctionFactory.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/ICopyUnnestingFunctionFactory.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/ICopyUnnestingFunctionFactory.java
deleted file mode 100644
index 46083bd..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/ICopyUnnestingFunctionFactory.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.base;
-
-import java.io.Serializable;
-
-import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-import edu.uci.ics.hyracks.data.std.api.IDataOutputProvider;
-
-public interface ICopyUnnestingFunctionFactory extends Serializable {
- public ICopyUnnestingFunction createUnnestingFunction(IDataOutputProvider provider) throws AlgebricksException;
-}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IPushRuntime.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IPushRuntime.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IPushRuntime.java
deleted file mode 100644
index ff0c429..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IPushRuntime.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.base;
-
-import edu.uci.ics.hyracks.api.comm.IFrameWriter;
-import edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor;
-
-public interface IPushRuntime extends IFrameWriter {
- public void setFrameWriter(int index, IFrameWriter writer, RecordDescriptor recordDesc);
-
- public void setInputRecordDescriptor(int index, RecordDescriptor recordDescriptor);
-}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IPushRuntimeFactory.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IPushRuntimeFactory.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IPushRuntimeFactory.java
deleted file mode 100644
index 703bc1f..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IPushRuntimeFactory.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.base;
-
-import java.io.Serializable;
-
-import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
-import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-
-public interface IPushRuntimeFactory extends Serializable {
- public IPushRuntime createPushRuntime(IHyracksTaskContext ctx) throws AlgebricksException, HyracksDataException;
-}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IRunningAggregateEvaluator.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IRunningAggregateEvaluator.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IRunningAggregateEvaluator.java
deleted file mode 100644
index 8f1fb23..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IRunningAggregateEvaluator.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.base;
-
-import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-import edu.uci.ics.hyracks.data.std.api.IPointable;
-import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
-
-public interface IRunningAggregateEvaluator {
- public void init() throws AlgebricksException;
-
- public void step(IFrameTupleReference tuple, IPointable result) throws AlgebricksException;
-}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IRunningAggregateEvaluatorFactory.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IRunningAggregateEvaluatorFactory.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IRunningAggregateEvaluatorFactory.java
deleted file mode 100644
index 96cdc2f..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IRunningAggregateEvaluatorFactory.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.base;
-
-import java.io.Serializable;
-
-import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-
-public interface IRunningAggregateEvaluatorFactory extends Serializable {
- public IRunningAggregateEvaluator createRunningAggregateEvaluator() throws AlgebricksException;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IScalarEvaluator.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IScalarEvaluator.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IScalarEvaluator.java
deleted file mode 100644
index 2480422..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IScalarEvaluator.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.base;
-
-import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-import edu.uci.ics.hyracks.data.std.api.IPointable;
-import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
-
-public interface IScalarEvaluator {
- public void evaluate(IFrameTupleReference tuple, IPointable result) throws AlgebricksException;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IScalarEvaluatorFactory.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IScalarEvaluatorFactory.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IScalarEvaluatorFactory.java
deleted file mode 100644
index 037b8ed..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IScalarEvaluatorFactory.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.base;
-
-import java.io.Serializable;
-
-import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
-
-public interface IScalarEvaluatorFactory extends Serializable {
- public IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws AlgebricksException;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IUnnestingEvaluator.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IUnnestingEvaluator.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IUnnestingEvaluator.java
deleted file mode 100644
index e102605..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IUnnestingEvaluator.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.base;
-
-import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-import edu.uci.ics.hyracks.data.std.api.IPointable;
-import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
-
-public interface IUnnestingEvaluator {
- public void init(IFrameTupleReference tuple) throws AlgebricksException;
-
- public boolean step(IPointable result) throws AlgebricksException;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IUnnestingEvaluatorFactory.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IUnnestingEvaluatorFactory.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IUnnestingEvaluatorFactory.java
deleted file mode 100644
index 02bc7a7..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IUnnestingEvaluatorFactory.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.base;
-
-import java.io.Serializable;
-
-import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
-
-public interface IUnnestingEvaluatorFactory extends Serializable {
- public IUnnestingEvaluator createUnnestingEvaluator(IHyracksTaskContext ctx) throws AlgebricksException;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IUnnestingPositionWriter.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IUnnestingPositionWriter.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IUnnestingPositionWriter.java
deleted file mode 100644
index 65f5083..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/base/IUnnestingPositionWriter.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.base;
-
-import java.io.DataOutput;
-import java.io.IOException;
-
-public interface IUnnestingPositionWriter {
- public void write(DataOutput dataOutput, long position) throws IOException;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/evaluators/ColumnAccessEvalFactory.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/evaluators/ColumnAccessEvalFactory.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/evaluators/ColumnAccessEvalFactory.java
deleted file mode 100644
index 1ba4bdf..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/evaluators/ColumnAccessEvalFactory.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.evaluators;
-
-import java.io.DataOutput;
-import java.io.IOException;
-
-import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluator;
-import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluatorFactory;
-import edu.uci.ics.hyracks.data.std.api.IDataOutputProvider;
-import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
-
-public class ColumnAccessEvalFactory implements ICopyEvaluatorFactory {
-
- private static final long serialVersionUID = 1L;
-
- private final int fieldIndex;
-
- public ColumnAccessEvalFactory(int fieldIndex) {
- this.fieldIndex = fieldIndex;
- }
-
- @Override
- public String toString() {
- return "ColumnAccess(" + fieldIndex + ")";
- }
-
- @Override
- public ICopyEvaluator createEvaluator(final IDataOutputProvider output) throws AlgebricksException {
- return new ICopyEvaluator() {
-
- private DataOutput out = output.getDataOutput();
-
- @Override
- public void evaluate(IFrameTupleReference tuple) throws AlgebricksException {
- byte[] buffer = tuple.getFieldData(fieldIndex);
- int start = tuple.getFieldStart(fieldIndex);
- int length = tuple.getFieldLength(fieldIndex);
- try {
- out.write(buffer, start, length);
- } catch (IOException ioe) {
- throw new AlgebricksException(ioe);
- }
- }
- };
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/evaluators/ConstantEvalFactory.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/evaluators/ConstantEvalFactory.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/evaluators/ConstantEvalFactory.java
deleted file mode 100644
index e637338..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/evaluators/ConstantEvalFactory.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.evaluators;
-
-import java.io.DataOutput;
-import java.io.IOException;
-
-import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluator;
-import edu.uci.ics.hyracks.algebricks.runtime.base.ICopyEvaluatorFactory;
-import edu.uci.ics.hyracks.data.std.api.IDataOutputProvider;
-import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
-
-public class ConstantEvalFactory implements ICopyEvaluatorFactory {
- private static final long serialVersionUID = 1L;
-
- private byte[] value;
-
- public ConstantEvalFactory(byte[] value) {
- this.value = value;
- }
-
- @Override
- public String toString() {
- return "Constant";
- }
-
- @Override
- public ICopyEvaluator createEvaluator(final IDataOutputProvider output) throws AlgebricksException {
- return new ICopyEvaluator() {
-
- private DataOutput out = output.getDataOutput();
-
- @Override
- public void evaluate(IFrameTupleReference tuple) throws AlgebricksException {
- try {
- out.write(value, 0, value.length);
- } catch (IOException ioe) {
- throw new AlgebricksException(ioe);
- }
- }
- };
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/evaluators/ConstantEvaluatorFactory.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/evaluators/ConstantEvaluatorFactory.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/evaluators/ConstantEvaluatorFactory.java
deleted file mode 100644
index ecfd48d..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/evaluators/ConstantEvaluatorFactory.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.evaluators;
-
-import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluator;
-import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
-import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
-import edu.uci.ics.hyracks.data.std.api.IPointable;
-import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
-
-public class ConstantEvaluatorFactory implements IScalarEvaluatorFactory {
- private static final long serialVersionUID = 1L;
-
- private byte[] value;
-
- public ConstantEvaluatorFactory(byte[] value) {
- this.value = value;
- }
-
- @Override
- public String toString() {
- return "Constant";
- }
-
- @Override
- public IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws AlgebricksException {
- return new IScalarEvaluator() {
- @Override
- public void evaluate(IFrameTupleReference tuple, IPointable result) throws AlgebricksException {
- result.set(value, 0, value.length);
- }
- };
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/evaluators/TupleFieldEvaluatorFactory.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/evaluators/TupleFieldEvaluatorFactory.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/evaluators/TupleFieldEvaluatorFactory.java
deleted file mode 100644
index c84ca26..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/evaluators/TupleFieldEvaluatorFactory.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.evaluators;
-
-import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluator;
-import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
-import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
-import edu.uci.ics.hyracks.data.std.api.IPointable;
-import edu.uci.ics.hyracks.dataflow.common.data.accessors.IFrameTupleReference;
-
-public class TupleFieldEvaluatorFactory implements IScalarEvaluatorFactory {
- private static final long serialVersionUID = 1L;
-
- private final int fieldIndex;
-
- public TupleFieldEvaluatorFactory(int fieldIndex) {
- this.fieldIndex = fieldIndex;
- }
-
- @Override
- public IScalarEvaluator createScalarEvaluator(IHyracksTaskContext ctx) throws AlgebricksException {
- return new IScalarEvaluator() {
- @Override
- public void evaluate(IFrameTupleReference tuple, IPointable result) throws AlgebricksException {
- result.set(tuple.getFieldData(fieldIndex), tuple.getFieldStart(fieldIndex),
- tuple.getFieldLength(fieldIndex));
- }
- };
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/AggregateRuntimeFactory.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/AggregateRuntimeFactory.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/AggregateRuntimeFactory.java
deleted file mode 100644
index e00e64a..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/AggregateRuntimeFactory.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.operators.aggreg;
-
-import java.nio.ByteBuffer;
-
-import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-import edu.uci.ics.hyracks.algebricks.runtime.base.IAggregateEvaluator;
-import edu.uci.ics.hyracks.algebricks.runtime.base.IAggregateEvaluatorFactory;
-import edu.uci.ics.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputOneFramePushRuntime;
-import edu.uci.ics.hyracks.algebricks.runtime.operators.base.AbstractOneInputOneOutputRuntimeFactory;
-import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
-import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-import edu.uci.ics.hyracks.data.std.api.IPointable;
-import edu.uci.ics.hyracks.data.std.primitive.VoidPointable;
-import edu.uci.ics.hyracks.dataflow.common.comm.io.ArrayTupleBuilder;
-import edu.uci.ics.hyracks.dataflow.common.data.accessors.FrameTupleReference;
-
-public class AggregateRuntimeFactory extends AbstractOneInputOneOutputRuntimeFactory {
-
- private static final long serialVersionUID = 1L;
-
- // private int[] outColumns;
- private IAggregateEvaluatorFactory[] aggregFactories;
-
- public AggregateRuntimeFactory(IAggregateEvaluatorFactory[] aggregFactories) {
- super(null);
- // this.outColumns = outColumns;
- this.aggregFactories = aggregFactories;
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("assign [");
- for (int i = 0; i < aggregFactories.length; i++) {
- if (i > 0) {
- sb.append(", ");
- }
- sb.append(aggregFactories[i]);
- }
- sb.append("]");
- return sb.toString();
- }
-
- @Override
- public AbstractOneInputOneOutputOneFramePushRuntime createOneOutputPushRuntime(final IHyracksTaskContext ctx)
- throws AlgebricksException {
- return new AbstractOneInputOneOutputOneFramePushRuntime() {
-
- private IAggregateEvaluator[] aggregs = new IAggregateEvaluator[aggregFactories.length];
- private IPointable result = VoidPointable.FACTORY.createPointable();
- private ArrayTupleBuilder tupleBuilder = new ArrayTupleBuilder(aggregs.length);
-
- private boolean first = true;
-
- @Override
- public void open() throws HyracksDataException {
- try {
- if (first) {
- first = false;
- initAccessAppendRef(ctx);
- for (int i = 0; i < aggregFactories.length; i++) {
- aggregs[i] = aggregFactories[i].createAggregateEvaluator(ctx);
- }
- }
- for (int i = 0; i < aggregFactories.length; i++) {
- aggregs[i].init();
- }
- } catch (AlgebricksException e) {
- throw new HyracksDataException(e);
- }
-
- writer.open();
- }
-
- @Override
- public void nextFrame(ByteBuffer buffer) throws HyracksDataException {
- tAccess.reset(buffer);
- int nTuple = tAccess.getTupleCount();
- for (int t = 0; t < nTuple; t++) {
- tRef.reset(tAccess, t);
- processTuple(tRef);
- }
-
- }
-
- @Override
- public void close() throws HyracksDataException {
- computeAggregate();
- appendToFrameFromTupleBuilder(tupleBuilder);
- super.close();
- }
-
- private void computeAggregate() throws HyracksDataException {
- tupleBuilder.reset();
- for (int f = 0; f < aggregs.length; f++) {
- try {
- aggregs[f].finish(result);
- } catch (AlgebricksException e) {
- throw new HyracksDataException(e);
- }
- tupleBuilder.addField(result.getByteArray(), result.getStartOffset(), result.getLength());
- }
- }
-
- private void processTuple(FrameTupleReference tupleRef) throws HyracksDataException {
- for (int f = 0; f < aggregs.length; f++) {
- try {
- aggregs[f].step(tupleRef);
- } catch (AlgebricksException e) {
- throw new HyracksDataException(e);
- }
- }
- }
-
- @Override
- public void fail() throws HyracksDataException {
- writer.fail();
- }
- };
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/NestedPlansAccumulatingAggregatorFactory.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/NestedPlansAccumulatingAggregatorFactory.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/NestedPlansAccumulatingAggregatorFactory.java
deleted file mode 100644
index 618768c..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/NestedPlansAccumulatingAggregatorFactory.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.operators.aggreg;
-
-import java.nio.ByteBuffer;
-
-import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-import edu.uci.ics.hyracks.algebricks.runtime.base.AlgebricksPipeline;
-import edu.uci.ics.hyracks.algebricks.runtime.base.IPushRuntime;
-import edu.uci.ics.hyracks.algebricks.runtime.base.IPushRuntimeFactory;
-import edu.uci.ics.hyracks.algebricks.runtime.operators.std.NestedTupleSourceRuntimeFactory.NestedTupleSourceRuntime;
-import edu.uci.ics.hyracks.api.comm.IFrameTupleAccessor;
-import edu.uci.ics.hyracks.api.comm.IFrameWriter;
-import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
-import edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor;
-import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-import edu.uci.ics.hyracks.dataflow.common.comm.io.ArrayTupleBuilder;
-import edu.uci.ics.hyracks.dataflow.common.comm.io.FrameTupleAccessor;
-import edu.uci.ics.hyracks.dataflow.std.group.AbstractAccumulatingAggregatorDescriptorFactory;
-import edu.uci.ics.hyracks.dataflow.std.group.AggregateState;
-import edu.uci.ics.hyracks.dataflow.std.group.IAggregatorDescriptor;
-
-public class NestedPlansAccumulatingAggregatorFactory extends AbstractAccumulatingAggregatorDescriptorFactory {
-
- private static final long serialVersionUID = 1L;
- private AlgebricksPipeline[] subplans;
- private int[] keyFieldIdx;
- private int[] decorFieldIdx;
-
- public NestedPlansAccumulatingAggregatorFactory(AlgebricksPipeline[] subplans, int[] keyFieldIdx,
- int[] decorFieldIdx) {
- this.subplans = subplans;
- this.keyFieldIdx = keyFieldIdx;
- this.decorFieldIdx = decorFieldIdx;
- }
-
- @Override
- public IAggregatorDescriptor createAggregator(IHyracksTaskContext ctx, RecordDescriptor inRecordDesc,
- RecordDescriptor outRecordDescriptor, int[] keys, int[] partialKeys) throws HyracksDataException {
-
- final AggregatorOutput outputWriter = new AggregatorOutput(subplans, keyFieldIdx.length,
- decorFieldIdx.length);
- final NestedTupleSourceRuntime[] pipelines = new NestedTupleSourceRuntime[subplans.length];
- for (int i = 0; i < subplans.length; i++) {
- try {
- pipelines[i] = (NestedTupleSourceRuntime) assemblePipeline(subplans[i], outputWriter, ctx);
- } catch (AlgebricksException e) {
- throw new HyracksDataException(e);
- }
- }
-
- return new IAggregatorDescriptor() {
-
- @Override
- public void init(ArrayTupleBuilder tupleBuilder, IFrameTupleAccessor accessor, int tIndex,
- AggregateState state) throws HyracksDataException {
- ArrayTupleBuilder tb = outputWriter.getTupleBuilder();
- tb.reset();
- for (int i = 0; i < keyFieldIdx.length; ++i) {
- tb.addField(accessor, tIndex, keyFieldIdx[i]);
- }
- for (int i = 0; i < decorFieldIdx.length; ++i) {
- tb.addField(accessor, tIndex, decorFieldIdx[i]);
- }
- for (int i = 0; i < pipelines.length; ++i) {
- pipelines[i].open();
- }
-
- // aggregate the first tuple
- for (int i = 0; i < pipelines.length; i++) {
- pipelines[i].writeTuple(accessor.getBuffer(), tIndex);
- }
- }
-
- @Override
- public void aggregate(IFrameTupleAccessor accessor, int tIndex, IFrameTupleAccessor stateAccessor,
- int stateTupleIndex, AggregateState state) throws HyracksDataException {
- // it only works if the output of the aggregator fits in one
- // frame
- for (int i = 0; i < pipelines.length; i++) {
- pipelines[i].writeTuple(accessor.getBuffer(), tIndex);
- }
- }
-
- @Override
- public boolean outputFinalResult(ArrayTupleBuilder tupleBuilder, IFrameTupleAccessor accessor, int tIndex,
- AggregateState state) throws HyracksDataException {
- for (int i = 0; i < pipelines.length; i++) {
- outputWriter.setInputIdx(i);
- pipelines[i].close();
- }
- // outputWriter.writeTuple(appender);
- tupleBuilder.reset();
- ArrayTupleBuilder tb = outputWriter.getTupleBuilder();
- byte[] data = tb.getByteArray();
- int[] fieldEnds = tb.getFieldEndOffsets();
- int start = 0;
- int offset = 0;
- for (int i = 0; i < fieldEnds.length; i++) {
- if (i > 0)
- start = fieldEnds[i - 1];
- offset = fieldEnds[i] - start;
- tupleBuilder.addField(data, start, offset);
- }
- return true;
- }
-
- @Override
- public AggregateState createAggregateStates() {
- return new AggregateState();
- }
-
- @Override
- public void reset() {
-
- }
-
- @Override
- public boolean outputPartialResult(ArrayTupleBuilder tupleBuilder, IFrameTupleAccessor accessor,
- int tIndex, AggregateState state) throws HyracksDataException {
- throw new IllegalStateException("this method should not be called");
- }
-
- @Override
- public void close() {
-
- }
-
- };
- }
-
- private IFrameWriter assemblePipeline(AlgebricksPipeline subplan, IFrameWriter writer, IHyracksTaskContext ctx)
- throws AlgebricksException, HyracksDataException {
- // plug the operators
- IFrameWriter start = writer;
- IPushRuntimeFactory[] runtimeFactories = subplan.getRuntimeFactories();
- RecordDescriptor[] recordDescriptors = subplan.getRecordDescriptors();
- for (int i = runtimeFactories.length - 1; i >= 0; i--) {
- IPushRuntime newRuntime = runtimeFactories[i].createPushRuntime(ctx);
- newRuntime.setFrameWriter(0, start, recordDescriptors[i]);
- if (i > 0) {
- newRuntime.setInputRecordDescriptor(0, recordDescriptors[i - 1]);
- } else {
- // the nts has the same input and output rec. desc.
- newRuntime.setInputRecordDescriptor(0, recordDescriptors[0]);
- }
- start = newRuntime;
- }
- return start;
- }
-
- /**
- * We suppose for now, that each subplan only produces one tuple.
- */
- private static class AggregatorOutput implements IFrameWriter {
-
- // private ByteBuffer frame;
- private FrameTupleAccessor[] tAccess;
- private RecordDescriptor[] inputRecDesc;
- private int inputIdx;
- private ArrayTupleBuilder tb;
- private AlgebricksPipeline[] subplans;
-
- public AggregatorOutput(AlgebricksPipeline[] subplans, int numKeys, int numDecors) {
- this.subplans = subplans;
- // this.keyFieldIndexes = keyFieldIndexes;
- int totalAggFields = 0;
- this.inputRecDesc = new RecordDescriptor[subplans.length];
- for (int i = 0; i < subplans.length; i++) {
- RecordDescriptor[] rd = subplans[i].getRecordDescriptors();
- this.inputRecDesc[i] = rd[rd.length - 1];
- totalAggFields += subplans[i].getOutputWidth();
- }
- tb = new ArrayTupleBuilder(numKeys + numDecors + totalAggFields);
-
- this.tAccess = new FrameTupleAccessor[inputRecDesc.length];
- for (int i = 0; i < inputRecDesc.length; i++) {
- tAccess[i] = new FrameTupleAccessor(inputRecDesc[i]);
- }
- }
-
- @Override
- public void open() throws HyracksDataException {
-
- }
-
- /**
- * Since each pipeline only produces one tuple, this method is only
- * called by the close method of the pipelines.
- */
- @Override
- public void nextFrame(ByteBuffer buffer) throws HyracksDataException {
- int tIndex = 0;
- int w = subplans[inputIdx].getOutputWidth();
- IFrameTupleAccessor accessor = tAccess[inputIdx];
- accessor.reset(buffer);
- for (int f = 0; f < w; f++) {
- tb.addField(accessor, tIndex, f);
- }
- }
-
- @Override
- public void close() throws HyracksDataException {
- // clearFrame();
- }
-
- public void setInputIdx(int inputIdx) {
- this.inputIdx = inputIdx;
- }
-
- public ArrayTupleBuilder getTupleBuilder() {
- return tb;
- }
-
- @Override
- public void fail() throws HyracksDataException {
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/NestedPlansRunningAggregatorFactory.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/NestedPlansRunningAggregatorFactory.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/NestedPlansRunningAggregatorFactory.java
deleted file mode 100644
index b7e736e..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/NestedPlansRunningAggregatorFactory.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.operators.aggreg;
-
-import java.nio.ByteBuffer;
-
-import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-import edu.uci.ics.hyracks.algebricks.runtime.base.AlgebricksPipeline;
-import edu.uci.ics.hyracks.algebricks.runtime.base.IPushRuntime;
-import edu.uci.ics.hyracks.algebricks.runtime.base.IPushRuntimeFactory;
-import edu.uci.ics.hyracks.algebricks.runtime.operators.std.NestedTupleSourceRuntimeFactory.NestedTupleSourceRuntime;
-import edu.uci.ics.hyracks.api.comm.IFrameTupleAccessor;
-import edu.uci.ics.hyracks.api.comm.IFrameWriter;
-import edu.uci.ics.hyracks.api.comm.VSizeFrame;
-import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
-import edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor;
-import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-import edu.uci.ics.hyracks.dataflow.common.comm.io.ArrayTupleBuilder;
-import edu.uci.ics.hyracks.dataflow.common.comm.io.FrameTupleAccessor;
-import edu.uci.ics.hyracks.dataflow.common.comm.io.FrameTupleAppender;
-import edu.uci.ics.hyracks.dataflow.common.comm.util.FrameUtils;
-import edu.uci.ics.hyracks.dataflow.std.group.AggregateState;
-import edu.uci.ics.hyracks.dataflow.std.group.IAggregatorDescriptor;
-import edu.uci.ics.hyracks.dataflow.std.group.IAggregatorDescriptorFactory;
-
-public class NestedPlansRunningAggregatorFactory implements IAggregatorDescriptorFactory {
-
- private static final long serialVersionUID = 1L;
- private final AlgebricksPipeline[] subplans;
- private final int[] keyFieldIdx;
- private final int[] decorFieldIdx;
-
- public NestedPlansRunningAggregatorFactory(AlgebricksPipeline[] subplans, int[] keyFieldIdx, int[] decorFieldIdx) {
- this.subplans = subplans;
- this.keyFieldIdx = keyFieldIdx;
- this.decorFieldIdx = decorFieldIdx;
- }
-
- /* (non-Javadoc)
- * @see edu.uci.ics.hyracks.dataflow.std.group.IAggregatorDescriptorFactory#createAggregator(edu.uci.ics.hyracks.api.context.IHyracksTaskContext, edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor, edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor, int[], int[])
- */
- @Override
- public IAggregatorDescriptor createAggregator(final IHyracksTaskContext ctx, RecordDescriptor inRecordDescriptor,
- RecordDescriptor outRecordDescriptor, int[] keyFields, int[] keyFieldsInPartialResults,
- final IFrameWriter writer) throws HyracksDataException {
- final RunningAggregatorOutput outputWriter = new RunningAggregatorOutput(ctx, subplans, keyFieldIdx.length,
- decorFieldIdx.length, writer);
- final NestedTupleSourceRuntime[] pipelines = new NestedTupleSourceRuntime[subplans.length];
- for (int i = 0; i < subplans.length; i++) {
- try {
- pipelines[i] = (NestedTupleSourceRuntime) assemblePipeline(subplans[i], outputWriter, ctx);
- } catch (AlgebricksException e) {
- throw new HyracksDataException(e);
- }
- }
-
- final ArrayTupleBuilder gbyTb = outputWriter.getGroupByTupleBuilder();
-
- return new IAggregatorDescriptor() {
-
- @Override
- public void init(ArrayTupleBuilder tupleBuilder, IFrameTupleAccessor accessor, int tIndex,
- AggregateState state) throws HyracksDataException {
-
- for (int i = 0; i < pipelines.length; ++i) {
- pipelines[i].open();
- }
-
- gbyTb.reset();
- for (int i = 0; i < keyFieldIdx.length; ++i) {
- gbyTb.addField(accessor, tIndex, keyFieldIdx[i]);
- }
- for (int i = 0; i < decorFieldIdx.length; ++i) {
- gbyTb.addField(accessor, tIndex, decorFieldIdx[i]);
- }
-
- // aggregate the first tuple
- for (int i = 0; i < pipelines.length; i++) {
- outputWriter.setInputIdx(i);
- pipelines[i].writeTuple(accessor.getBuffer(), tIndex);
- }
- }
-
- @Override
- public void aggregate(IFrameTupleAccessor accessor, int tIndex, IFrameTupleAccessor stateAccessor,
- int stateTupleIndex, AggregateState state) throws HyracksDataException {
- for (int i = 0; i < pipelines.length; i++) {
- outputWriter.setInputIdx(i);
- pipelines[i].writeTuple(accessor.getBuffer(), tIndex);
- }
- }
-
- @Override
- public boolean outputFinalResult(ArrayTupleBuilder tupleBuilder, IFrameTupleAccessor accessor, int tIndex,
- AggregateState state) throws HyracksDataException {
- for (int i = 0; i < pipelines.length; ++i) {
- outputWriter.setInputIdx(i);
- pipelines[i].close();
- }
- return false;
- }
-
- @Override
- public AggregateState createAggregateStates() {
- return new AggregateState();
- }
-
- @Override
- public void reset() {
-
- }
-
- @Override
- public boolean outputPartialResult(ArrayTupleBuilder tupleBuilder, IFrameTupleAccessor accessor,
- int tIndex, AggregateState state) throws HyracksDataException {
- throw new IllegalStateException("this method should not be called");
- }
-
- @Override
- public void close() {
-
- }
- };
- }
-
- private IFrameWriter assemblePipeline(AlgebricksPipeline subplan, IFrameWriter writer, IHyracksTaskContext ctx)
- throws AlgebricksException, HyracksDataException {
- // plug the operators
- IFrameWriter start = writer;
- IPushRuntimeFactory[] runtimeFactories = subplan.getRuntimeFactories();
- RecordDescriptor[] recordDescriptors = subplan.getRecordDescriptors();
- for (int i = runtimeFactories.length - 1; i >= 0; i--) {
- IPushRuntime newRuntime = runtimeFactories[i].createPushRuntime(ctx);
- newRuntime.setFrameWriter(0, start, recordDescriptors[i]);
- if (i > 0) {
- newRuntime.setInputRecordDescriptor(0, recordDescriptors[i - 1]);
- } else {
- // the nts has the same input and output rec. desc.
- newRuntime.setInputRecordDescriptor(0, recordDescriptors[0]);
- }
- start = newRuntime;
- }
- return start;
- }
-
- private static class RunningAggregatorOutput implements IFrameWriter {
-
- private final FrameTupleAccessor[] tAccess;
- private final RecordDescriptor[] inputRecDesc;
- private int inputIdx;
- private final ArrayTupleBuilder tb;
- private final ArrayTupleBuilder gbyTb;
- private final AlgebricksPipeline[] subplans;
- private final IFrameWriter outputWriter;
- private final FrameTupleAppender outputAppender;
-
- public RunningAggregatorOutput(IHyracksTaskContext ctx, AlgebricksPipeline[] subplans, int numKeys,
- int numDecors, IFrameWriter outputWriter) throws HyracksDataException {
- this.subplans = subplans;
- this.outputWriter = outputWriter;
-
- // this.keyFieldIndexes = keyFieldIndexes;
- int totalAggFields = 0;
- this.inputRecDesc = new RecordDescriptor[subplans.length];
- for (int i = 0; i < subplans.length; i++) {
- RecordDescriptor[] rd = subplans[i].getRecordDescriptors();
- this.inputRecDesc[i] = rd[rd.length - 1];
- totalAggFields += subplans[i].getOutputWidth();
- }
- tb = new ArrayTupleBuilder(numKeys + numDecors + totalAggFields);
- gbyTb = new ArrayTupleBuilder(numKeys + numDecors);
-
- this.tAccess = new FrameTupleAccessor[inputRecDesc.length];
- for (int i = 0; i < inputRecDesc.length; i++) {
- tAccess[i] = new FrameTupleAccessor(inputRecDesc[i]);
- }
-
- this.outputAppender = new FrameTupleAppender(new VSizeFrame(ctx));
- }
-
- @Override
- public void open() throws HyracksDataException {
-
- }
-
- @Override
- public void nextFrame(ByteBuffer buffer) throws HyracksDataException {
- int w = subplans[inputIdx].getOutputWidth();
- IFrameTupleAccessor accessor = tAccess[inputIdx];
- accessor.reset(buffer);
- for (int tIndex = 0; tIndex < accessor.getTupleCount(); tIndex++) {
- tb.reset();
- byte[] data = gbyTb.getByteArray();
- int[] fieldEnds = gbyTb.getFieldEndOffsets();
- int start = 0;
- int offset = 0;
- for (int i = 0; i < fieldEnds.length; i++) {
- if (i > 0)
- start = fieldEnds[i - 1];
- offset = fieldEnds[i] - start;
- tb.addField(data, start, offset);
- }
- for (int f = 0; f < w; f++) {
- tb.addField(accessor, tIndex, f);
- }
- FrameUtils.appendToWriter(outputWriter, outputAppender, tb.getFieldEndOffsets(),
- tb.getByteArray(), 0, tb.getSize());
- }
- }
-
- @Override
- public void close() throws HyracksDataException {
- outputAppender.flush(outputWriter, true);
- }
-
- public void setInputIdx(int inputIdx) {
- this.inputIdx = inputIdx;
- }
-
- public ArrayTupleBuilder getGroupByTupleBuilder() {
- return gbyTb;
- }
-
- @Override
- public void fail() throws HyracksDataException {
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/SerializableAggregatorDescriptorFactory.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/SerializableAggregatorDescriptorFactory.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/SerializableAggregatorDescriptorFactory.java
deleted file mode 100644
index 39db3e1..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/SerializableAggregatorDescriptorFactory.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.operators.aggreg;
-
-import java.io.DataOutput;
-
-import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-import edu.uci.ics.hyracks.algebricks.runtime.base.ICopySerializableAggregateFunction;
-import edu.uci.ics.hyracks.algebricks.runtime.base.ICopySerializableAggregateFunctionFactory;
-import edu.uci.ics.hyracks.api.comm.IFrameTupleAccessor;
-import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
-import edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor;
-import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-import edu.uci.ics.hyracks.dataflow.common.comm.io.ArrayTupleBuilder;
-import edu.uci.ics.hyracks.dataflow.common.data.accessors.FrameTupleReference;
-import edu.uci.ics.hyracks.dataflow.std.group.AbstractAccumulatingAggregatorDescriptorFactory;
-import edu.uci.ics.hyracks.dataflow.std.group.AggregateState;
-import edu.uci.ics.hyracks.dataflow.std.group.IAggregatorDescriptor;
-
-public class SerializableAggregatorDescriptorFactory extends AbstractAccumulatingAggregatorDescriptorFactory {
- private static final long serialVersionUID = 1L;
- private ICopySerializableAggregateFunctionFactory[] aggFactories;
-
- public SerializableAggregatorDescriptorFactory(ICopySerializableAggregateFunctionFactory[] aggFactories) {
- this.aggFactories = aggFactories;
- }
-
- @Override
- public IAggregatorDescriptor createAggregator(IHyracksTaskContext ctx, RecordDescriptor inRecordDescriptor,
- RecordDescriptor outRecordDescriptor, int[] keyFields, final int[] keyFieldsInPartialResults)
- throws HyracksDataException {
- final int[] keys = keyFields;
-
- /**
- * one IAggregatorDescriptor instance per Gby operator
- */
- return new IAggregatorDescriptor() {
- private FrameTupleReference ftr = new FrameTupleReference();
- private ICopySerializableAggregateFunction[] aggs = new ICopySerializableAggregateFunction[aggFactories.length];
- private int offsetFieldIndex = keys.length;
- private int stateFieldLength[] = new int[aggFactories.length];
-
- @Override
- public AggregateState createAggregateStates() {
- return new AggregateState();
- }
-
- @Override
- public void init(ArrayTupleBuilder tb, IFrameTupleAccessor accessor, int tIndex, AggregateState state)
- throws HyracksDataException {
- DataOutput output = tb.getDataOutput();
- ftr.reset(accessor, tIndex);
- for (int i = 0; i < aggs.length; i++) {
- try {
- int begin = tb.getSize();
- if (aggs[i] == null) {
- aggs[i] = aggFactories[i].createAggregateFunction();
- }
- aggs[i].init(output);
- tb.addFieldEndOffset();
- stateFieldLength[i] = tb.getSize() - begin;
- } catch (AlgebricksException e) {
- throw new HyracksDataException(e);
- }
- }
-
- // doing initial aggregate
- ftr.reset(accessor, tIndex);
- for (int i = 0; i < aggs.length; i++) {
- try {
- byte[] data = tb.getByteArray();
- int prevFieldPos = i + keys.length - 1;
- int start = prevFieldPos >= 0 ? tb.getFieldEndOffsets()[prevFieldPos] : 0;
- aggs[i].step(ftr, data, start, stateFieldLength[i]);
- } catch (AlgebricksException e) {
- throw new HyracksDataException(e);
- }
- }
- }
-
- @Override
- public void aggregate(IFrameTupleAccessor accessor, int tIndex, IFrameTupleAccessor stateAccessor,
- int stateTupleIndex, AggregateState state) throws HyracksDataException {
- ftr.reset(accessor, tIndex);
- int stateTupleStart = stateAccessor.getTupleStartOffset(stateTupleIndex);
- int fieldSlotLength = stateAccessor.getFieldSlotsLength();
- for (int i = 0; i < aggs.length; i++) {
- try {
- byte[] data = stateAccessor.getBuffer().array();
- int start = stateAccessor.getFieldStartOffset(stateTupleIndex, i + keys.length)
- + stateTupleStart + fieldSlotLength;
- aggs[i].step(ftr, data, start, stateFieldLength[i]);
- } catch (AlgebricksException e) {
- throw new HyracksDataException(e);
- }
- }
- }
-
- @Override
- public boolean outputPartialResult(ArrayTupleBuilder tb, IFrameTupleAccessor accessor, int tIndex,
- AggregateState state) throws HyracksDataException {
- byte[] data = accessor.getBuffer().array();
- int startOffset = accessor.getTupleStartOffset(tIndex);
- int aggFieldOffset = accessor.getFieldStartOffset(tIndex, offsetFieldIndex);
- int refOffset = startOffset + accessor.getFieldSlotsLength() + aggFieldOffset;
- int start = refOffset;
- for (int i = 0; i < aggs.length; i++) {
- try {
- aggs[i].finishPartial(data, start, stateFieldLength[i], tb.getDataOutput());
- start += stateFieldLength[i];
- tb.addFieldEndOffset();
- } catch (AlgebricksException e) {
- throw new HyracksDataException(e);
- }
- }
- return true;
- }
-
- @Override
- public boolean outputFinalResult(ArrayTupleBuilder tb, IFrameTupleAccessor accessor, int tIndex,
- AggregateState state) throws HyracksDataException {
- byte[] data = accessor.getBuffer().array();
- int startOffset = accessor.getTupleStartOffset(tIndex);
- int aggFieldOffset = accessor.getFieldStartOffset(tIndex, offsetFieldIndex);
- int refOffset = startOffset + accessor.getFieldSlotsLength() + aggFieldOffset;
- int start = refOffset;
- for (int i = 0; i < aggs.length; i++) {
- try {
- aggs[i].finish(data, start, stateFieldLength[i], tb.getDataOutput());
- start += stateFieldLength[i];
- tb.addFieldEndOffset();
- } catch (AlgebricksException e) {
- throw new HyracksDataException(e);
- }
- }
- return true;
- }
-
- @Override
- public void reset() {
-
- }
-
- @Override
- public void close() {
- reset();
- }
-
- };
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/SimpleAlgebricksAccumulatingAggregatorFactory.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/SimpleAlgebricksAccumulatingAggregatorFactory.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/SimpleAlgebricksAccumulatingAggregatorFactory.java
deleted file mode 100644
index b3eab7b..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/aggreg/SimpleAlgebricksAccumulatingAggregatorFactory.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.operators.aggreg;
-
-import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-import edu.uci.ics.hyracks.algebricks.runtime.base.IAggregateEvaluator;
-import edu.uci.ics.hyracks.algebricks.runtime.base.IAggregateEvaluatorFactory;
-import edu.uci.ics.hyracks.api.comm.IFrameTupleAccessor;
-import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
-import edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor;
-import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-import edu.uci.ics.hyracks.data.std.api.IPointable;
-import edu.uci.ics.hyracks.data.std.primitive.VoidPointable;
-import edu.uci.ics.hyracks.dataflow.common.comm.io.ArrayTupleBuilder;
-import edu.uci.ics.hyracks.dataflow.common.data.accessors.FrameTupleReference;
-import edu.uci.ics.hyracks.dataflow.std.group.AbstractAccumulatingAggregatorDescriptorFactory;
-import edu.uci.ics.hyracks.dataflow.std.group.AggregateState;
-import edu.uci.ics.hyracks.dataflow.std.group.IAggregatorDescriptor;
-
-public class SimpleAlgebricksAccumulatingAggregatorFactory extends AbstractAccumulatingAggregatorDescriptorFactory {
-
- private static final long serialVersionUID = 1L;
- private IAggregateEvaluatorFactory[] aggFactories;
-
- public SimpleAlgebricksAccumulatingAggregatorFactory(IAggregateEvaluatorFactory[] aggFactories, int[] keys) {
- this.aggFactories = aggFactories;
- }
-
- @Override
- public IAggregatorDescriptor createAggregator(final IHyracksTaskContext ctx, RecordDescriptor inRecordDesc,
- RecordDescriptor outRecordDescriptor, int[] aggKeys, int[] partialKeys) throws HyracksDataException {
-
- return new IAggregatorDescriptor() {
-
- private FrameTupleReference ftr = new FrameTupleReference();
- private IPointable p = VoidPointable.FACTORY.createPointable();
-
- @Override
- public void init(ArrayTupleBuilder tupleBuilder, IFrameTupleAccessor accessor, int tIndex,
- AggregateState state) throws HyracksDataException {
- IAggregateEvaluator[] agg = (IAggregateEvaluator[]) state.state;
-
- // initialize aggregate functions
- for (int i = 0; i < agg.length; i++) {
- try {
- agg[i].init();
- } catch (AlgebricksException e) {
- throw new HyracksDataException(e);
- }
- }
-
- ftr.reset(accessor, tIndex);
- for (int i = 0; i < agg.length; i++) {
- try {
- agg[i].step(ftr);
- } catch (AlgebricksException e) {
- throw new HyracksDataException(e);
- }
- }
- }
-
- @Override
- public void aggregate(IFrameTupleAccessor accessor, int tIndex, IFrameTupleAccessor stateAccessor,
- int stateTupleIndex, AggregateState state) throws HyracksDataException {
- IAggregateEvaluator[] agg = (IAggregateEvaluator[]) state.state;
- ftr.reset(accessor, tIndex);
- for (int i = 0; i < agg.length; i++) {
- try {
- agg[i].step(ftr);
- } catch (AlgebricksException e) {
- throw new HyracksDataException(e);
- }
- }
- }
-
- @Override
- public boolean outputFinalResult(ArrayTupleBuilder tupleBuilder, IFrameTupleAccessor accessor, int tIndex,
- AggregateState state) throws HyracksDataException {
- IAggregateEvaluator[] agg = (IAggregateEvaluator[]) state.state;
- for (int i = 0; i < agg.length; i++) {
- try {
- agg[i].finish(p);
- tupleBuilder.addField(p.getByteArray(), p.getStartOffset(), p.getLength());
- } catch (AlgebricksException e) {
- throw new HyracksDataException(e);
- }
- }
- return true;
- }
-
- @Override
- public AggregateState createAggregateStates() {
- IAggregateEvaluator[] agg = new IAggregateEvaluator[aggFactories.length];
- for (int i = 0; i < agg.length; i++) {
- try {
- agg[i] = aggFactories[i].createAggregateEvaluator(ctx);
- } catch (AlgebricksException e) {
- throw new IllegalStateException(e);
- }
- }
- return new AggregateState(agg);
- }
-
- @Override
- public void reset() {
-
- }
-
- @Override
- public boolean outputPartialResult(ArrayTupleBuilder tupleBuilder, IFrameTupleAccessor accessor,
- int tIndex, AggregateState state) throws HyracksDataException {
- IAggregateEvaluator[] agg = (IAggregateEvaluator[]) state.state;
- for (int i = 0; i < agg.length; i++) {
- try {
- agg[i].finishPartial(p);
- tupleBuilder.addField(p.getByteArray(), p.getStartOffset(), p.getLength());
- } catch (AlgebricksException e) {
- throw new HyracksDataException(e);
- }
- }
- return true;
- }
-
- @Override
- public void close() {
-
- }
-
- };
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputOneOutputOneFieldFramePushRuntime.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputOneOutputOneFieldFramePushRuntime.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputOneOutputOneFieldFramePushRuntime.java
deleted file mode 100644
index cd71125..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputOneOutputOneFieldFramePushRuntime.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.operators.base;
-
-import edu.uci.ics.hyracks.api.comm.IFrameFieldAppender;
-import edu.uci.ics.hyracks.api.comm.IFrameTupleAccessor;
-import edu.uci.ics.hyracks.api.comm.IFrameTupleAppender;
-import edu.uci.ics.hyracks.api.comm.VSizeFrame;
-import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
-import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-import edu.uci.ics.hyracks.dataflow.common.comm.io.FrameFixedFieldTupleAppender;
-import edu.uci.ics.hyracks.dataflow.common.comm.io.FrameTupleAccessor;
-import edu.uci.ics.hyracks.dataflow.common.comm.util.FrameUtils;
-import edu.uci.ics.hyracks.dataflow.common.data.accessors.FrameTupleReference;
-
-public abstract class AbstractOneInputOneOutputOneFieldFramePushRuntime
- extends AbstractOneInputOneOutputOneFramePushRuntime {
-
- @Override
- protected IFrameTupleAppender getTupleAppender() {
- return (FrameFixedFieldTupleAppender) appender;
- }
-
- protected IFrameFieldAppender getFieldAppender() {
- return (FrameFixedFieldTupleAppender) appender;
- }
-
- protected final void initAccessAppendFieldRef(IHyracksTaskContext ctx) throws HyracksDataException {
- frame = new VSizeFrame(ctx);
- appender = new FrameFixedFieldTupleAppender(inputRecordDesc.getFieldCount());
- appender.reset(frame, true);
- tAccess = new FrameTupleAccessor(inputRecordDesc);
- tRef = new FrameTupleReference();
- }
-
- protected void appendField(byte[] array, int start, int length) throws HyracksDataException {
- FrameUtils.appendFieldToWriter(writer, getFieldAppender(), array, start, length);
- }
-
- protected void appendField(IFrameTupleAccessor accessor, int tid, int fid) throws HyracksDataException {
- FrameUtils.appendFieldToWriter(writer, getFieldAppender(), accessor, tid, fid);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputOneOutputOneFramePushRuntime.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputOneOutputOneFramePushRuntime.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputOneOutputOneFramePushRuntime.java
deleted file mode 100644
index ec4e039..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputOneOutputOneFramePushRuntime.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.operators.base;
-
-import edu.uci.ics.hyracks.api.comm.IFrame;
-import edu.uci.ics.hyracks.api.comm.IFrameAppender;
-import edu.uci.ics.hyracks.api.comm.IFrameTupleAccessor;
-import edu.uci.ics.hyracks.api.comm.IFrameTupleAppender;
-import edu.uci.ics.hyracks.api.comm.VSizeFrame;
-import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
-import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-import edu.uci.ics.hyracks.dataflow.common.comm.io.ArrayTupleBuilder;
-import edu.uci.ics.hyracks.dataflow.common.comm.io.FrameTupleAccessor;
-import edu.uci.ics.hyracks.dataflow.common.comm.io.FrameTupleAppender;
-import edu.uci.ics.hyracks.dataflow.common.comm.util.FrameUtils;
-import edu.uci.ics.hyracks.dataflow.common.data.accessors.FrameTupleReference;
-
-public abstract class AbstractOneInputOneOutputOneFramePushRuntime extends AbstractOneInputOneOutputPushRuntime {
-
- protected IFrameAppender appender;
- protected IFrame frame;
- protected FrameTupleAccessor tAccess;
- protected FrameTupleReference tRef;
-
- protected final void initAccessAppend(IHyracksTaskContext ctx) throws HyracksDataException {
- frame = new VSizeFrame(ctx);
- appender = new FrameTupleAppender(frame);
- tAccess = new FrameTupleAccessor(inputRecordDesc);
- }
-
- protected final void initAccessAppendRef(IHyracksTaskContext ctx) throws HyracksDataException {
- initAccessAppend(ctx);
- tRef = new FrameTupleReference();
- }
-
- @Override
- public void close() throws HyracksDataException {
- flushIfNotFailed();
- writer.close();
- }
-
- protected void flushAndReset() throws HyracksDataException {
- if (appender.getTupleCount() > 0) {
- appender.flush(writer, true);
- }
- }
-
- protected void flushIfNotFailed() throws HyracksDataException {
- if (!failed) {
- flushAndReset();
- }
- }
-
- protected IFrameTupleAppender getTupleAppender() {
- return (FrameTupleAppender) appender;
- }
-
- protected void appendToFrameFromTupleBuilder(ArrayTupleBuilder tb) throws HyracksDataException {
- appendToFrameFromTupleBuilder(tb, false);
- }
-
- protected void appendToFrameFromTupleBuilder(ArrayTupleBuilder tb, boolean flushFrame) throws HyracksDataException {
- FrameUtils.appendToWriter(writer, getTupleAppender(), tb.getFieldEndOffsets(), tb.getByteArray(), 0,
- tb.getSize());
- if (flushFrame) {
- flushAndReset();
- }
- }
-
- protected void appendProjectionToFrame(int tIndex, int[] projectionList) throws HyracksDataException {
- appendProjectionToFrame(tIndex, projectionList, false);
- }
-
- protected void appendProjectionToFrame(int tIndex, int[] projectionList, boolean flushFrame)
- throws HyracksDataException {
- FrameUtils.appendProjectionToWriter(writer, getTupleAppender(), tAccess, tIndex, projectionList);
- if (flushFrame) {
- flushAndReset();
- }
- }
-
- protected void appendTupleToFrame(int tIndex) throws HyracksDataException {
- FrameUtils.appendToWriter(writer, getTupleAppender(), tAccess, tIndex);
- }
-
- protected void appendConcat(IFrameTupleAccessor accessor0, int tIndex0, IFrameTupleAccessor accessor1, int tIndex1)
- throws HyracksDataException {
- FrameUtils.appendConcatToWriter(writer, getTupleAppender(), accessor0, tIndex0, accessor1, tIndex1);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputOneOutputPushRuntime.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputOneOutputPushRuntime.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputOneOutputPushRuntime.java
deleted file mode 100644
index 0d3febf..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputOneOutputPushRuntime.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.operators.base;
-
-import edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor;
-
-public abstract class AbstractOneInputOneOutputPushRuntime extends AbstractOneInputPushRuntime {
-
- protected RecordDescriptor inputRecordDesc;
-
- @Override
- public void setInputRecordDescriptor(int index, RecordDescriptor recordDescriptor) {
- this.inputRecordDesc = recordDescriptor;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputOneOutputRuntimeFactory.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputOneOutputRuntimeFactory.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputOneOutputRuntimeFactory.java
deleted file mode 100644
index 1d31916..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputOneOutputRuntimeFactory.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.operators.base;
-
-import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
-import edu.uci.ics.hyracks.algebricks.runtime.base.IPushRuntime;
-import edu.uci.ics.hyracks.algebricks.runtime.base.IPushRuntimeFactory;
-import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
-import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-
-public abstract class AbstractOneInputOneOutputRuntimeFactory implements IPushRuntimeFactory {
-
- private static final long serialVersionUID = 1L;
-
- protected final int[] projectionList;
-
- public AbstractOneInputOneOutputRuntimeFactory(int[] projectionList) {
- this.projectionList = projectionList;
- }
-
- @Override
- public IPushRuntime createPushRuntime(IHyracksTaskContext ctx) throws AlgebricksException, HyracksDataException {
- return createOneOutputPushRuntime(ctx);
- }
-
- public abstract AbstractOneInputOneOutputPushRuntime createOneOutputPushRuntime(IHyracksTaskContext ctx)
- throws AlgebricksException, HyracksDataException;
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb-hyracks/blob/9939b48e/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputPushRuntime.java
----------------------------------------------------------------------
diff --git a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputPushRuntime.java b/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputPushRuntime.java
deleted file mode 100644
index 47ebac1..0000000
--- a/algebricks/algebricks-runtime/src/main/java/edu/uci/ics/hyracks/algebricks/runtime/operators/base/AbstractOneInputPushRuntime.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.hyracks.algebricks.runtime.operators.base;
-
-import edu.uci.ics.hyracks.algebricks.runtime.base.IPushRuntime;
-import edu.uci.ics.hyracks.api.comm.IFrameWriter;
-import edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor;
-import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-
-public abstract class AbstractOneInputPushRuntime implements IPushRuntime {
- protected IFrameWriter writer;
- protected RecordDescriptor outputRecordDesc;
- protected boolean failed;
-
- @Override
- public void setFrameWriter(int index, IFrameWriter writer, RecordDescriptor recordDesc) {
- this.writer = writer;
- this.outputRecordDesc = recordDesc;
- }
-
- @Override
- public void fail() throws HyracksDataException {
- failed = true;
- writer.fail();
- }
-}