You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vxquery.apache.org by vi...@apache.org on 2012/06/11 12:50:53 UTC

svn commit: r1348792 [1/2] - in /incubator/vxquery/branches/vxquery_algebricks: ./ vxquery-cli/ vxquery-cli/src/ vxquery-cli/src/main/ vxquery-cli/src/main/java/ vxquery-cli/src/main/java/org/ vxquery-cli/src/main/java/org/apache/ vxquery-cli/src/main/...

Author: vinayakb
Date: Mon Jun 11 10:50:49 2012
New Revision: 1348792

URL: http://svn.apache.org/viewvc?rev=1348792&view=rev
Log:
Moved VXQuery command line client to separate project. vxq starts an in-process instance of Hyracks and runs queries end to end

Added:
    incubator/vxquery/branches/vxquery_algebricks/vxquery-cli/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-cli/pom.xml
    incubator/vxquery/branches/vxquery_algebricks/vxquery-cli/src/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-cli/src/main/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-cli/src/main/java/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-cli/src/main/java/org/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-cli/src/main/java/org/apache/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-cli/src/main/java/org/apache/vxquery/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-cli/src/main/java/org/apache/vxquery/cli/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryConstantValue.java
      - copied, changed from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/ConstantValue.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryExpressionJobGen.java
      - copied, changed from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/jobgen/ExpressionJobGen.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryPrinterFactory.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryPrinterFactoryProvider.java
      - copied, changed from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/PrinterFactoryProvider.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/SequencePointable.java
      - copied, changed from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/SequencePointable.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/TaggedValuePointable.java
      - copied, changed from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/TaggedValuePointable.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/QNamePointable.java
      - copied, changed from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/QNamePointable.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/AttributeNodePointable.java
      - copied, changed from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/AttributeNodePointable.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/DocumentNodePointable.java
      - copied, changed from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/DocumentNodePointable.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/ElementNodePointable.java
      - copied, changed from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/ElementNodePointable.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/NodeTreePointable.java
      - copied, changed from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/NodeTreePointable.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/PINodePointable.java
      - copied, changed from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/PINodePointable.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/TextOrCommentNodePointable.java
      - copied, changed from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/TextOrCommentNodePointable.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/atomic/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/atomic/StringValueBuilder.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/AbstractValueBuilder.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/IValueBuilder.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/AttributeNodeBuilder.java
      - copied, changed from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/AttributeNodeBuilder.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/CommentNodeBuilder.java
      - copied, changed from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/CommentNodeBuilder.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/DictionaryBuilder.java
      - copied, changed from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/DictionaryBuilder.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/ElementNodeBuilder.java
      - copied, changed from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/ElementNodeBuilder.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/PINodeBuilder.java
      - copied, changed from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/PINodeBuilder.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/TextNodeBuilder.java
      - copied, changed from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/TextNodeBuilder.java
Removed:
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/ConstantValue.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/PrinterFactoryProvider.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/jobgen/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/control/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/AttributeNodePointable.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/DocumentNodePointable.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/ElementNodePointable.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/NodeTreePointable.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/PINodePointable.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/QNamePointable.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/SequencePointable.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/TaggedValuePointable.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/TextOrCommentNodePointable.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/AttributeNodeBuilder.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/CommentNodeBuilder.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/DictionaryBuilder.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/ElementNodeBuilder.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/PINodeBuilder.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/TextNodeBuilder.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/drivers/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/processors/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/v0datamodel/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/v0runtime/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/test/java/org/apache/vxquery/datamodel/
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/test/java/org/apache/vxquery/xtest/
Modified:
    incubator/vxquery/branches/vxquery_algebricks/pom.xml
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/pom.xml
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/CompilerControlBlock.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/context/DynamicContext.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/context/DynamicContextImpl.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/IDMBuilderPool.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/BuiltinFunction.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/ExternalFunction.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/Function.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/Operator.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/UserDefinedXQueryFunction.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/metadata/QueryResultDataSink.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AbstractNodeType.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnyItemType.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnyNodeType.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnySimpleType.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AnyType.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/AttributeType.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinAtomicType.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/BuiltinTypeRegistry.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/CommentType.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/ComposedType.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/DocumentType.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/ElementType.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/EmptySequenceType.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/NameTest.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/NoneType.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/ProcessingInstructionType.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/QuantifiedType.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/TextType.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/types/XQType.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/IEventAcceptor.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlparser/NodeTreeBuildingEventAcceptor.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/Module.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/PrologVariable.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XMLQueryCompiler.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/translator/XMLQueryTranslator.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/xslt/generate-fn-defns.xsl
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/xslt/generate-op-defns.xsl
    incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/test/java/org/apache/vxquery/xmlquery/query/SimpleXQueryTest.java
    incubator/vxquery/branches/vxquery_algebricks/vxquery-xtest/src/main/java/org/apache/vxquery/xtest/TestRunnerFactory.java

Modified: incubator/vxquery/branches/vxquery_algebricks/pom.xml
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/pom.xml?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/pom.xml (original)
+++ incubator/vxquery/branches/vxquery_algebricks/pom.xml Mon Jun 11 10:50:49 2012
@@ -130,6 +130,21 @@
       </developer>         
   </developers>
 
+  <repositories>
+    <repository>
+      <id>hyracks-snapshots</id>
+      <url>http://obelix.ics.uci.edu/nexus/content/repositories/hyracks-snapshots/</url>
+      <snapshots>
+      </snapshots>
+    </repository>
+    <repository>
+      <id>hyracks-releases</id>
+      <url>http://obelix.ics.uci.edu/nexus/content/repositories/hyracks-releases/</url>
+      <releases>
+      </releases>
+    </repository>
+  </repositories>
+
   <mailingLists>
       <mailingList>
         <name>VXQuery-dev</name>
@@ -225,6 +240,7 @@
   <modules>
     <module>vxquery-core</module>
     <module>vxquery-xtest</module>
+    <module>vxquery-cli</module>
   </modules>
  
 </project>

Added: incubator/vxquery/branches/vxquery_algebricks/vxquery-cli/pom.xml
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-cli/pom.xml?rev=1348792&view=auto
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-cli/pom.xml (added)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-cli/pom.xml Mon Jun 11 10:50:49 2012
@@ -0,0 +1,103 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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 at
+
+      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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.vxquery</groupId>
+  <artifactId>vxquery-cli</artifactId>
+  <packaging>jar</packaging>
+  <version>0.1-SNAPSHOT</version>
+  <name>VXQuery CLI</name>
+  <description>Apache VXQuery Processor</description>
+
+  <distributionManagement>
+    <site>
+      <id>vxquery.website</id>
+      <name>VXQuery Website</name>
+      <url>file:../../site/vxquery-cli/</url>
+    </site>
+  </distributionManagement>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>2.3.2</version>
+        <configuration>
+          <source>1.6</source>
+          <target>1.6</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>appassembler-maven-plugin</artifactId>
+        <version>1.1.1</version>
+        <executions>
+          <execution>
+            <configuration>
+              <programs>
+                <program>
+                  <mainClass>org.apache.vxquery.cli.VXQuery</mainClass>
+                  <name>vxq</name>
+                </program>
+              </programs>
+              <repositoryLayout>flat</repositoryLayout>
+              <repositoryName>lib</repositoryName>
+            </configuration>
+            <phase>package</phase>
+            <goals>
+              <goal>assemble</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.vxquery</groupId>
+      <artifactId>vxquery-core</artifactId>
+      <version>0.1-SNAPSHOT</version>
+      <scope>compile</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>edu.uci.ics.hyracks</groupId>
+      <artifactId>hyracks-control-cc</artifactId>
+      <version>0.2.1-SNAPSHOT</version>
+    </dependency>
+
+    <dependency>
+      <groupId>edu.uci.ics.hyracks</groupId>
+      <artifactId>hyracks-control-nc</artifactId>
+      <version>0.2.1-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+    	<groupId>args4j</groupId>
+    	<artifactId>args4j</artifactId>
+    	<version>2.0.9</version>
+    </dependency>
+  </dependencies>
+  
+  <reporting>
+    <plugins>
+    </plugins>
+  </reporting>
+  
+</project>

Added: incubator/vxquery/branches/vxquery_algebricks/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java?rev=1348792&view=auto
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java (added)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java Mon Jun 11 10:50:49 2012
@@ -0,0 +1,262 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 at
+ * 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 org.apache.vxquery.cli;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.EnumSet;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.vxquery.compiler.CompilerControlBlock;
+import org.apache.vxquery.context.RootStaticContextImpl;
+import org.apache.vxquery.context.StaticContextImpl;
+import org.apache.vxquery.xmlquery.ast.ModuleNode;
+import org.apache.vxquery.xmlquery.query.Module;
+import org.apache.vxquery.xmlquery.query.XMLQueryCompiler;
+import org.apache.vxquery.xmlquery.query.XQueryCompilationListener;
+import org.kohsuke.args4j.Argument;
+import org.kohsuke.args4j.CmdLineParser;
+import org.kohsuke.args4j.Option;
+
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.io.xml.DomDriver;
+
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.core.algebra.prettyprint.LogicalOperatorPrettyPrintVisitor;
+import edu.uci.ics.hyracks.algebricks.core.algebra.prettyprint.PlanPrettyPrinter;
+import edu.uci.ics.hyracks.api.client.HyracksConnection;
+import edu.uci.ics.hyracks.api.client.IHyracksClientConnection;
+import edu.uci.ics.hyracks.api.job.JobFlag;
+import edu.uci.ics.hyracks.api.job.JobId;
+import edu.uci.ics.hyracks.api.job.JobSpecification;
+import edu.uci.ics.hyracks.control.cc.ClusterControllerService;
+import edu.uci.ics.hyracks.control.common.controllers.CCConfig;
+import edu.uci.ics.hyracks.control.common.controllers.NCConfig;
+import edu.uci.ics.hyracks.control.nc.NodeControllerService;
+import edu.uci.ics.hyracks.dataflow.std.file.FileSplit;
+
+public class VXQuery {
+    private final CmdLineOptions opts;
+
+    private ClusterControllerService cc;
+    private NodeControllerService nc1;
+    private NodeControllerService nc2;
+    private IHyracksClientConnection hcc;
+
+    public VXQuery(CmdLineOptions opts) {
+        this.opts = opts;
+    }
+
+    public static void main(String[] args) throws Exception {
+        final CmdLineOptions opts = new CmdLineOptions();
+        CmdLineParser parser = new CmdLineParser(opts);
+        try {
+            parser.parseArgument(args);
+        } catch (Exception e) {
+            parser.printUsage(System.err);
+            return;
+        }
+        if (opts.arguments.isEmpty()) {
+            parser.printUsage(System.err);
+            return;
+        }
+        VXQuery vxq = new VXQuery(opts);
+        vxq.execute();
+    }
+
+    private void execute() throws Exception {
+        if (!opts.compileOnly) {
+            startLocalHyracks();
+        }
+        for (String query : opts.arguments) {
+            String qStr = slurp(query);
+            if (opts.showQuery) {
+                System.err.println(qStr);
+            }
+            XQueryCompilationListener listener = new XQueryCompilationListener() {
+                @Override
+                public void notifyCodegenResult(Module module) {
+                    if (opts.showRP) {
+                        JobSpecification jobSpec = module.getHyracksJobSpecification();
+                        System.err.println(jobSpec.toString());
+                    }
+                }
+
+                @Override
+                public void notifyTranslationResult(Module module) {
+                    if (opts.showTET) {
+                        try {
+                            LogicalOperatorPrettyPrintVisitor v = new LogicalOperatorPrettyPrintVisitor();
+                            StringBuilder buffer = new StringBuilder();
+                            PlanPrettyPrinter.printPlan(module.getBody(), buffer, v, 0);
+                            System.err.println(buffer.toString());
+                        } catch (AlgebricksException e) {
+                            e.printStackTrace();
+                        }
+                    }
+                }
+
+                @Override
+                public void notifyTypecheckResult(Module module) {
+                }
+
+                @Override
+                public void notifyOptimizedResult(Module module) {
+                    if (opts.showOET) {
+                        try {
+                            LogicalOperatorPrettyPrintVisitor v = new LogicalOperatorPrettyPrintVisitor();
+                            StringBuilder buffer = new StringBuilder();
+                            PlanPrettyPrinter.printPlan(module.getBody(), buffer, v, 0);
+                            System.err.println(buffer.toString());
+                        } catch (AlgebricksException e) {
+                            e.printStackTrace();
+                        }
+                    }
+                }
+
+                @Override
+                public void notifyParseResult(ModuleNode moduleNode) {
+                    if (opts.showAST) {
+                        System.err.println(new XStream(new DomDriver()).toXML(moduleNode));
+                    }
+                }
+            };
+            File result = createTempFile("test");
+            XMLQueryCompiler compiler = new XMLQueryCompiler(listener);
+            CompilerControlBlock ccb = new CompilerControlBlock(new StaticContextImpl(RootStaticContextImpl.INSTANCE),
+                    new FileSplit[] { new FileSplit("nc1", result.getAbsolutePath()) });
+            compiler.compile(query, new StringReader(qStr), ccb, opts.optimizationLevel);
+            if (opts.compileOnly) {
+                continue;
+            }
+
+            runInProcess(compiler.getModule().getHyracksJobSpecification(), result);
+        }
+        if (!opts.compileOnly) {
+            stopLocalHyracks();
+        }
+    }
+
+    private void runInProcess(JobSpecification spec, File result) throws Exception {
+        JobId jobId = hcc.createJob("test", spec, EnumSet.of(JobFlag.PROFILE_RUNTIME));
+        hcc.start(jobId);
+        hcc.waitForCompletion(jobId);
+        dumpOutputFiles(result);
+    }
+
+    private void dumpOutputFiles(File f) throws IOException {
+        if (f.exists() && f.isFile()) {
+            System.err.println("Reading file: " + f.getAbsolutePath());
+            String data = FileUtils.readFileToString(f);
+            System.err.println(data);
+        }
+    }
+
+    protected File createTempFile(String name) throws IOException {
+        System.err.println("Name: " + name);
+        File tempFile = File.createTempFile(name, ".tmp");
+        System.err.println("Output file: " + tempFile.getAbsolutePath());
+        tempFile.deleteOnExit();
+        return tempFile;
+    }
+
+    public void startLocalHyracks() throws Exception {
+        CCConfig ccConfig = new CCConfig();
+        ccConfig.clientNetIpAddress = "127.0.0.1";
+        ccConfig.clientNetPort = 39000;
+        ccConfig.clusterNetIpAddress = "127.0.0.1";
+        ccConfig.clusterNetPort = 39001;
+        ccConfig.profileDumpPeriod = 10000;
+        File outDir = new File("target/ClusterController");
+        outDir.mkdirs();
+        File ccRoot = File.createTempFile(VXQuery.class.getName(), ".data", outDir);
+        ccRoot.delete();
+        ccRoot.mkdir();
+        ccConfig.ccRoot = ccRoot.getAbsolutePath();
+        cc = new ClusterControllerService(ccConfig);
+        cc.start();
+
+        NCConfig ncConfig1 = new NCConfig();
+        ncConfig1.ccHost = "localhost";
+        ncConfig1.ccPort = 39001;
+        ncConfig1.clusterNetIPAddress = "127.0.0.1";
+        ncConfig1.dataIPAddress = "127.0.0.1";
+        ncConfig1.nodeId = "nc1";
+        nc1 = new NodeControllerService(ncConfig1);
+        nc1.start();
+
+        NCConfig ncConfig2 = new NCConfig();
+        ncConfig2.ccHost = "localhost";
+        ncConfig2.ccPort = 39001;
+        ncConfig2.clusterNetIPAddress = "127.0.0.1";
+        ncConfig2.dataIPAddress = "127.0.0.1";
+        ncConfig2.nodeId = "nc2";
+        nc2 = new NodeControllerService(ncConfig2);
+        nc2.start();
+
+        hcc = new HyracksConnection(ccConfig.clientNetIpAddress, ccConfig.clientNetPort);
+        hcc.createApplication("test", null);
+    }
+
+    public void stopLocalHyracks() throws Exception {
+        nc2.stop();
+        nc1.stop();
+        cc.stop();
+    }
+
+    private static String slurp(String query) throws IOException {
+        return FileUtils.readFileToString(new File(query));
+    }
+
+    private static class CmdLineOptions {
+        @Option(name = "-O", usage = "Optimization Level. Default: Full Optimization")
+        private int optimizationLevel = Integer.MAX_VALUE;
+
+        @Option(name = "-showquery", usage = "Show query string")
+        private boolean showQuery;
+
+        @Option(name = "-showast", usage = "Show abstract syntax tree")
+        private boolean showAST;
+
+        @Option(name = "-showtet", usage = "Show translated expression tree")
+        private boolean showTET;
+
+        @Option(name = "-showoet", usage = "Show optimized expression tree")
+        private boolean showOET;
+
+        @Option(name = "-showrp", usage = "Show Runtime plan")
+        private boolean showRP;
+
+        @Option(name = "-compileonly", usage = "Compile the query and stop")
+        private boolean compileOnly;
+
+        @Option(name = "-repeatexec", usage = "Number of times to repeat execution")
+        private int repeatExec = 1;
+
+        @Option(name = "-timing", usage = "Produce timing information")
+        private boolean timing;
+
+        @Option(name = "-x", usage = "Bind an external variable")
+        private Map<String, String> bindings = new HashMap<String, String>();
+
+        @Argument
+        private List<String> arguments = new ArrayList<String>();
+    }
+}
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/pom.xml
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/pom.xml?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/pom.xml (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/pom.xml Mon Jun 11 10:50:49 2012
@@ -32,21 +32,6 @@
     </site>
   </distributionManagement>
 
-  <repositories>
-    <repository>
-      <id>hyracks-snapshots</id>
-      <url>http://obelix.ics.uci.edu/nexus/content/repositories/hyracks-snapshots/</url>
-      <snapshots>
-      </snapshots>
-    </repository>
-    <repository>
-      <id>hyracks-releases</id>
-      <url>http://obelix.ics.uci.edu/nexus/content/repositories/hyracks-releases/</url>
-      <releases>
-      </releases>
-    </repository>
-  </repositories>
-
   <build>
     <plugins>
       <plugin>
@@ -159,29 +144,6 @@
         </executions>
       </plugin>
       <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>appassembler-maven-plugin</artifactId>
-        <version>1.1.1</version>
-        <executions>
-          <execution>
-            <configuration>
-              <programs>
-                <program>
-                  <mainClass>org.apache.vxquery.drivers.VXQuery</mainClass>
-                  <name>vxq</name>
-                </program>
-              </programs>
-              <repositoryLayout>flat</repositoryLayout>
-              <repositoryName>lib</repositoryName>
-            </configuration>
-            <phase>package</phase>
-            <goals>
-              <goal>assemble</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
         <version>2.9</version>
@@ -291,11 +253,6 @@
         <version>1.4</version>
     </dependency>
 
-    <dependency>
-      <groupId>args4j</groupId>
-      <artifactId>args4j</artifactId>
-      <version>2.0.9</version>
-    </dependency>
 
     <dependency>
       <groupId>edu.uci.ics.hyracks</groupId>

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/CompilerControlBlock.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/CompilerControlBlock.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/CompilerControlBlock.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/CompilerControlBlock.java Mon Jun 11 10:50:49 2012
@@ -18,14 +18,23 @@ package org.apache.vxquery.compiler;
 
 import org.apache.vxquery.context.StaticContext;
 
+import edu.uci.ics.hyracks.dataflow.std.file.FileSplit;
+
 public class CompilerControlBlock {
     private final StaticContext ctx;
 
-    public CompilerControlBlock(StaticContext ctx) {
+    private final FileSplit[] resultFileSplits;
+
+    public CompilerControlBlock(StaticContext ctx, FileSplit[] resultFileSplits) {
         this.ctx = ctx;
+        this.resultFileSplits = resultFileSplits;
     }
 
     public StaticContext getStaticContext() {
         return ctx;
     }
+
+    public FileSplit[] getResultFileSplits() {
+        return resultFileSplits;
+    }
 }
\ No newline at end of file

Copied: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryConstantValue.java (from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/ConstantValue.java)
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryConstantValue.java?p2=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryConstantValue.java&p1=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/ConstantValue.java&r1=1347980&r2=1348792&rev=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/ConstantValue.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryConstantValue.java Mon Jun 11 10:50:49 2012
@@ -1,15 +1,16 @@
 package org.apache.vxquery.compiler.algebricks;
 
+import org.apache.commons.codec.binary.Hex;
 import org.apache.vxquery.types.SequenceType;
 
 import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.IAlgebricksConstantValue;
 
-public class ConstantValue implements IAlgebricksConstantValue {
+public class VXQueryConstantValue implements IAlgebricksConstantValue {
     private final SequenceType type;
 
-    private final Object value;
+    private final byte[] value;
 
-    public ConstantValue(SequenceType type, Object value) {
+    public VXQueryConstantValue(SequenceType type, byte[] value) {
         this.type = type;
         this.value = value;
     }
@@ -33,12 +34,15 @@ public class ConstantValue implements IA
         return type;
     }
 
-    public Object getValue() {
+    public byte[] getValue() {
         return value;
     }
 
     @Override
     public String toString() {
-        return type + "(" + value + ")";
+        StringBuilder buffer = new StringBuilder();
+        buffer.append(type).append("(bytes[").append(value.length).append("] = [").append(Hex.encodeHexString(value))
+                .append("])");
+        return buffer.toString();
     }
 }
\ No newline at end of file

Copied: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryExpressionJobGen.java (from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/jobgen/ExpressionJobGen.java)
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryExpressionJobGen.java?p2=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryExpressionJobGen.java&p1=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/jobgen/ExpressionJobGen.java&r1=1347980&r2=1348792&rev=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/jobgen/ExpressionJobGen.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryExpressionJobGen.java Mon Jun 11 10:50:49 2012
@@ -1,8 +1,10 @@
-package org.apache.vxquery.compiler.jobgen;
+package org.apache.vxquery.compiler.algebricks;
 
 import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
 import edu.uci.ics.hyracks.algebricks.core.algebra.base.ILogicalExpression;
+import edu.uci.ics.hyracks.algebricks.core.algebra.base.LogicalExpressionTag;
 import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.AggregateFunctionCallExpression;
+import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.ConstantExpression;
 import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.ILogicalExpressionJobGen;
 import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.IVariableTypeEnvironment;
 import edu.uci.ics.hyracks.algebricks.core.algebra.expressions.StatefulFunctionCallExpression;
@@ -14,36 +16,44 @@ import edu.uci.ics.hyracks.algebricks.ru
 import edu.uci.ics.hyracks.algebricks.runtime.base.IRunningAggregateFunctionFactory;
 import edu.uci.ics.hyracks.algebricks.runtime.base.ISerializableAggregateFunctionFactory;
 import edu.uci.ics.hyracks.algebricks.runtime.base.IUnnestingFunctionFactory;
+import edu.uci.ics.hyracks.algebricks.runtime.evaluators.ConstantEvalFactory;
 
-public class ExpressionJobGen implements ILogicalExpressionJobGen {
+public class VXQueryExpressionJobGen implements ILogicalExpressionJobGen {
     @Override
-    public IAggregateFunctionFactory createAggregateFunctionFactory(AggregateFunctionCallExpression arg0,
-            IVariableTypeEnvironment arg1, IOperatorSchema[] arg2, JobGenContext arg3) throws AlgebricksException {
+    public IEvaluatorFactory createEvaluatorFactory(ILogicalExpression expr, IVariableTypeEnvironment env,
+            IOperatorSchema[] inputSchemas, JobGenContext context) throws AlgebricksException {
+        if (expr.getExpressionTag() == LogicalExpressionTag.CONSTANT) {
+            VXQueryConstantValue cv = (VXQueryConstantValue) ((ConstantExpression) expr).getValue();
+            return new ConstantEvalFactory(cv.getValue());
+        }
         return null;
     }
 
     @Override
-    public IEvaluatorFactory createEvaluatorFactory(ILogicalExpression arg0, IVariableTypeEnvironment arg1,
-            IOperatorSchema[] arg2, JobGenContext arg3) throws AlgebricksException {
+    public IAggregateFunctionFactory createAggregateFunctionFactory(AggregateFunctionCallExpression expr,
+            IVariableTypeEnvironment env, IOperatorSchema[] inputSchemas, JobGenContext context)
+            throws AlgebricksException {
         return null;
     }
 
     @Override
-    public IRunningAggregateFunctionFactory createRunningAggregateFunctionFactory(StatefulFunctionCallExpression arg0,
-            IVariableTypeEnvironment arg1, IOperatorSchema[] arg2, JobGenContext arg3) throws AlgebricksException {
+    public ISerializableAggregateFunctionFactory createSerializableAggregateFunctionFactory(
+            AggregateFunctionCallExpression expr, IVariableTypeEnvironment env, IOperatorSchema[] inputSchemas,
+            JobGenContext context) throws AlgebricksException {
         return null;
     }
 
     @Override
-    public ISerializableAggregateFunctionFactory createSerializableAggregateFunctionFactory(
-            AggregateFunctionCallExpression arg0, IVariableTypeEnvironment arg1, IOperatorSchema[] arg2,
-            JobGenContext arg3) throws AlgebricksException {
+    public IRunningAggregateFunctionFactory createRunningAggregateFunctionFactory(StatefulFunctionCallExpression expr,
+            IVariableTypeEnvironment env, IOperatorSchema[] inputSchemas, JobGenContext context)
+            throws AlgebricksException {
         return null;
     }
 
     @Override
-    public IUnnestingFunctionFactory createUnnestingFunctionFactory(UnnestingFunctionCallExpression arg0,
-            IVariableTypeEnvironment arg1, IOperatorSchema[] arg2, JobGenContext arg3) throws AlgebricksException {
+    public IUnnestingFunctionFactory createUnnestingFunctionFactory(UnnestingFunctionCallExpression expr,
+            IVariableTypeEnvironment env, IOperatorSchema[] inputSchemas, JobGenContext context)
+            throws AlgebricksException {
         return null;
     }
 }
\ No newline at end of file

Added: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryPrinterFactory.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryPrinterFactory.java?rev=1348792&view=auto
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryPrinterFactory.java (added)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryPrinterFactory.java Mon Jun 11 10:50:49 2012
@@ -0,0 +1,77 @@
+package org.apache.vxquery.compiler.algebricks;
+
+import java.io.PrintStream;
+
+import org.apache.vxquery.datamodel.accessors.TaggedValuePointable;
+import org.apache.vxquery.types.BuiltinTypeConstants;
+
+import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
+import edu.uci.ics.hyracks.algebricks.data.IPrinter;
+import edu.uci.ics.hyracks.algebricks.data.IPrinterFactory;
+import edu.uci.ics.hyracks.data.std.primitive.BooleanPointable;
+import edu.uci.ics.hyracks.data.std.primitive.DoublePointable;
+import edu.uci.ics.hyracks.data.std.primitive.LongPointable;
+import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
+
+public class VXQueryPrinterFactory implements IPrinterFactory {
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public IPrinter createPrinter() {
+        return new IPrinter() {
+            private final TaggedValuePointable tvp = new TaggedValuePointable();
+
+            private final UTF8StringPointable utf8sp = (UTF8StringPointable) UTF8StringPointable.FACTORY
+                    .createPointable();
+
+            private final LongPointable lp = (LongPointable) LongPointable.FACTORY.createPointable();
+
+            private final DoublePointable dp = (DoublePointable) DoublePointable.FACTORY.createPointable();
+
+            private final BooleanPointable bp = (BooleanPointable) BooleanPointable.FACTORY.createPointable();
+
+            @Override
+            public void print(byte[] b, int s, int l, PrintStream ps) throws AlgebricksException {
+                tvp.set(b, s, l);
+                byte tag = tvp.getTag();
+                switch ((int) tag) {
+                    case BuiltinTypeConstants.XS_STRING_TYPE_ID: {
+                        tvp.getValue(utf8sp);
+                        int utfLen = utf8sp.getUTFLen();
+                        int offset = 2;
+                        while (utfLen > 0) {
+                            char c = utf8sp.charAt(offset);
+                            ps.append(c);
+                            int cLen = UTF8StringPointable.getModifiedUTF8Len(c);
+                            offset += cLen;
+                            utfLen -= cLen;
+                        }
+                        break;
+                    }
+
+                    case BuiltinTypeConstants.XS_INTEGER_TYPE_ID: {
+                        tvp.getValue(lp);
+                        ps.print(lp.longValue());
+                        break;
+                    }
+
+                    case BuiltinTypeConstants.XS_DOUBLE_TYPE_ID: {
+                        tvp.getValue(dp);
+                        ps.print(dp.doubleValue());
+                        break;
+                    }
+
+                    case BuiltinTypeConstants.XS_BOOLEAN_TYPE_ID: {
+                        tvp.getValue(bp);
+                        ps.print(bp.getBoolean());
+                        break;
+                    }
+                }
+            }
+
+            @Override
+            public void init() throws AlgebricksException {
+            }
+        };
+    }
+}
\ No newline at end of file

Copied: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryPrinterFactoryProvider.java (from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/PrinterFactoryProvider.java)
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryPrinterFactoryProvider.java?p2=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryPrinterFactoryProvider.java&p1=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/PrinterFactoryProvider.java&r1=1347980&r2=1348792&rev=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/PrinterFactoryProvider.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/compiler/algebricks/VXQueryPrinterFactoryProvider.java Mon Jun 11 10:50:49 2012
@@ -4,11 +4,12 @@ import edu.uci.ics.hyracks.algebricks.co
 import edu.uci.ics.hyracks.algebricks.data.IPrinterFactory;
 import edu.uci.ics.hyracks.algebricks.data.IPrinterFactoryProvider;
 
-public class PrinterFactoryProvider implements IPrinterFactoryProvider {
-    public static final IPrinterFactoryProvider INSTANCE = new PrinterFactoryProvider();
+public class VXQueryPrinterFactoryProvider implements IPrinterFactoryProvider {
+    public static final IPrinterFactoryProvider INSTANCE = new VXQueryPrinterFactoryProvider();
 
     @Override
-    public IPrinterFactory getPrinterFactory(Object arg0) throws AlgebricksException {
-        return null;
+    public IPrinterFactory getPrinterFactory(Object type) throws AlgebricksException {
+
+        return new VXQueryPrinterFactory();
     }
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/context/DynamicContext.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/context/DynamicContext.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/context/DynamicContext.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/context/DynamicContext.java Mon Jun 11 10:50:49 2012
@@ -16,17 +16,17 @@
 */
 package org.apache.vxquery.context;
 
-import org.apache.vxquery.v0datamodel.XDMValue;
-import org.apache.vxquery.v0datamodel.atomic.DateTimeValue;
+import edu.uci.ics.hyracks.data.std.api.IPointable;
+import edu.uci.ics.hyracks.dataflow.common.data.accessors.IValueReference;
 
 public interface DynamicContext {
     public StaticContext getStaticContext();
 
-    public DateTimeValue getCurrentDateTime();
+    public void getCurrentDateTime(IPointable value);
 
-    public void setCurrentDateTime(DateTimeValue currentDateTime);
+    public void setCurrentDateTime(IValueReference value);
 
-    public void bindVariable(XQueryVariable var, XDMValue value);
+    public void bindVariable(XQueryVariable var, IValueReference vReference);
 
-    public XDMValue lookupVariable(XQueryVariable var);
+    public void lookupVariable(XQueryVariable var, IPointable value);
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/context/DynamicContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/context/DynamicContextImpl.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/context/DynamicContextImpl.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/context/DynamicContextImpl.java Mon Jun 11 10:50:49 2012
@@ -16,22 +16,14 @@
 */
 package org.apache.vxquery.context;
 
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.vxquery.v0datamodel.XDMValue;
-import org.apache.vxquery.v0datamodel.atomic.DateTimeValue;
+import edu.uci.ics.hyracks.data.std.api.IPointable;
+import edu.uci.ics.hyracks.dataflow.common.data.accessors.IValueReference;
 
 public class DynamicContextImpl implements DynamicContext {
     private StaticContext sCtx;
 
-    private DateTimeValue currentDateTime;
-
-    private Map<XQueryVariable, XDMValue> externalBindings;
-
     public DynamicContextImpl(StaticContext sCtx) {
         this.sCtx = sCtx;
-        externalBindings = new HashMap<XQueryVariable, XDMValue>();
     }
 
     @Override
@@ -40,22 +32,18 @@ public class DynamicContextImpl implemen
     }
 
     @Override
-    public void setCurrentDateTime(DateTimeValue currentDateTime) {
-        this.currentDateTime = currentDateTime;
+    public void setCurrentDateTime(IValueReference value) {
     }
 
     @Override
-    public DateTimeValue getCurrentDateTime() {
-        return currentDateTime;
+    public void getCurrentDateTime(IPointable value) {
     }
 
     @Override
-    public void bindVariable(XQueryVariable var, XDMValue value) {
-        externalBindings.put(var, value);
+    public void bindVariable(XQueryVariable var, IValueReference value) {
     }
 
     @Override
-    public XDMValue lookupVariable(XQueryVariable var) {
-        return externalBindings.get(var);
+    public void lookupVariable(XQueryVariable var, IPointable value) {
     }
 }
\ No newline at end of file

Copied: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/SequencePointable.java (from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/SequencePointable.java)
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/SequencePointable.java?p2=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/SequencePointable.java&p1=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/SequencePointable.java&r1=1347980&r2=1348792&rev=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/SequencePointable.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/SequencePointable.java Mon Jun 11 10:50:49 2012
@@ -1,4 +1,4 @@
-package org.apache.vxquery.datamodel;
+package org.apache.vxquery.datamodel.accessors;
 
 import edu.uci.ics.hyracks.data.std.api.AbstractPointable;
 import edu.uci.ics.hyracks.data.std.api.IPointable;

Copied: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/TaggedValuePointable.java (from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/TaggedValuePointable.java)
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/TaggedValuePointable.java?p2=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/TaggedValuePointable.java&p1=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/TaggedValuePointable.java&r1=1347980&r2=1348792&rev=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/TaggedValuePointable.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/TaggedValuePointable.java Mon Jun 11 10:50:49 2012
@@ -1,4 +1,4 @@
-package org.apache.vxquery.datamodel;
+package org.apache.vxquery.datamodel.accessors;
 
 import edu.uci.ics.hyracks.data.std.api.AbstractPointable;
 import edu.uci.ics.hyracks.data.std.api.IPointable;
@@ -6,7 +6,7 @@ import edu.uci.ics.hyracks.data.std.prim
 
 public class TaggedValuePointable extends AbstractPointable {
     public byte getTag() {
-        return BytePointable.getByte(bytes, 0);
+        return BytePointable.getByte(bytes, start);
     }
 
     public void getValue(IPointable value) {

Copied: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/QNamePointable.java (from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/QNamePointable.java)
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/QNamePointable.java?p2=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/QNamePointable.java&p1=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/QNamePointable.java&r1=1347980&r2=1348792&rev=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/QNamePointable.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/QNamePointable.java Mon Jun 11 10:50:49 2012
@@ -1,4 +1,4 @@
-package org.apache.vxquery.datamodel;
+package org.apache.vxquery.datamodel.accessors.atomic;
 
 import edu.uci.ics.hyracks.data.std.api.AbstractPointable;
 import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;

Copied: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/AttributeNodePointable.java (from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/AttributeNodePointable.java)
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/AttributeNodePointable.java?p2=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/AttributeNodePointable.java&p1=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/AttributeNodePointable.java&r1=1347980&r2=1348792&rev=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/AttributeNodePointable.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/AttributeNodePointable.java Mon Jun 11 10:50:49 2012
@@ -1,4 +1,7 @@
-package org.apache.vxquery.datamodel;
+package org.apache.vxquery.datamodel.accessors.nodes;
+
+import org.apache.vxquery.datamodel.accessors.TaggedValuePointable;
+import org.apache.vxquery.datamodel.accessors.atomic.QNamePointable;
 
 import edu.uci.ics.hyracks.data.std.api.AbstractPointable;
 import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;

Copied: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/DocumentNodePointable.java (from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/DocumentNodePointable.java)
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/DocumentNodePointable.java?p2=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/DocumentNodePointable.java&p1=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/DocumentNodePointable.java&r1=1347980&r2=1348792&rev=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/DocumentNodePointable.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/DocumentNodePointable.java Mon Jun 11 10:50:49 2012
@@ -1,4 +1,6 @@
-package org.apache.vxquery.datamodel;
+package org.apache.vxquery.datamodel.accessors.nodes;
+
+import org.apache.vxquery.datamodel.accessors.SequencePointable;
 
 import edu.uci.ics.hyracks.data.std.api.AbstractPointable;
 import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;

Copied: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/ElementNodePointable.java (from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/ElementNodePointable.java)
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/ElementNodePointable.java?p2=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/ElementNodePointable.java&p1=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/ElementNodePointable.java&r1=1347980&r2=1348792&rev=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/ElementNodePointable.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/ElementNodePointable.java Mon Jun 11 10:50:49 2012
@@ -1,4 +1,7 @@
-package org.apache.vxquery.datamodel;
+package org.apache.vxquery.datamodel.accessors.nodes;
+
+import org.apache.vxquery.datamodel.accessors.SequencePointable;
+import org.apache.vxquery.datamodel.accessors.atomic.QNamePointable;
 
 import edu.uci.ics.hyracks.data.std.api.AbstractPointable;
 import edu.uci.ics.hyracks.data.std.primitive.BytePointable;

Copied: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/NodeTreePointable.java (from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/NodeTreePointable.java)
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/NodeTreePointable.java?p2=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/NodeTreePointable.java&p1=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/NodeTreePointable.java&r1=1347980&r2=1348792&rev=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/NodeTreePointable.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/NodeTreePointable.java Mon Jun 11 10:50:49 2012
@@ -1,4 +1,6 @@
-package org.apache.vxquery.datamodel;
+package org.apache.vxquery.datamodel.accessors.nodes;
+
+import org.apache.vxquery.datamodel.accessors.TaggedValuePointable;
 
 import edu.uci.ics.hyracks.data.std.algorithms.BinarySearchAlgorithm;
 import edu.uci.ics.hyracks.data.std.api.AbstractPointable;

Copied: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/PINodePointable.java (from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/PINodePointable.java)
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/PINodePointable.java?p2=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/PINodePointable.java&p1=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/PINodePointable.java&r1=1347980&r2=1348792&rev=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/PINodePointable.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/PINodePointable.java Mon Jun 11 10:50:49 2012
@@ -1,4 +1,4 @@
-package org.apache.vxquery.datamodel;
+package org.apache.vxquery.datamodel.accessors.nodes;
 
 import edu.uci.ics.hyracks.data.std.api.AbstractPointable;
 import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;

Copied: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/TextOrCommentNodePointable.java (from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/TextOrCommentNodePointable.java)
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/TextOrCommentNodePointable.java?p2=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/TextOrCommentNodePointable.java&p1=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/TextOrCommentNodePointable.java&r1=1347980&r2=1348792&rev=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/TextOrCommentNodePointable.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/TextOrCommentNodePointable.java Mon Jun 11 10:50:49 2012
@@ -1,4 +1,6 @@
-package org.apache.vxquery.datamodel;
+package org.apache.vxquery.datamodel.accessors.nodes;
+
+import org.apache.vxquery.datamodel.accessors.TaggedValuePointable;
 
 import edu.uci.ics.hyracks.data.std.api.AbstractPointable;
 import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;

Added: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/atomic/StringValueBuilder.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/atomic/StringValueBuilder.java?rev=1348792&view=auto
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/atomic/StringValueBuilder.java (added)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/atomic/StringValueBuilder.java Mon Jun 11 10:50:49 2012
@@ -0,0 +1,18 @@
+package org.apache.vxquery.datamodel.builders.atomic;
+
+import java.io.DataOutput;
+import java.io.IOException;
+
+import edu.uci.ics.hyracks.data.std.primitive.UTF8StringWriter;
+
+public class StringValueBuilder {
+    private final UTF8StringWriter writer;
+
+    public StringValueBuilder() {
+        writer = new UTF8StringWriter();
+    }
+
+    public void write(CharSequence string, DataOutput out) throws IOException {
+        writer.writeUTF8String(string, out);
+    }
+}
\ No newline at end of file

Added: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/AbstractValueBuilder.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/AbstractValueBuilder.java?rev=1348792&view=auto
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/AbstractValueBuilder.java (added)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/AbstractValueBuilder.java Mon Jun 11 10:50:49 2012
@@ -0,0 +1,4 @@
+package org.apache.vxquery.datamodel.builders.base;
+
+public abstract class AbstractValueBuilder implements IValueBuilder {
+}
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/IDMBuilderPool.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/IDMBuilderPool.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/IDMBuilderPool.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/IDMBuilderPool.java Mon Jun 11 10:50:49 2012
@@ -1,11 +1,11 @@
 package org.apache.vxquery.datamodel.builders.base;
 
-import org.apache.vxquery.datamodel.builders.AttributeNodeBuilder;
-import org.apache.vxquery.datamodel.builders.CommentNodeBuilder;
-import org.apache.vxquery.datamodel.builders.DictionaryBuilder;
-import org.apache.vxquery.datamodel.builders.ElementNodeBuilder;
-import org.apache.vxquery.datamodel.builders.PINodeBuilder;
-import org.apache.vxquery.datamodel.builders.TextNodeBuilder;
+import org.apache.vxquery.datamodel.builders.nodes.AttributeNodeBuilder;
+import org.apache.vxquery.datamodel.builders.nodes.CommentNodeBuilder;
+import org.apache.vxquery.datamodel.builders.nodes.DictionaryBuilder;
+import org.apache.vxquery.datamodel.builders.nodes.ElementNodeBuilder;
+import org.apache.vxquery.datamodel.builders.nodes.PINodeBuilder;
+import org.apache.vxquery.datamodel.builders.nodes.TextNodeBuilder;
 
 public interface IDMBuilderPool {
     public DictionaryBuilder getDictionaryBuilder();

Added: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/IValueBuilder.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/IValueBuilder.java?rev=1348792&view=auto
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/IValueBuilder.java (added)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/base/IValueBuilder.java Mon Jun 11 10:50:49 2012
@@ -0,0 +1,9 @@
+package org.apache.vxquery.datamodel.builders.base;
+
+import java.io.DataOutput;
+
+public interface IValueBuilder {
+    public void reset();
+
+    public void write(DataOutput out);
+}
\ No newline at end of file

Copied: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/AttributeNodeBuilder.java (from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/AttributeNodeBuilder.java)
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/AttributeNodeBuilder.java?p2=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/AttributeNodeBuilder.java&p1=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/AttributeNodeBuilder.java&r1=1347980&r2=1348792&rev=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/AttributeNodeBuilder.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/AttributeNodeBuilder.java Mon Jun 11 10:50:49 2012
@@ -1,4 +1,4 @@
-package org.apache.vxquery.datamodel.builders;
+package org.apache.vxquery.datamodel.builders.nodes;
 
 public class AttributeNodeBuilder {
 

Copied: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/CommentNodeBuilder.java (from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/CommentNodeBuilder.java)
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/CommentNodeBuilder.java?p2=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/CommentNodeBuilder.java&p1=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/CommentNodeBuilder.java&r1=1347980&r2=1348792&rev=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/CommentNodeBuilder.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/CommentNodeBuilder.java Mon Jun 11 10:50:49 2012
@@ -1,4 +1,4 @@
-package org.apache.vxquery.datamodel.builders;
+package org.apache.vxquery.datamodel.builders.nodes;
 
 public class CommentNodeBuilder {
 

Copied: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/DictionaryBuilder.java (from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/DictionaryBuilder.java)
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/DictionaryBuilder.java?p2=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/DictionaryBuilder.java&p1=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/DictionaryBuilder.java&r1=1347980&r2=1348792&rev=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/DictionaryBuilder.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/DictionaryBuilder.java Mon Jun 11 10:50:49 2012
@@ -1,4 +1,4 @@
-package org.apache.vxquery.datamodel.builders;
+package org.apache.vxquery.datamodel.builders.nodes;
 
 import java.io.DataOutput;
 import java.io.DataOutputStream;

Copied: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/ElementNodeBuilder.java (from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/ElementNodeBuilder.java)
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/ElementNodeBuilder.java?p2=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/ElementNodeBuilder.java&p1=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/ElementNodeBuilder.java&r1=1347980&r2=1348792&rev=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/ElementNodeBuilder.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/ElementNodeBuilder.java Mon Jun 11 10:50:49 2012
@@ -1,4 +1,4 @@
-package org.apache.vxquery.datamodel.builders;
+package org.apache.vxquery.datamodel.builders.nodes;
 
 public class ElementNodeBuilder {
     private DictionaryBuilder db;

Copied: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/PINodeBuilder.java (from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/PINodeBuilder.java)
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/PINodeBuilder.java?p2=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/PINodeBuilder.java&p1=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/PINodeBuilder.java&r1=1347980&r2=1348792&rev=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/PINodeBuilder.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/PINodeBuilder.java Mon Jun 11 10:50:49 2012
@@ -1,4 +1,4 @@
-package org.apache.vxquery.datamodel.builders;
+package org.apache.vxquery.datamodel.builders.nodes;
 
 public class PINodeBuilder {
 

Copied: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/TextNodeBuilder.java (from r1347980, incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/TextNodeBuilder.java)
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/TextNodeBuilder.java?p2=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/TextNodeBuilder.java&p1=incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/TextNodeBuilder.java&r1=1347980&r2=1348792&rev=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/TextNodeBuilder.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/datamodel/builders/nodes/TextNodeBuilder.java Mon Jun 11 10:50:49 2012
@@ -1,4 +1,4 @@
-package org.apache.vxquery.datamodel.builders;
+package org.apache.vxquery.datamodel.builders.nodes;
 
 public class TextNodeBuilder {
 

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/BuiltinFunction.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/BuiltinFunction.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/BuiltinFunction.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/BuiltinFunction.java Mon Jun 11 10:50:49 2012
@@ -18,15 +18,11 @@ package org.apache.vxquery.functions;
 
 import javax.xml.namespace.QName;
 
-import org.apache.vxquery.v0runtime.base.FunctionIteratorFactory;
-
 public class BuiltinFunction extends Function {
-    private FunctionIteratorFactory fif;
     private boolean implicitContext;
 
-    public BuiltinFunction(QName name, Signature signature, FunctionIteratorFactory fif, boolean implicitContext) {
+    public BuiltinFunction(QName name, Signature signature, boolean implicitContext) {
         super(name, signature);
-        this.fif = fif;
         this.implicitContext = implicitContext;
     }
 
@@ -38,9 +34,4 @@ public class BuiltinFunction extends Fun
     public boolean useContextImplicitly() {
         return implicitContext;
     }
-
-    @Override
-    public FunctionIteratorFactory getIteratorFactory() {
-        return fif;
-    }
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/ExternalFunction.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/ExternalFunction.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/ExternalFunction.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/ExternalFunction.java Mon Jun 11 10:50:49 2012
@@ -18,8 +18,6 @@ package org.apache.vxquery.functions;
 
 import javax.xml.namespace.QName;
 
-import org.apache.vxquery.v0runtime.base.FunctionIteratorFactory;
-
 public class ExternalFunction extends Function {
     public ExternalFunction(QName name, Signature signature) {
         super(name, signature);
@@ -31,11 +29,6 @@ public class ExternalFunction extends Fu
     }
 
     @Override
-    public FunctionIteratorFactory getIteratorFactory() {
-        return null;
-    }
-
-    @Override
     public boolean useContextImplicitly() {
         return false;
     }

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/Function.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/Function.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/Function.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/Function.java Mon Jun 11 10:50:49 2012
@@ -18,8 +18,6 @@ package org.apache.vxquery.functions;
 
 import javax.xml.namespace.QName;
 
-import org.apache.vxquery.v0runtime.base.FunctionIteratorFactory;
-
 import edu.uci.ics.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
 import edu.uci.ics.hyracks.algebricks.core.algebra.functions.IFunctionInfo;
 
@@ -46,8 +44,6 @@ public abstract class Function implement
 
     public abstract boolean useContextImplicitly();
 
-    public abstract FunctionIteratorFactory getIteratorFactory();
-
     public QName getName() {
         return qname;
     }

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/Operator.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/Operator.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/Operator.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/Operator.java Mon Jun 11 10:50:49 2012
@@ -18,14 +18,9 @@ package org.apache.vxquery.functions;
 
 import javax.xml.namespace.QName;
 
-import org.apache.vxquery.v0runtime.base.FunctionIteratorFactory;
-
 public class Operator extends Function {
-    private FunctionIteratorFactory fif;
-
-    public Operator(QName name, Signature signature, FunctionIteratorFactory fif) {
+    public Operator(QName name, Signature signature) {
         super(name, signature);
-        this.fif = fif;
     }
 
     @Override
@@ -37,9 +32,4 @@ public class Operator extends Function {
     public boolean useContextImplicitly() {
         return false;
     }
-
-    @Override
-    public FunctionIteratorFactory getIteratorFactory() {
-        return fif;
-    }
 }
\ No newline at end of file

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/UserDefinedXQueryFunction.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/UserDefinedXQueryFunction.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/UserDefinedXQueryFunction.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/functions/UserDefinedXQueryFunction.java Mon Jun 11 10:50:49 2012
@@ -17,15 +17,12 @@ package org.apache.vxquery.functions;
 import javax.xml.namespace.QName;
 
 import org.apache.vxquery.context.XQueryVariable;
-import org.apache.vxquery.v0runtime.RuntimePlan;
-import org.apache.vxquery.v0runtime.base.FunctionIteratorFactory;
 
 import edu.uci.ics.hyracks.algebricks.core.algebra.base.ILogicalPlan;
 
 public class UserDefinedXQueryFunction extends Function {
     private XQueryVariable[] params;
     private ILogicalPlan body;
-    private RuntimePlan plan;
 
     public UserDefinedXQueryFunction(QName name, Signature signature, ILogicalPlan body) {
         super(name, signature);
@@ -45,15 +42,6 @@ public class UserDefinedXQueryFunction e
         return FunctionTag.UDXQUERY;
     }
 
-    @Override
-    public FunctionIteratorFactory getIteratorFactory() {
-        return null;
-    }
-
-    public void setRuntimePlan(RuntimePlan plan) {
-        this.plan = plan;
-    }
-
     public XQueryVariable[] getParameters() {
         return params;
     }

Modified: incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/metadata/QueryResultDataSink.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/metadata/QueryResultDataSink.java?rev=1348792&r1=1348791&r2=1348792&view=diff
==============================================================================
--- incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/metadata/QueryResultDataSink.java (original)
+++ incubator/vxquery/branches/vxquery_algebricks/vxquery-core/src/main/java/org/apache/vxquery/metadata/QueryResultDataSink.java Mon Jun 11 10:50:49 2012
@@ -10,8 +10,8 @@ public class QueryResultDataSink impleme
     private final FileSplit[] fileSplits;
     private final IPartitioningProperty pProperty;
 
-    public QueryResultDataSink() {
-        fileSplits = new FileSplit[] { new FileSplit("FOOnode", "/tmp/junk") };
+    public QueryResultDataSink(FileSplit[] fileSplits) {
+        this.fileSplits = fileSplits;
         pProperty = new RandomPartitioningProperty(new FileSplitDomain(fileSplits));
     }