Repository: vxquery Updated Branches: refs/heads/prestonc/november_update fccce23d0 -> 00c245fd1
Updated website and xtest now can run all previously passing tests. Project: http://git-wip-us.apache.org/repos/asf/vxquery/repo Commit: http://git-wip-us.apache.org/repos/asf/vxquery/commit/00c245fd Tree: http://git-wip-us.apache.org/repos/asf/vxquery/tree/00c245fd Diff: http://git-wip-us.apache.org/repos/asf/vxquery/diff/00c245fd Branch: refs/heads/prestonc/november_update Commit: 00c245fd1b4b0d9d1e011514995fee51a291265a Parents: fccce23 Author: Preston Carman <[email protected]> Authored: Tue Feb 17 09:40:52 2015 -0800 Committer: Preston Carman <[email protected]> Committed: Tue Feb 17 09:40:52 2015 -0800 ---------------------------------------------------------------------- pom.xml | 1 - src/site/apt/development_data_handling.apt | 162 +++++++++++++++++++ src/site/apt/development_tips.apt | 162 ------------------- .../apt/development_update_xqts_results.apt | 7 +- src/site/apt/user_query.apt | 11 +- src/site/apt/user_running_tests.apt | 58 +++++-- src/site/site.xml | 8 +- .../java/org/apache/vxquery/cli/VXQuery.java | 2 +- .../xmlquery/query/XMLQueryCompiler.java | 10 ++ vxquery-xtest/pom.xml | 7 + .../org/apache/vxquery/xtest/TestRunner.java | 2 +- .../org/apache/vxquery/xtest/VXQueryTest.java | 4 +- 12 files changed, 248 insertions(+), 186 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/vxquery/blob/00c245fd/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index b57411c..a0e9341 100644 --- a/pom.xml +++ b/pom.xml @@ -72,7 +72,6 @@ <organization /> <timezone /> </developer> - <developer> <id>cezar</id> <name>Cezar Andrei</name> http://git-wip-us.apache.org/repos/asf/vxquery/blob/00c245fd/src/site/apt/development_data_handling.apt ---------------------------------------------------------------------- diff --git a/src/site/apt/development_data_handling.apt b/src/site/apt/development_data_handling.apt new file mode 100644 index 0000000..a161608 --- /dev/null +++ b/src/site/apt/development_data_handling.apt @@ -0,0 +1,162 @@ +~~ 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. + +Developer Data Handling + + +* Hyracks Data Mapping + + {{{http://hyracks.org}Hyracks}} supports several basic data types stored in + byte arrays. The byte arrays can be accessed through objects referred to as + pointables. The pointable helps with tracking the bytes stored in a larger + storage array. Some pointables support converting the byte array into a + desired format such as for numeric type. The most basic pointable has three + values stored in the object. + + * byte array + + * starting offset + + * length + + [] + + In Apache VXQuery\x99 the TaggedValuePointable is used to read a result from this byte + array. The first byte defines the data type and alerts us to what pointable + to use for reading the rest of the data. + +** Fixed Length Data + + Fixed length data types can be stored in a set field size. The following + outlines the Hyracks data type or custom VXQuery definition with the + details about the implementation. + +*-------------------------+----------------------+---------------+ +| <<Data Type>> | <<Pointable Name>> | <<Data Size>> | +*-------------------------+----------------------+---------------: +| xs:boolean | BooleanPointable | 1 | +*-------------------------+----------------------+---------------: +| xs:byte | BytePointable | 1 | +*-------------------------+----------------------+---------------: +| xs:date | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSDatePointable.java}XSDatePointable}} | 6 | +*-------------------------+----------------------+---------------: +| xs:dateTime | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSDateTimePointable.java}XSDateTimePointable}} | 12 | +*-------------------------+----------------------+---------------: +| xs:dayTimeDuration | LongPointable | 8 | +*-------------------------+----------------------+---------------: +| xs:decimal | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSDecimalPointable.java}XSDecimalPointable}} | 9 | +*-------------------------+----------------------+---------------: +| xs:double | DoublePointable | 8 | +*-------------------------+----------------------+---------------: +| xs:duration | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSDurationPointable.java}XSDurationPointable}} | 12 | +*-------------------------+----------------------+---------------: +| xs:float | FloatPointable | 4 | +*-------------------------+----------------------+---------------: +| xs:gDay | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSDatePointable.java}XSDatePointable}} | 6 | +*-------------------------+----------------------+---------------: +| xs:gMonth | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSDatePointable.java}XSDatePointable}} | 6 | +*-------------------------+----------------------+---------------: +| xs:gMonthDay | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSDatePointable.java}XSDatePointable}} | 6 | +*-------------------------+----------------------+---------------: +| xs:gYear | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSDatePointable.java}XSDatePointable}} | 6 | +*-------------------------+----------------------+---------------: +| xs:gYearMonth | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSDatePointable.java}XSDatePointable}} | 6 | +*-------------------------+----------------------+---------------: +| xs:int | IntegerPointable | 4 | +*-------------------------+----------------------+---------------: +| xs:integer | LongPointable | 8 | +*-------------------------+----------------------+---------------: +| xs:negativeInteger | LongPointable | 8 | +*-------------------------+----------------------+---------------: +| xs:nonNegativeInteger | LongPointable | 8 | +*-------------------------+----------------------+---------------: +| xs:nonPositiveInteger | LongPointable | 8 | +*-------------------------+----------------------+---------------: +| xs:positiveInteger | LongPointable | 8 | +*-------------------------+----------------------+---------------: +| xs:short | ShortPointable | 2 | +*-------------------------+----------------------+---------------: +| xs:time | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSTimePointable.java}XSTimePointable}} | 8 | +*-------------------------+----------------------+---------------: +| xs:unsignedByte | ShortPointable | 2 | +*-------------------------+----------------------+---------------: +| xs:unsignedInt | LongPointable | 8 | +*-------------------------+----------------------+---------------: +| xs:unsignedLong | LongPointable | 8 | +*-------------------------+----------------------+---------------: +| xs:unsignedShort | IntegerPointable | 4 | +*-------------------------+----------------------+---------------: +| xs:yearMonthDuration | IntegerPointable | 4 | +*-------------------------+----------------------+---------------: + +** Variable Length Data + + Some information can not be stored in a fixed length value. The following + data types are stored in variable length values. Because the size varies, + the first two bytes are used to store the length of the total value in + bytes. QName is one exception to this rule because the QName field has + three distinct variable length fields. In this case we basically are + storing three strings right after each other. + + Please note that all strings are stored in UTF8. The UTF8 characters range + in size from one to three bytes. UTF8StringWriter supports writing a + character sequence into the UTF8StringPointable format. + +*-------------------------+----------------------+---------------+ +| <<Data Type>> | <<Pointable Name>> | <<Data Size>> | +*-------------------------+----------------------+---------------: +| xs:anyURI | UTF8StringPointable | 2 + length | +*-------------------------+----------------------+---------------: +| xs:base64Binary | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSBinaryPointable.java}XSBinaryPointable}} | 2 + length | +*-------------------------+----------------------+---------------: +| xs:hexBinary | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSBinaryPointable.java}XSBinaryPointable}} | 2 + length | +*-------------------------+----------------------+---------------: +| xs:NOTATION | UTF8StringPointable | 2 + length | +*-------------------------+----------------------+---------------: +| xs:QName | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSQNamePointable.java}XSQNamePointable}} | 6 + length | +*-------------------------+----------------------+---------------: +| xs:string | UTF8StringPointable | 2 + length | +*-------------------------+----------------------+---------------: + + +* String Iterators + + For many string functions, we have used string iterators to traverse the + string. The iterator allows the user to ignore the details about the byte + size and number of characters. The iterator returns the next character or + an end of string value. Stacking iterators can be used to alter the string + into a desired form. + + * {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/ICharacterIterator.java}ICharacterIterator}} + + * {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/LowerCaseCharacterIterator.java}LowerCaseStringCharacterIterator}} + + * {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/SubstringAfterCharacterIterator.java}SubstringAfterStringCharacterIterator}} + + * {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/SubstringBeforeCharacterIterator.java}SubstringBeforeStringCharacterIterator}} + + * {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/SubstringCharacterIterator.java}SubstringStringCharacterIterator}} + + * {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/UTF8StringCharacterIterator.java}UTF8StringCharacterIterator}} + + * {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/UpperCaseCharacterIterator.java}UpperCaseStringCharacterIterator}} + +* Array Backed Value Store + + The array back value store is a key design element of Hyracks. The object + is used to manage an output array. The system creates an array large enough + to hold your output. Adding to the result, if necessary. The array can be + reused and can hold multiple pointable results due to the starting offset + parameter in the pointable. http://git-wip-us.apache.org/repos/asf/vxquery/blob/00c245fd/src/site/apt/development_tips.apt ---------------------------------------------------------------------- diff --git a/src/site/apt/development_tips.apt b/src/site/apt/development_tips.apt deleted file mode 100644 index f139c21..0000000 --- a/src/site/apt/development_tips.apt +++ /dev/null @@ -1,162 +0,0 @@ -~~ 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. - -Developer Tips - - -* Hyracks Data Mapping - - {{{http://hyracks.org}Hyracks}} supports several basic data types stored in - byte arrays. The byte arrays can be accessed through objects referred to as - pointables. The pointable helps with tracking the bytes stored in a larger - storage array. Some pointables support converting the byte array into a - desired format such as for numeric type. The most basic pointable has three - values stored in the object. - - * byte array - - * starting offset - - * length - - [] - - In Apache VXQuery\x99 the TaggedValuePointable is used to read a result from this byte - array. The first byte defines the data type and alerts us to what pointable - to use for reading the rest of the data. - -** Fixed Length Data - - Fixed length data types can be stored in a set field size. The following - outlines the Hyracks data type or custom VXQuery definition with the - details about the implementation. - -*-------------------------+----------------------+---------------+ -| <<Data Type>> | <<Pointable Name>> | <<Data Size>> | -*-------------------------+----------------------+---------------: -| xs:boolean | BooleanPointable | 1 | -*-------------------------+----------------------+---------------: -| xs:byte | BytePointable | 1 | -*-------------------------+----------------------+---------------: -| xs:date | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSDatePointable.java}XSDatePointable}} | 6 | -*-------------------------+----------------------+---------------: -| xs:dateTime | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSDateTimePointable.java}XSDateTimePointable}} | 12 | -*-------------------------+----------------------+---------------: -| xs:dayTimeDuration | LongPointable | 8 | -*-------------------------+----------------------+---------------: -| xs:decimal | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSDecimalPointable.java}XSDecimalPointable}} | 9 | -*-------------------------+----------------------+---------------: -| xs:double | DoublePointable | 8 | -*-------------------------+----------------------+---------------: -| xs:duration | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSDurationPointable.java}XSDurationPointable}} | 12 | -*-------------------------+----------------------+---------------: -| xs:float | FloatPointable | 4 | -*-------------------------+----------------------+---------------: -| xs:gDay | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSDatePointable.java}XSDatePointable}} | 6 | -*-------------------------+----------------------+---------------: -| xs:gMonth | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSDatePointable.java}XSDatePointable}} | 6 | -*-------------------------+----------------------+---------------: -| xs:gMonthDay | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSDatePointable.java}XSDatePointable}} | 6 | -*-------------------------+----------------------+---------------: -| xs:gYear | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSDatePointable.java}XSDatePointable}} | 6 | -*-------------------------+----------------------+---------------: -| xs:gYearMonth | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSDatePointable.java}XSDatePointable}} | 6 | -*-------------------------+----------------------+---------------: -| xs:int | IntegerPointable | 4 | -*-------------------------+----------------------+---------------: -| xs:integer | LongPointable | 8 | -*-------------------------+----------------------+---------------: -| xs:negativeInteger | LongPointable | 8 | -*-------------------------+----------------------+---------------: -| xs:nonNegativeInteger | LongPointable | 8 | -*-------------------------+----------------------+---------------: -| xs:nonPositiveInteger | LongPointable | 8 | -*-------------------------+----------------------+---------------: -| xs:positiveInteger | LongPointable | 8 | -*-------------------------+----------------------+---------------: -| xs:short | ShortPointable | 2 | -*-------------------------+----------------------+---------------: -| xs:time | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSTimePointable.java}XSTimePointable}} | 8 | -*-------------------------+----------------------+---------------: -| xs:unsignedByte | ShortPointable | 2 | -*-------------------------+----------------------+---------------: -| xs:unsignedInt | LongPointable | 8 | -*-------------------------+----------------------+---------------: -| xs:unsignedLong | LongPointable | 8 | -*-------------------------+----------------------+---------------: -| xs:unsignedShort | IntegerPointable | 4 | -*-------------------------+----------------------+---------------: -| xs:yearMonthDuration | IntegerPointable | 4 | -*-------------------------+----------------------+---------------: - -** Variable Length Data - - Some information can not be stored in a fixed length value. The following - data types are stored in variable length values. Because the size varies, - the first two bytes are used to store the length of the total value in - bytes. QName is one exception to this rule because the QName field has - three distinct variable length fields. In this case we basically are - storing three strings right after each other. - - Please note that all strings are stored in UTF8. The UTF8 characters range - in size from one to three bytes. UTF8StringWriter supports writing a - character sequence into the UTF8StringPointable format. - -*-------------------------+----------------------+---------------+ -| <<Data Type>> | <<Pointable Name>> | <<Data Size>> | -*-------------------------+----------------------+---------------: -| xs:anyURI | UTF8StringPointable | 2 + length | -*-------------------------+----------------------+---------------: -| xs:base64Binary | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSBinaryPointable.java}XSBinaryPointable}} | 2 + length | -*-------------------------+----------------------+---------------: -| xs:hexBinary | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSBinaryPointable.java}XSBinaryPointable}} | 2 + length | -*-------------------------+----------------------+---------------: -| xs:NOTATION | UTF8StringPointable | 2 + length | -*-------------------------+----------------------+---------------: -| xs:QName | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/atomic/XSQNamePointable.java}XSQNamePointable}} | 6 + length | -*-------------------------+----------------------+---------------: -| xs:string | UTF8StringPointable | 2 + length | -*-------------------------+----------------------+---------------: - - -* String Iterators - - For many string functions, we have used string iterators to traverse the - string. The iterator allows the user to ignore the details about the byte - size and number of characters. The iterator returns the next character or - an end of string value. Stacking iterators can be used to alter the string - into a desired form. - - * {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/ICharacterIterator.java}ICharacterIterator}} - - * {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/LowerCaseCharacterIterator.java}LowerCaseStringCharacterIterator}} - - * {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/SubstringAfterCharacterIterator.java}SubstringAfterStringCharacterIterator}} - - * {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/SubstringBeforeCharacterIterator.java}SubstringBeforeStringCharacterIterator}} - - * {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/SubstringCharacterIterator.java}SubstringStringCharacterIterator}} - - * {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/UTF8StringCharacterIterator.java}UTF8StringCharacterIterator}} - - * {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/strings/UpperCaseCharacterIterator.java}UpperCaseStringCharacterIterator}} - -* Array Backed Value Store - - The array back value store is a key design element of Hyracks. The object - is used to manage an output array. The system creates an array large enough - to hold your output. Adding to the result, if necessary. The array can be - reused and can hold multiple pointable results due to the starting offset - parameter in the pointable. http://git-wip-us.apache.org/repos/asf/vxquery/blob/00c245fd/src/site/apt/development_update_xqts_results.apt ---------------------------------------------------------------------- diff --git a/src/site/apt/development_update_xqts_results.apt b/src/site/apt/development_update_xqts_results.apt index 55377a7..115a178 100644 --- a/src/site/apt/development_update_xqts_results.apt +++ b/src/site/apt/development_update_xqts_results.apt @@ -22,11 +22,12 @@ Update the XQTS Results * Instructions * Verify current XQTS results are all passing before updating to the new XQTS test results. - The following command should produce all passing results. - They can be viewed at {{{file:///tmp/full_report_previous.html}file:///tmp/full_report_previous.html}}. + The XQTS should be located in "vxquery-xtest/test-suites/xqts", as explained in the {{{Running the Test Suite}http://vxquery.apache.org/user_running_tests.html}} + The following command should produce all passing results. + They can be viewed at {{{file:///tmp/previous_report.html}file:///tmp/previous_report.html}}. ---------------------------------------- -sh ./vxquery-xtest/target/appassembler/bin/xtest -catalog vxquery-xtest/test-suites/xqts/XQTSCatalog.xml -htmlreport /tmp/full_report_previous.html -previous-test-results vxquery-xtest/results/xqts.txt +sh ./vxquery-xtest/target/appassembler/bin/xtest -catalog vxquery-xtest/test-suites/xqts/XQTSCatalog.xml -htmlreport /tmp/previous_report.html -previous-test-results vxquery-xtest/results/xqts.txt ---------------------------------------- * Remove the old results file. http://git-wip-us.apache.org/repos/asf/vxquery/blob/00c245fd/src/site/apt/user_query.apt ---------------------------------------------------------------------- diff --git a/src/site/apt/user_query.apt b/src/site/apt/user_query.apt index b86b4dd..7cb04b5 100644 --- a/src/site/apt/user_query.apt +++ b/src/site/apt/user_query.apt @@ -16,14 +16,23 @@ Executing a Query -* Command +* Command On *nix Based Systems ---------------------------------------- sh ./apache-vxquery-X.Y/vxquery-cli/target/appassembler/bin/vxq ---------------------------------------- +* Commands On Windows Based Systems + +---------------------------------------- +cd apache-vxquery-X.Y/vxquery-cli/target/appassembler/bin +vxq.bat +---------------------------------------- + * Command Line Options +Command line options for all systems. + ---------------------------------------- -O N : Optimization Level. Default: Full Optimization -available-processors N : Number of available processors. (default java's available processors) http://git-wip-us.apache.org/repos/asf/vxquery/blob/00c245fd/src/site/apt/user_running_tests.apt ---------------------------------------------------------------------- diff --git a/src/site/apt/user_running_tests.apt b/src/site/apt/user_running_tests.apt index f74a897..32d5278 100644 --- a/src/site/apt/user_running_tests.apt +++ b/src/site/apt/user_running_tests.apt @@ -16,12 +16,20 @@ Running the Test Suite -* Command +* Command On *nix Based Systems ---------------------------------------- sh ./vxquery/vxquery-xtest/target/appassembler/bin/xtest ---------------------------------------- +* Command On Windows Based Systems + +First navigate to "apache-vxquery-X.Y/vxquery-cli/target/appassembler/bin" and then run the following file. + +---------------------------------------- +xtest.bat +---------------------------------------- + * Command Line Options ---------------------------------------- @@ -48,17 +56,34 @@ sh ./vxquery/vxquery-xtest/target/appassembler/bin/xtest JAVA_OPTS="-Xmx1024m -Djava.util.logging.config.file=/path/to/logging.properties" ---------------------------------------- -* Example +* VXQuery Testing Options + + * VXQuery Test Suite - To run the XQTS testsuite + The VXQuery test suite focuses on parallel processing tests used in our weather benchmark. + +---------------------------------------- +sh ./vxquery-xtest/target/appassembler/bin/xtest -catalog vxquery-xtest/src/test/resources/VXQueryCatalog.xml -htmlreport /tmp/full_report.html +---------------------------------------- - * get the archive {{{http://dev.w3.org/2006/xquery-test-suite/PublicPagesStagingArea/XQTS_1_0_3.zip}XQTS_1_0_3.zip}} (e.g. using wget), + * XQTS (XQuery Test Suite) + To run the complete XQTS on VXQuery. + + * Create a folder to hold the XQTS. + If you use "vxquery-xtest/test-suite/xqts", then maven will utilize the XQTS to verify VXQuery's passing functions during the build process. + +---------------------------------------- +$ mkdir -p vxquery-xtest/test-suite +$ cd vxquery-xtest/test-suite +---------------------------------------- + + * Get the archive {{{http://dev.w3.org/2006/xquery-test-suite/PublicPagesStagingArea/XQTS_1_0_3.zip}XQTS_1_0_3.zip}} (e.g. using wget), ---------------------------------------- $ wget http://dev.w3.org/2006/xquery-test-suite/PublicPagesStagingArea/XQTS_1_0_3.zip ---------------------------------------- - * unpack it, + * unpack it, ---------------------------------------- $ mkdir xqts @@ -67,22 +92,27 @@ $ unzip ../XQTS_1_0_3.zip $ cd .. ---------------------------------------- - * run the tests, and + * run the tests, and ---------------------------------------- -sh ./vxquery-xtest/target/appassembler/bin/xtest -catalog xqts/XQTSCatalog.xml -htmlreport /tmp/full_report.html +sh ./vxquery-xtest/target/appassembler/bin/xtest -catalog vxquery-xtest/test-suite/xqts/XQTSCatalog.xml -htmlreport /tmp/full_report.html ---------------------------------------- - * view the results at {{{file:///tmp/full_report.html}file:///tmp/full_report.html}}. + * view the results at {{{file:///tmp/full_report.html}file:///tmp/full_report.html}}. - * Add JAVA_OPTS for additional java parameters. + * Add JAVA_OPTS for additional java parameters. -* VXQuery Test Suite + * XQTS (XQuery Test Suite) Option 2 + The following command will run the XQTS for test that are known to pass in VXQuery. + The command is intend for developer to check their build and ensure all previous test continue to pass. + All the tests should pass. + + * run the tests, and - The VXQuery test suite focuses on parallel processing tests used in our weather benchmark. - ---------------------------------------- -sh ./vxquery-xtest/target/appassembler/bin/xtest -catalog vxquery-xtest/src/test/resources/VXQueryCatalog.xml -htmlreport /tmp/full_report.html +sh ./vxquery-xtest/target/appassembler/bin/xtest -catalog vxquery-xtest/test-suite/xqts/XQTSCatalog.xml -htmlreport /tmp/previous_report.html -previous-test-results vxquery-xtest/results/xqts.txt ---------------------------------------- - + + * view the results at {{{file:///tmp/previous_report.html}file:///tmp/previous_report.html}}. + \ No newline at end of file http://git-wip-us.apache.org/repos/asf/vxquery/blob/00c245fd/src/site/site.xml ---------------------------------------------------------------------- diff --git a/src/site/site.xml b/src/site/site.xml index 8b32624..e0c75a0 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -70,7 +70,7 @@ limitations under the License. <menu name="For Developers"> <item name="Data Basic Types" - href="development_tips.html" /> + href="development_basic_data_types.html" /> <item name="Data XML and Node Types" href="development_xml_node_details.html" /> @@ -80,6 +80,12 @@ limitations under the License. <item name="Release steps" href="release.html" /> + <item + name="Update Local Git XQTS Results" + href="development_update_xqts_results.html" /> + <item + name="XQuery Benchmarks" + href="development_benchmarks.html" /> </menu> <menu ref="reports" /> http://git-wip-us.apache.org/repos/asf/vxquery/blob/00c245fd/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java ---------------------------------------------------------------------- diff --git a/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java b/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java index fdf2b05..080f8a1 100644 --- a/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java +++ b/vxquery-cli/src/main/java/org/apache/vxquery/cli/VXQuery.java @@ -387,7 +387,7 @@ public class VXQuery { ncConfig.ccPort = 39001; ncConfig.clusterNetIPAddress = "127.0.0.1"; ncConfig.dataIPAddress = "127.0.0.1"; - ncConfig.datasetIPAddress = "127.0.0.1"; + ncConfig.resultIPAddress = "127.0.0.1"; ncConfig.nodeId = "nc" + (i + 1); ncConfig.ioDevices = Files.createTempDirectory(ncConfig.nodeId).toString(); ncs[i] = new NodeControllerService(ncConfig); http://git-wip-us.apache.org/repos/asf/vxquery/blob/00c245fd/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XMLQueryCompiler.java ---------------------------------------------------------------------- diff --git a/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XMLQueryCompiler.java b/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XMLQueryCompiler.java index 06b5918..4f082aa 100644 --- a/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XMLQueryCompiler.java +++ b/vxquery-core/src/main/java/org/apache/vxquery/xmlquery/query/XMLQueryCompiler.java @@ -166,6 +166,16 @@ public class XMLQueryCompiler { public Object makeNullableType(Object type) throws AlgebricksException { throw new NotImplementedException("NullableTypeComputer is not implented"); } + + @Override + public boolean canBeNull(Object type) { + throw new NotImplementedException("NullableTypeComputer is not implented"); + } + + @Override + public Object getNonOptionalType(Object type) { + throw new NotImplementedException("NullableTypeComputer is not implented"); + } }); builder.setNullWriterFactory(new VXQueryNullWriterFactory()); if (availableProcessors < 1) { http://git-wip-us.apache.org/repos/asf/vxquery/blob/00c245fd/vxquery-xtest/pom.xml ---------------------------------------------------------------------- diff --git a/vxquery-xtest/pom.xml b/vxquery-xtest/pom.xml index 9bf8705..483f289 100644 --- a/vxquery-xtest/pom.xml +++ b/vxquery-xtest/pom.xml @@ -112,6 +112,13 @@ </execution> </executions> </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <!-- <argLine>-agentpath:"${yourkit.home}/bin/mac/libyjpagent.jnilib=sampling"</argLine> --> + </configuration> + </plugin> </plugins> </build> http://git-wip-us.apache.org/repos/asf/vxquery/blob/00c245fd/vxquery-xtest/src/main/java/org/apache/vxquery/xtest/TestRunner.java ---------------------------------------------------------------------- diff --git a/vxquery-xtest/src/main/java/org/apache/vxquery/xtest/TestRunner.java b/vxquery-xtest/src/main/java/org/apache/vxquery/xtest/TestRunner.java index 146f277..e974bca 100644 --- a/vxquery-xtest/src/main/java/org/apache/vxquery/xtest/TestRunner.java +++ b/vxquery-xtest/src/main/java/org/apache/vxquery/xtest/TestRunner.java @@ -88,7 +88,7 @@ public class TestRunner { ncConfig1.ccPort = 39001; ncConfig1.clusterNetIPAddress = "127.0.0.1"; ncConfig1.dataIPAddress = "127.0.0.1"; - ncConfig1.datasetIPAddress = "127.0.0.1"; + ncConfig1.resultIPAddress = "127.0.0.1"; ncConfig1.nodeId = "nc1"; nc1 = new NodeControllerService(ncConfig1); nc1.start(); http://git-wip-us.apache.org/repos/asf/vxquery/blob/00c245fd/vxquery-xtest/src/test/java/org/apache/vxquery/xtest/VXQueryTest.java ---------------------------------------------------------------------- diff --git a/vxquery-xtest/src/test/java/org/apache/vxquery/xtest/VXQueryTest.java b/vxquery-xtest/src/test/java/org/apache/vxquery/xtest/VXQueryTest.java index f772dc8..95a20fa 100644 --- a/vxquery-xtest/src/test/java/org/apache/vxquery/xtest/VXQueryTest.java +++ b/vxquery-xtest/src/test/java/org/apache/vxquery/xtest/VXQueryTest.java @@ -64,9 +64,9 @@ public class VXQueryTest { Collection<Object[]> tests = jtcf_vxquery.getList(); if (includeXqtsTests()) { JUnitTestCaseFactory jtcf_previous = new JUnitTestCaseFactory(getPreviousTestOptions()); - tests.addAll(jtcf_previous.getList()); + // TODO Maven fails to run when including XQTS. (Error to many open files.) + // tests.addAll(jtcf_previous.getList()); } - return tests; }
