You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by im...@apache.org on 2015/07/18 03:40:42 UTC
[5/9] incubator-asterixdb git commit: Adding introspection for
getting record details.
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.8.adm
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.8.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.8.adm
new file mode 100644
index 0000000..7a1ca5d
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.8.adm
@@ -0,0 +1,13 @@
+[ [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+, [ { "field-name": "tweetid", "field-type": "STRING", "is-open": false }, { "field-name": "user", "field-type": "RECORD", "is-open": false, "nested": [ { "field-name": "screen-name", "field-type": "STRING", "is-open": false }, { "field-name": "lang", "field-type": "STRING", "is-open": false }, { "field-name": "friends_count", "field-type": "INT64", "is-open": false }, { "field-name": "statuses_count", "field-type": "INT64", "is-open": false }, { "field-name": "name", "field-type": "STRING", "is-open": true }, { "field-name": "followers_count", "field-type": "INT64", "is-open": true } ] }, { "field-name": "sender-location", "field-type": "POINT", "is-open": false }, { "field-name": "send-time", "field-type": "DATETIME", "is-open": false }, { "field-name": "referred-topics", "field-type": "UNORDEREDLIST", "is-open": false, "list": [ { "field-type": "STRING" }, { "field-type": "STRING" } ] }, { "field-name": "message-text", "field-type": "STRING", "is-open": false } ]
+ ]
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.9.adm
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.9.adm b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.9.adm
new file mode 100644
index 0000000..898d763
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/records/get-record-fields/tiny-social-example/tiny-social-example.9.adm
@@ -0,0 +1,7 @@
+[ { "count": 12, "field-name": "message-text", "field-type": "STRING" }
+, { "count": 12, "field-name": "referred-topics", "field-type": "UNORDEREDLIST" }
+, { "count": 12, "field-name": "send-time", "field-type": "DATETIME" }
+, { "count": 12, "field-name": "sender-location", "field-type": "POINT" }
+, { "count": 12, "field-name": "tweetid", "field-type": "STRING" }
+, { "count": 12, "field-name": "user", "field-type": "RECORD" }
+ ]
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-app/src/test/resources/runtimets/testsuite.xml
----------------------------------------------------------------------
diff --git a/asterix-app/src/test/resources/runtimets/testsuite.xml b/asterix-app/src/test/resources/runtimets/testsuite.xml
index 2163093..94ae2f2 100644
--- a/asterix-app/src/test/resources/runtimets/testsuite.xml
+++ b/asterix-app/src/test/resources/runtimets/testsuite.xml
@@ -12,6 +12,11 @@
! See the License for the specific language governing permissions and
! limitations under the License.
!-->
+<!DOCTYPE test-suite [
+
+<!ENTITY RecordsQueries SYSTEM "queries/records/RecordsQueries.xml">
+
+]>
<test-suite
xmlns="urn:xml.testframework.asterix.ics.uci.edu"
ResultOffsetPath="results"
@@ -4343,65 +4348,7 @@
</test-case>
</test-group>
<test-group name="records">
- <test-case FilePath="records">
- <compilation-unit name="closed-record-constructor_01">
- <output-dir compare="Text">closed-record-constructor_01</output-dir>
- </compilation-unit>
- </test-case>
- <test-case FilePath="records">
- <compilation-unit name="closed-record-constructor_02">
- <output-dir compare="Text">closed-record-constructor_02</output-dir>
- </compilation-unit>
- </test-case>
- <test-case FilePath="records">
- <compilation-unit name="closed-record-constructor_03">
- <output-dir compare="Text">closed-record-constructor_03</output-dir>
- </compilation-unit>
- </test-case>
- -->
- <test-case FilePath="records">
- <compilation-unit name="expFieldName">
- <output-dir compare="Text">expFieldName</output-dir>
- </compilation-unit>
- </test-case>
- <test-case FilePath="records">
- <compilation-unit name="field-access-by-index_01">
- <output-dir compare="Text">field-access-by-index_01</output-dir>
- </compilation-unit>
- </test-case>
- <test-case FilePath="records">
- <compilation-unit name="field-access-on-open-field">
- <output-dir compare="Text">field-access-on-open-field</output-dir>
- </compilation-unit>
- </test-case>
- <test-case FilePath="records">
- <compilation-unit name="open-record-constructor_01">
- <output-dir compare="Text">open-record-constructor_01</output-dir>
- </compilation-unit>
- </test-case>
- <test-case FilePath="records">
- <compilation-unit name="open-record-constructor_02">
- <output-dir compare="Text">open-record-constructor_02</output-dir>
- </compilation-unit>
- </test-case>
- <test-case FilePath="records">
- <compilation-unit name="closed-closed-fieldname-conflict_issue173">
- <output-dir compare="Text">closed-closed-fieldname-conflict_issue173</output-dir>
- <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
- </compilation-unit>
- </test-case>
- <test-case FilePath="records">
- <compilation-unit name="open-closed-fieldname-conflict_issue173">
- <output-dir compare="Text">open-closed-fieldname-conflict_issue173</output-dir>
- <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
- </compilation-unit>
- </test-case>
- <test-case FilePath="records">
- <compilation-unit name="open-open-fieldname-conflict_issue173">
- <output-dir compare="Text">open-open-fieldname-conflict_issue173</output-dir>
- <expected-error>edu.uci.ics.asterix.common.exceptions.AsterixException</expected-error>
- </compilation-unit>
- </test-case>
+ &RecordsQueries;
</test-group>
<test-group name="scan">
<test-case FilePath="scan">
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-common/src/main/resources/schema/asterix-conf.xsd
----------------------------------------------------------------------
diff --git a/asterix-common/src/main/resources/schema/asterix-conf.xsd b/asterix-common/src/main/resources/schema/asterix-conf.xsd
index 6edfbf8..bed63be 100644
--- a/asterix-common/src/main/resources/schema/asterix-conf.xsd
+++ b/asterix-common/src/main/resources/schema/asterix-conf.xsd
@@ -1,88 +1,108 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!--
- ! Copyright 2009-2013 by The Regents of the University of California
- ! Licensed under the Apache License, Version 2.0 (the "License");
- ! you may not use this file except in compliance with the License.
- ! you may obtain a copy of the License from
- !
- ! http://www.apache.org/licenses/LICENSE-2.0
- !
- ! Unless required by applicable law or agreed to in writing, software
- ! distributed under the License is distributed on an "AS IS" BASIS,
- ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ! See the License for the specific language governing permissions and
- ! limitations under the License.
- !-->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:mg="asterixconf" targetNamespace="asterixconf"
- elementFormDefault="qualified">
+<xs:schema
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:mg="asterixconf"
+ targetNamespace="asterixconf"
+ elementFormDefault="qualified">
- <!-- definition of simple types -->
+ <!-- definition of simple types -->
+ <xs:element
+ name="instanceName"
+ type="xs:string" />
+ <xs:element
+ name="version"
+ type="xs:string" />
+ <xs:element
+ name="metadataNode"
+ type="xs:string" />
+ <xs:element
+ name="coredumpPath"
+ type="xs:string" />
+ <xs:element
+ name="storeDirs"
+ type="xs:string" />
+ <xs:element
+ name="ncId"
+ type="xs:string" />
+ <xs:element
+ name="name"
+ type="xs:string" />
+ <xs:element
+ name="value"
+ type="xs:string" />
+ <xs:element
+ name="description"
+ type="xs:string" />
+ <xs:element
+ name="txnLogDirPath"
+ type="xs:string" />
+ <!-- definition of complex elements -->
+ <xs:element name="store">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="mg:ncId" />
+ <xs:element ref="mg:storeDirs" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
- <xs:element name="instanceName" type="xs:string" />
- <xs:element name="version" type="xs:string"/>
- <xs:element name="metadataNode" type="xs:string" />
- <xs:element name="coredumpPath" type="xs:string" />
- <xs:element name="storeDirs" type="xs:string" />
- <xs:element name="ncId" type="xs:string" />
- <xs:element name="name" type="xs:string" />
- <xs:element name="value" type="xs:string" />
- <xs:element name="description" type="xs:string" />
- <xs:element name="txnLogDirPath" type="xs:string" />
+ <xs:element name="coredump">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="mg:ncId" />
+ <xs:element ref="mg:coredumpPath" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="transactionLogDir">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="mg:ncId" />
+ <xs:element ref="mg:txnLogDirPath" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
- <!-- definition of complex elements -->
- <xs:element name="store">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="mg:ncId" />
- <xs:element ref="mg:storeDirs" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
+ <xs:element name="property">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="mg:name" />
+ <xs:element ref="mg:value" />
+ <xs:element ref="mg:description" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
- <xs:element name="coredump">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="mg:ncId" />
- <xs:element ref="mg:coredumpPath" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="transactionLogDir">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="mg:ncId" />
- <xs:element ref="mg:txnLogDirPath" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
+ <xs:element name="asterixConfiguration">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element
+ ref="mg:instanceName"
+ minOccurs="0" />
+ <xs:element
+ ref="mg:version"
+ minOccurs="0" />
+ <xs:element
+ ref="mg:metadataNode"
+ minOccurs="0" />
+ <xs:element
+ ref="mg:store"
+ maxOccurs="unbounded" />
+ <xs:element
+ ref="mg:coredump"
+ maxOccurs="unbounded" />
+ <xs:element
+ ref="mg:transactionLogDir"
+ maxOccurs="unbounded" />
+ <xs:element
+ ref="mg:property"
+ minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
- <xs:element name="property">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="mg:name" />
- <xs:element ref="mg:value" />
- <xs:element ref="mg:description" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-
-
- <xs:element name="asterixConfiguration">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="mg:instanceName" minOccurs="0" />
- <xs:element ref="mg:version" minOccurs="0" />
- <xs:element ref="mg:metadataNode" minOccurs="0" />
- <xs:element ref="mg:store" maxOccurs="unbounded" />
- <xs:element ref="mg:coredump" maxOccurs="unbounded" />
- <xs:element ref="mg:transactionLogDir" maxOccurs="unbounded" />
- <xs:element ref="mg:property" minOccurs="0" maxOccurs="unbounded" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
-
-</xs:schema>
+</xs:schema>
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-common/src/main/resources/schema/yarn_cluster.xsd
----------------------------------------------------------------------
diff --git a/asterix-common/src/main/resources/schema/yarn_cluster.xsd b/asterix-common/src/main/resources/schema/yarn_cluster.xsd
index 2aa76cf..62c6f9a 100644
--- a/asterix-common/src/main/resources/schema/yarn_cluster.xsd
+++ b/asterix-common/src/main/resources/schema/yarn_cluster.xsd
@@ -1,103 +1,179 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:cl="yarn_cluster" targetNamespace="yarn_cluster" elementFormDefault="qualified">
+<xs:schema
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:cl="yarn_cluster"
+ targetNamespace="yarn_cluster"
+ elementFormDefault="qualified">
<!-- definition of simple types -->
- <xs:element name="instance_name" type="xs:string" />
- <xs:element name="cluster_name" type="xs:string" />
- <xs:element name="log_dir" type="xs:string" />
- <xs:element name="txn_log_dir" type="xs:string" />
- <xs:element name="id" type="xs:string" />
- <xs:element name="client_ip" type="xs:string" />
- <xs:element name="cluster_ip" type="xs:string" />
- <xs:element name="key" type="xs:string" />
- <xs:element name="value" type="xs:string" />
- <xs:element name="store" type="xs:string" />
- <xs:element name="iodevices" type="xs:string" />
- <xs:element name="web_port" type="xs:string" />
- <xs:element name="client_port" type="xs:integer" />
- <xs:element name="cluster_port" type="xs:integer" />
- <xs:element name="http_port" type="xs:integer" />
- <xs:element name="debug_port" type="xs:integer" />
- <xs:element name="metadata_node" type="xs:string" />
- <xs:element name="cc_container_mem" type="xs:string" />
- <xs:element name="nc_container_mem" type="xs:string" />
+ <xs:element
+ name="instance_name"
+ type="xs:string" />
+ <xs:element
+ name="cluster_name"
+ type="xs:string" />
+ <xs:element
+ name="log_dir"
+ type="xs:string" />
+ <xs:element
+ name="txn_log_dir"
+ type="xs:string" />
+ <xs:element
+ name="id"
+ type="xs:string" />
+ <xs:element
+ name="client_ip"
+ type="xs:string" />
+ <xs:element
+ name="cluster_ip"
+ type="xs:string" />
+ <xs:element
+ name="key"
+ type="xs:string" />
+ <xs:element
+ name="value"
+ type="xs:string" />
+ <xs:element
+ name="store"
+ type="xs:string" />
+ <xs:element
+ name="iodevices"
+ type="xs:string" />
+ <xs:element
+ name="web_port"
+ type="xs:string" />
+ <xs:element
+ name="client_port"
+ type="xs:integer" />
+ <xs:element
+ name="cluster_port"
+ type="xs:integer" />
+ <xs:element
+ name="http_port"
+ type="xs:integer" />
+ <xs:element
+ name="debug_port"
+ type="xs:integer" />
+ <xs:element
+ name="metadata_node"
+ type="xs:string" />
+ <xs:element
+ name="cc_container_mem"
+ type="xs:string" />
+ <xs:element
+ name="nc_container_mem"
+ type="xs:string" />
<!-- definition of complex elements -->
- <xs:element name="master_node">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="cl:id" />
- <xs:element ref="cl:client_ip" />
- <xs:element ref="cl:cluster_ip" />
- <xs:element ref="cl:log_dir" minOccurs="0" />
- <xs:element ref="cl:client_port" />
- <xs:element ref="cl:cluster_port" />
- <xs:element ref="cl:http_port" />
- <xs:element ref="cl:debug_port" minOccurs="0" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
+ <xs:element name="master_node">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="cl:id" />
+ <xs:element ref="cl:client_ip" />
+ <xs:element ref="cl:cluster_ip" />
+ <xs:element
+ ref="cl:log_dir"
+ minOccurs="0" />
+ <xs:element ref="cl:client_port" />
+ <xs:element ref="cl:cluster_port" />
+ <xs:element ref="cl:http_port" />
+ <xs:element
+ ref="cl:debug_port"
+ minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
- <xs:element name="property">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="cl:key" />
- <xs:element ref="cl:value" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
+ <xs:element name="property">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="cl:key" />
+ <xs:element ref="cl:value" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
- <xs:element name="env">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="cl:property" minOccurs="0" maxOccurs="unbounded" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
+ <xs:element name="env">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element
+ ref="cl:property"
+ minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
- <xs:element name="node">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="cl:id" />
- <xs:element ref="cl:cluster_ip" />
- <xs:element ref="cl:log_dir" minOccurs="0" />
- <xs:element ref="cl:txn_log_dir" minOccurs="0" />
- <xs:element ref="cl:store" minOccurs="0" />
- <xs:element ref="cl:iodevices" minOccurs="0" />
- <xs:element ref="cl:debug_port" minOccurs="0" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
+ <xs:element name="node">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="cl:id" />
+ <xs:element ref="cl:cluster_ip" />
+ <xs:element
+ ref="cl:log_dir"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:txn_log_dir"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:store"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:iodevices"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:debug_port"
+ minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
- <xs:element name="substitute_nodes">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="cl:node" maxOccurs="unbounded" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
+ <xs:element name="substitute_nodes">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element
+ ref="cl:node"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
- <xs:element name="cluster">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="cl:instance_name" />
- <xs:element ref="cl:cluster_name" />
- <xs:element ref="cl:cc_container_mem" minOccurs="0" />
- <xs:element ref="cl:nc_container_mem" minOccurs="0" />
- <xs:element ref="cl:env" minOccurs="0" />
- <xs:element ref="cl:log_dir" minOccurs="0" />
- <xs:element ref="cl:txn_log_dir" minOccurs="0" />
- <xs:element ref="cl:store" minOccurs="0" />
- <xs:element ref="cl:iodevices" minOccurs="0" />
- <xs:element ref="cl:metadata_node" />
- <xs:element ref="cl:master_node" />
- <xs:element ref="cl:node" maxOccurs="unbounded" />
- <xs:element ref="cl:substitute_nodes" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
+ <xs:element name="cluster">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="cl:instance_name" />
+ <xs:element ref="cl:cluster_name" />
+ <xs:element
+ ref="cl:cc_container_mem"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:nc_container_mem"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:env"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:log_dir"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:txn_log_dir"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:store"
+ minOccurs="0" />
+ <xs:element
+ ref="cl:iodevices"
+ minOccurs="0" />
+ <xs:element ref="cl:metadata_node" />
+ <xs:element ref="cl:master_node" />
+ <xs:element
+ ref="cl:node"
+ maxOccurs="unbounded" />
+ <xs:element ref="cl:substitute_nodes" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
</xs:schema>
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-doc/src/site/markdown/aql/functions.md
----------------------------------------------------------------------
diff --git a/asterix-doc/src/site/markdown/aql/functions.md b/asterix-doc/src/site/markdown/aql/functions.md
index a5f7961..fd00d11 100644
--- a/asterix-doc/src/site/markdown/aql/functions.md
+++ b/asterix-doc/src/site/markdown/aql/functions.md
@@ -9,6 +9,7 @@
* [Similarity Functions](#SimilarityFunctions)
* [Tokenizing Functions](#TokenizingFunctions)
* [Temporal Functions](#TemporalFunctions)
+* [Record Functions](#RecordFunctions)
* [Other Functions](#OtherFunctions)
Asterix provides various classes of functions to support operations on numeric, string, spatial, and temporal data. This document explains how to use these functions.
@@ -2221,6 +2222,66 @@ See the [Allen's Relations](allens.html).
"datetimebins": [ interval-datetime("1800-01-01T00:00:00.000Z, 1900-01-01T00:00:00.000Z"), interval-datetime("1900-01-01T00:00:00.000Z, 2000-01-01T00:00:00.000Z"), interval-datetime("2000-01-01T00:00:00.000Z, 2100-01-01T00:00:00.000Z") ] }
+## <a id="RecordFunctions">Record Functions</a> <font size="4"><a href="#toc">[Back to TOC]</a></font> ##
+
+
+### get-record-fields ###
+ * Syntax:
+
+ get-record-fields(record_expression)
+
+ * Access the record field names, type and open status for a given record.
+ * Arguments:
+ * `record_expression` : a record value.
+ * Return Value:
+ * An order list of `record` values that include the field-name `string`, field-type `string`, is-open `boolean` and optional nested `orderedList` for the values of a nested record.
+
+ * Example:
+
+ let $r1 := {"id": 1,
+ "project": "AsterixDB",
+ "address": {"city": "Irvine", "state": "CA"},
+ "related": ["Hivestrix", "Preglix", "Apache VXQuery"] }
+ return get-record-fields($r1)
+
+ * The expected result is:
+
+ [ { "field-name": "id", "field-type": "INT64", "is-open": false },
+ { "field-name": "project", "field-type": "STRING", "is-open": false },
+ { "field-name": "address", "field-type": "RECORD", "is-open": false, "nested": [
+ { "field-name": "city", "field-type": "STRING", "is-open": false },
+ { "field-name": "state", "field-type": "STRING", "is-open": false } ] },
+ { "field-name": "related", "field-type": "ORDEREDLIST", "is-open": false, "list": [
+ { "field-type": "STRING" },
+ { "field-type": "STRING" },
+ { "field-type": "STRING" } ] } ]
+
+ ]
+### get-record-field-value ###
+ * Syntax:
+
+ get-record-field-value(record_expression, string_expression)
+
+ * Access the field name given in the `string_expression` from the `record_expression`.
+ * Arguments:
+ * `record_expression` : A `record` value.
+ * `string_expression` : A `string` representing the top level field name.
+ * Return Value:
+ * An `any` value saved in the designated field of the record.
+
+ * Example:
+
+ let $r1 := {"id": 1,
+ "project": "AsterixDB",
+ "address": {"city": "Irvine", "state": "CA"},
+ "related": ["Hivestrix", "Preglix", "Apache VXQuery"] }
+ return get-record-field-value($r1, "project")
+
+ * The expected result is:
+
+ "AsterixDB"
+
+
## <a id="OtherFunctions">Other Functions</a> <font size="4"><a href="#toc">[Back to TOC]</a></font> ##
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/indexing/input/AbstractHDFSReader.java
----------------------------------------------------------------------
diff --git a/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/indexing/input/AbstractHDFSReader.java b/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/indexing/input/AbstractHDFSReader.java
index b6bc2c0..1027517 100644
--- a/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/indexing/input/AbstractHDFSReader.java
+++ b/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/indexing/input/AbstractHDFSReader.java
@@ -24,38 +24,40 @@ import org.apache.hadoop.mapred.Reporter;
* an abstract class to be used for reading hdfs based datasets one record at a time <- used for indexing->
*/
@SuppressWarnings("deprecation")
-public abstract class AbstractHDFSReader extends InputStream{
+public abstract class AbstractHDFSReader extends InputStream {
/***
* This function should be called once to do initial setup before starting to read records
+ *
* @return true if ready for reading
*/
abstract public boolean initialize() throws Exception;
-
+
/***
* @return the next object read or null if reached end of stream
*/
abstract public Object readNext() throws Exception;
-
+
/**
* @return the file name of the current filesplit being read
- * @throws Exception in case of end of records is reached
+ * @throws Exception
+ * in case of end of records is reached
*/
abstract public String getFileName() throws Exception;
-
+
/**
* @return return the reader position of last record read
- * @throws Exception in case of end of records is reached
+ * @throws Exception
+ * in case of end of records is reached
*/
abstract public long getReaderPosition() throws Exception;
-
+
/**
- *
* @return the file number of the file being read
* @throws Exception
*/
abstract public int getFileNumber() throws Exception;
-
+
protected Reporter getReporter() {
Reporter reporter = new Reporter() {
@@ -70,8 +72,7 @@ public abstract class AbstractHDFSReader extends InputStream{
}
@Override
- public InputSplit getInputSplit()
- throws UnsupportedOperationException {
+ public InputSplit getInputSplit() throws UnsupportedOperationException {
return null;
}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/JavaFunctionHelper.java
----------------------------------------------------------------------
diff --git a/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/JavaFunctionHelper.java b/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/JavaFunctionHelper.java
index ed6cc23..e2e694a 100644
--- a/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/JavaFunctionHelper.java
+++ b/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/JavaFunctionHelper.java
@@ -24,8 +24,8 @@ import edu.uci.ics.asterix.external.library.java.JObjectPointableVisitor;
import edu.uci.ics.asterix.external.library.java.JTypeTag;
import edu.uci.ics.asterix.om.functions.IExternalFunctionInfo;
import edu.uci.ics.asterix.om.pointables.AFlatValuePointable;
-import edu.uci.ics.asterix.om.pointables.AListPointable;
-import edu.uci.ics.asterix.om.pointables.ARecordPointable;
+import edu.uci.ics.asterix.om.pointables.AListVisitablePointable;
+import edu.uci.ics.asterix.om.pointables.ARecordVisitablePointable;
import edu.uci.ics.asterix.om.pointables.PointableAllocator;
import edu.uci.ics.asterix.om.pointables.base.IVisitablePointable;
import edu.uci.ics.asterix.om.types.BuiltinType;
@@ -88,13 +88,13 @@ public class JavaFunctionHelper implements IFunctionHelper {
case RECORD:
pointable = pointableAllocator.allocateRecordValue(type);
pointable.set(valueReference);
- jObject = pointableVisitor.visit((ARecordPointable) pointable, getTypeInfo(index, type));
+ jObject = pointableVisitor.visit((ARecordVisitablePointable) pointable, getTypeInfo(index, type));
break;
case ORDEREDLIST:
case UNORDEREDLIST:
pointable = pointableAllocator.allocateListValue(type);
pointable.set(valueReference);
- jObject = pointableVisitor.visit((AListPointable) pointable, getTypeInfo(index, type));
+ jObject = pointableVisitor.visit((AListVisitablePointable) pointable, getTypeInfo(index, type));
break;
case ANY:
throw new IllegalStateException("Cannot handle a function argument of type " + type.getTypeTag());
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/IJListAccessor.java
----------------------------------------------------------------------
diff --git a/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/IJListAccessor.java b/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/IJListAccessor.java
index f1ae883..71f6ff2 100644
--- a/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/IJListAccessor.java
+++ b/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/IJListAccessor.java
@@ -14,13 +14,13 @@
*/
package edu.uci.ics.asterix.external.library.java;
-import edu.uci.ics.asterix.om.pointables.AListPointable;
+import edu.uci.ics.asterix.om.pointables.AListVisitablePointable;
import edu.uci.ics.asterix.om.types.IAType;
import edu.uci.ics.asterix.om.util.container.IObjectPool;
import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
public interface IJListAccessor {
- IJObject access(AListPointable pointable, IObjectPool<IJObject, IAType> objectPool, IAType listType,
+ IJObject access(AListVisitablePointable pointable, IObjectPool<IJObject, IAType> objectPool, IAType listType,
JObjectPointableVisitor pointableVisitor) throws HyracksDataException;
}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/IJRecordAccessor.java
----------------------------------------------------------------------
diff --git a/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/IJRecordAccessor.java b/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/IJRecordAccessor.java
index 54b8726..1e3d692 100644
--- a/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/IJRecordAccessor.java
+++ b/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/IJRecordAccessor.java
@@ -15,7 +15,7 @@
package edu.uci.ics.asterix.external.library.java;
import edu.uci.ics.asterix.external.library.java.JObjects.JRecord;
-import edu.uci.ics.asterix.om.pointables.ARecordPointable;
+import edu.uci.ics.asterix.om.pointables.ARecordVisitablePointable;
import edu.uci.ics.asterix.om.types.ARecordType;
import edu.uci.ics.asterix.om.types.IAType;
import edu.uci.ics.asterix.om.util.container.IObjectPool;
@@ -23,7 +23,7 @@ import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
public interface IJRecordAccessor {
- public JRecord access(ARecordPointable pointable, IObjectPool<IJObject, IAType> objectPool, ARecordType recordType,
+ public JRecord access(ARecordVisitablePointable pointable, IObjectPool<IJObject, IAType> objectPool, ARecordType recordType,
JObjectPointableVisitor pointableVisitor) throws HyracksDataException;
}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/JObjectAccessors.java
----------------------------------------------------------------------
diff --git a/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/JObjectAccessors.java b/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/JObjectAccessors.java
index 084dd8e..c2e4cf3 100644
--- a/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/JObjectAccessors.java
+++ b/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/JObjectAccessors.java
@@ -16,7 +16,6 @@ package edu.uci.ics.asterix.external.library.java;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
-import java.io.UnsupportedEncodingException;
import java.util.LinkedHashMap;
import java.util.List;
@@ -72,8 +71,8 @@ import edu.uci.ics.asterix.om.base.APoint3D;
import edu.uci.ics.asterix.om.base.APolygon;
import edu.uci.ics.asterix.om.base.ARectangle;
import edu.uci.ics.asterix.om.pointables.AFlatValuePointable;
-import edu.uci.ics.asterix.om.pointables.AListPointable;
-import edu.uci.ics.asterix.om.pointables.ARecordPointable;
+import edu.uci.ics.asterix.om.pointables.AListVisitablePointable;
+import edu.uci.ics.asterix.om.pointables.ARecordVisitablePointable;
import edu.uci.ics.asterix.om.pointables.base.IVisitablePointable;
import edu.uci.ics.asterix.om.types.ARecordType;
import edu.uci.ics.asterix.om.types.ATypeTag;
@@ -448,14 +447,14 @@ public class JObjectAccessors {
}
@Override
- public JRecord access(ARecordPointable pointable, IObjectPool<IJObject, IAType> objectPool,
+ public JRecord access(ARecordVisitablePointable pointable, IObjectPool<IJObject, IAType> objectPool,
ARecordType recordType, JObjectPointableVisitor pointableVisitor) throws HyracksDataException {
try {
jRecord.reset();
} catch (AlgebricksException e) {
throw new HyracksDataException(e);
}
- ARecordPointable recordPointable = (ARecordPointable) pointable;
+ ARecordVisitablePointable recordPointable = (ARecordVisitablePointable) pointable;
List<IVisitablePointable> fieldPointables = recordPointable.getFieldValues();
List<IVisitablePointable> fieldTypeTags = recordPointable.getFieldTypeTags();
List<IVisitablePointable> fieldNames = recordPointable.getFieldNames();
@@ -473,7 +472,7 @@ public class JObjectAccessors {
typeInfo.reset(fieldType, typeTag);
switch (typeTag) {
case RECORD:
- fieldObject = pointableVisitor.visit((ARecordPointable) fieldPointable, typeInfo);
+ fieldObject = pointableVisitor.visit((ARecordVisitablePointable) fieldPointable, typeInfo);
break;
case ORDEREDLIST:
case UNORDEREDLIST:
@@ -481,7 +480,7 @@ public class JObjectAccessors {
// value is null
fieldObject = null;
} else {
- fieldObject = pointableVisitor.visit((AListPointable) fieldPointable, typeInfo);
+ fieldObject = pointableVisitor.visit((AListVisitablePointable) fieldPointable, typeInfo);
}
break;
case ANY:
@@ -530,7 +529,7 @@ public class JObjectAccessors {
}
@Override
- public IJObject access(AListPointable pointable, IObjectPool<IJObject, IAType> objectPool, IAType listType,
+ public IJObject access(AListVisitablePointable pointable, IObjectPool<IJObject, IAType> objectPool, IAType listType,
JObjectPointableVisitor pointableVisitor) throws HyracksDataException {
List<IVisitablePointable> items = pointable.getItems();
List<IVisitablePointable> itemTags = pointable.getItemTags();
@@ -546,11 +545,11 @@ public class JObjectAccessors {
typeInfo.reset(listType.getType(), listType.getTypeTag());
switch (itemTypeTag) {
case RECORD:
- listItem = pointableVisitor.visit((ARecordPointable) itemPointable, typeInfo);
+ listItem = pointableVisitor.visit((ARecordVisitablePointable) itemPointable, typeInfo);
break;
case UNORDEREDLIST:
case ORDEREDLIST:
- listItem = pointableVisitor.visit((AListPointable) itemPointable, typeInfo);
+ listItem = pointableVisitor.visit((AListVisitablePointable) itemPointable, typeInfo);
break;
case ANY:
throw new IllegalArgumentException("Cannot parse list item of type "
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/JObjectPointableVisitor.java
----------------------------------------------------------------------
diff --git a/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/JObjectPointableVisitor.java b/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/JObjectPointableVisitor.java
index cceec85..20d7c28 100644
--- a/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/JObjectPointableVisitor.java
+++ b/asterix-external-data/src/main/java/edu/uci/ics/asterix/external/library/java/JObjectPointableVisitor.java
@@ -22,8 +22,8 @@ import edu.uci.ics.asterix.external.library.TypeInfo;
import edu.uci.ics.asterix.external.library.java.JObjectAccessors.JListAccessor;
import edu.uci.ics.asterix.external.library.java.JObjectAccessors.JRecordAccessor;
import edu.uci.ics.asterix.om.pointables.AFlatValuePointable;
-import edu.uci.ics.asterix.om.pointables.AListPointable;
-import edu.uci.ics.asterix.om.pointables.ARecordPointable;
+import edu.uci.ics.asterix.om.pointables.AListVisitablePointable;
+import edu.uci.ics.asterix.om.pointables.ARecordVisitablePointable;
import edu.uci.ics.asterix.om.pointables.base.IVisitablePointable;
import edu.uci.ics.asterix.om.pointables.visitor.IVisitablePointableVisitor;
import edu.uci.ics.asterix.om.types.ARecordType;
@@ -37,7 +37,7 @@ public class JObjectPointableVisitor implements IVisitablePointableVisitor<IJObj
private final Map<IVisitablePointable, IJListAccessor> laccessorToPrinter = new HashMap<IVisitablePointable, IJListAccessor>();
@Override
- public IJObject visit(AListPointable accessor, TypeInfo arg) throws AsterixException {
+ public IJObject visit(AListVisitablePointable accessor, TypeInfo arg) throws AsterixException {
IJObject result = null;
IJListAccessor jListAccessor = laccessorToPrinter.get(accessor);
if (jListAccessor == null) {
@@ -53,7 +53,7 @@ public class JObjectPointableVisitor implements IVisitablePointableVisitor<IJObj
}
@Override
- public IJObject visit(ARecordPointable accessor, TypeInfo arg) throws AsterixException {
+ public IJObject visit(ARecordVisitablePointable accessor, TypeInfo arg) throws AsterixException {
IJObject result = null;
IJRecordAccessor jRecordAccessor = raccessorToJObject.get(accessor);
if (jRecordAccessor == null) {
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/declared/PKGeneratingAdapter.java
----------------------------------------------------------------------
diff --git a/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/declared/PKGeneratingAdapter.java b/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/declared/PKGeneratingAdapter.java
index 862092a..9f78b37 100644
--- a/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/declared/PKGeneratingAdapter.java
+++ b/asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/declared/PKGeneratingAdapter.java
@@ -21,7 +21,7 @@ import edu.uci.ics.asterix.builders.RecordBuilder;
import edu.uci.ics.asterix.common.feeds.api.IDatasourceAdapter;
import edu.uci.ics.asterix.om.base.AMutableUUID;
import edu.uci.ics.asterix.om.base.AUUID;
-import edu.uci.ics.asterix.om.pointables.ARecordPointable;
+import edu.uci.ics.asterix.om.pointables.ARecordVisitablePointable;
import edu.uci.ics.asterix.om.pointables.PointableAllocator;
import edu.uci.ics.asterix.om.pointables.base.IVisitablePointable;
import edu.uci.ics.asterix.om.types.ARecordType;
@@ -75,7 +75,7 @@ public class PKGeneratingAdapter implements IDatasourceAdapter {
private final byte AUUIDTag = ATypeTag.UUID.serialize();
private final byte[] serializedUUID = new byte[16];
private final PointableAllocator pa = new PointableAllocator();
- private final ARecordPointable recordPointable;
+ private final ARecordVisitablePointable recordPointable;
private final IAType[] outClosedTypes;
private final RecordBuilder recBuilder;
@@ -85,7 +85,7 @@ public class PKGeneratingAdapter implements IDatasourceAdapter {
this.outRecType = outRecType;
this.tb = new ArrayTupleBuilder(2);
this.recBuilder = new RecordBuilder();
- this.recordPointable = (ARecordPointable) pa.allocateRecordValue(inRecType);
+ this.recordPointable = (ARecordVisitablePointable) pa.allocateRecordValue(inRecType);
this.outClosedTypes = outRecType.getFieldTypes();
}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-om/src/main/java/edu/uci/ics/asterix/builders/AbvsBuilderFactory.java
----------------------------------------------------------------------
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/builders/AbvsBuilderFactory.java b/asterix-om/src/main/java/edu/uci/ics/asterix/builders/AbvsBuilderFactory.java
new file mode 100644
index 0000000..9d0e434
--- /dev/null
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/builders/AbvsBuilderFactory.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * you may obtain a copy of the License from
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package edu.uci.ics.asterix.builders;
+
+import edu.uci.ics.asterix.om.util.container.IObjectFactory;
+import edu.uci.ics.hyracks.data.std.api.IMutableValueStorage;
+import edu.uci.ics.hyracks.data.std.util.ArrayBackedValueStorage;
+
+public class AbvsBuilderFactory implements IObjectFactory<IMutableValueStorage, String> {
+
+ @Override
+ public IMutableValueStorage create(String type) {
+ return new ArrayBackedValueStorage();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-om/src/main/java/edu/uci/ics/asterix/builders/ListBuilderFactory.java
----------------------------------------------------------------------
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/builders/ListBuilderFactory.java b/asterix-om/src/main/java/edu/uci/ics/asterix/builders/ListBuilderFactory.java
new file mode 100644
index 0000000..da098e5
--- /dev/null
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/builders/ListBuilderFactory.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * you may obtain a copy of the License from
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package edu.uci.ics.asterix.builders;
+
+import edu.uci.ics.asterix.om.util.container.IObjectFactory;
+
+public class ListBuilderFactory implements IObjectFactory<IAsterixListBuilder, String> {
+
+ @Override
+ public IAsterixListBuilder create(String type) {
+ if (type.equals("ordered")) {
+ return new OrderedListBuilder();
+ } else {
+ return new UnorderedListBuilder();
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-om/src/main/java/edu/uci/ics/asterix/builders/RecordBuilderFactory.java
----------------------------------------------------------------------
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/builders/RecordBuilderFactory.java b/asterix-om/src/main/java/edu/uci/ics/asterix/builders/RecordBuilderFactory.java
new file mode 100644
index 0000000..55ab2d0
--- /dev/null
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/builders/RecordBuilderFactory.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2009-2013 by The Regents of the University of California
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * you may obtain a copy of the License from
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package edu.uci.ics.asterix.builders;
+
+import edu.uci.ics.asterix.om.util.container.IObjectFactory;
+
+public class RecordBuilderFactory implements IObjectFactory<IARecordBuilder, String> {
+
+ @Override
+ public IARecordBuilder create(String type) {
+ return new RecordBuilder();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ADatePrinter.java
----------------------------------------------------------------------
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ADatePrinter.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ADatePrinter.java
index 545cfb2..b6eca48 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ADatePrinter.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ADatePrinter.java
@@ -36,14 +36,8 @@ public class ADatePrinter implements IPrinter {
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws AlgebricksException {
- long chrononTime = AInt32SerializerDeserializer.getInt(b, s + 1) * CHRONON_OF_DAY;
-
ps.print("date(\"");
- try {
- gCalInstance.getExtendStringRepUntilField(chrononTime, 0, ps, Fields.YEAR, Fields.DAY, false);
- } catch (IOException e) {
- throw new AlgebricksException(e);
- }
+ printString(b, s, l, ps);
ps.print("\")");
}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ADateTimePrinter.java
----------------------------------------------------------------------
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ADateTimePrinter.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ADateTimePrinter.java
index cd7a2fb..bede764 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ADateTimePrinter.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ADateTimePrinter.java
@@ -35,16 +35,8 @@ public class ADateTimePrinter implements IPrinter {
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws AlgebricksException {
- long chrononTime = AInt64SerializerDeserializer.getLong(b, s + 1);
-
ps.print("datetime(\"");
-
- try {
- gCalInstance.getExtendStringRepUntilField(chrononTime, 0, ps, Fields.YEAR, Fields.MILLISECOND, true);
- } catch (IOException e) {
- throw new AlgebricksException(e);
- }
-
+ printString(b, s, l, ps);
ps.print("\")");
}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ADayTimeDurationPrinter.java
----------------------------------------------------------------------
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ADayTimeDurationPrinter.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ADayTimeDurationPrinter.java
index 558c49f..99e076a 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ADayTimeDurationPrinter.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ADayTimeDurationPrinter.java
@@ -30,7 +30,6 @@ public class ADayTimeDurationPrinter implements IPrinter {
@Override
public void init() throws AlgebricksException {
- // TODO Auto-generated method stub
}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/AObjectPrinter.java
----------------------------------------------------------------------
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/AObjectPrinter.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/AObjectPrinter.java
index 5a96e52..aeb325f 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/AObjectPrinter.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/AObjectPrinter.java
@@ -115,6 +115,10 @@ public class AObjectPrinter implements IPrinter {
APolygonPrinter.INSTANCE.print(b, s, l, ps);
break;
}
+ case RECTANGLE: {
+ ARectanglePrinter.INSTANCE.print(b, s, l, ps);
+ break;
+ }
case CIRCLE: {
ACirclePrinter.INSTANCE.print(b, s, l, ps);
break;
@@ -150,9 +154,20 @@ public class AObjectPrinter implements IPrinter {
ShortWithoutTypeInfoPrinter.INSTANCE.print(b, s, l, ps);
break;
}
- default: {
+ case ANY:
+ case BITARRAY:
+ case ENUM:
+ case SPARSERECORD:
+ case SYSTEM_NULL:
+ case TYPE:
+ case UINT16:
+ case UINT32:
+ case UINT64:
+ case UINT8:
+ case UNION:
+ case UUID_STRING:
+ // These are internal types and do not need a printer.
throw new NotImplementedException("No printer for type " + typeTag);
- }
}
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ATimePrinter.java
----------------------------------------------------------------------
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ATimePrinter.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ATimePrinter.java
index 618b17a..8a2e179 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ATimePrinter.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/ATimePrinter.java
@@ -35,16 +35,8 @@ public class ATimePrinter implements IPrinter {
@Override
public void print(byte[] b, int s, int l, PrintStream ps) throws AlgebricksException {
- int time = AInt32SerializerDeserializer.getInt(b, s + 1);
-
ps.print("time(\"");
-
- try {
- gCalInstance.getExtendStringRepUntilField(time, 0, ps, Fields.HOUR, Fields.MILLISECOND, true);
- } catch (IOException e) {
- throw new AlgebricksException(e);
- }
-
+ printString(b,s,l, ps);
ps.print("\")");
}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/PrintTools.java
----------------------------------------------------------------------
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/PrintTools.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/PrintTools.java
index e4b8441..53cbe6d 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/PrintTools.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/PrintTools.java
@@ -14,12 +14,11 @@
*/
package edu.uci.ics.asterix.dataflow.data.nontagged.printers;
-import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
-
-import javax.xml.bind.DatatypeConverter;
import java.io.IOException;
import java.io.OutputStream;
+import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
+
public class PrintTools {
public static enum CASE {
LOWER_CASE,
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/ADatePrinter.java
----------------------------------------------------------------------
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/ADatePrinter.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/ADatePrinter.java
index 37af669..a63b0bc 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/ADatePrinter.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/ADatePrinter.java
@@ -16,7 +16,6 @@ package edu.uci.ics.asterix.dataflow.data.nontagged.printers.csv;
import java.io.PrintStream;
-import edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt32SerializerDeserializer;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.data.IPrinter;
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/ADateTimePrinter.java
----------------------------------------------------------------------
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/ADateTimePrinter.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/ADateTimePrinter.java
index e90c586..1cbafcb 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/ADateTimePrinter.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/ADateTimePrinter.java
@@ -16,7 +16,6 @@ package edu.uci.ics.asterix.dataflow.data.nontagged.printers.csv;
import java.io.PrintStream;
-import edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt64SerializerDeserializer;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.data.IPrinter;
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/AIntervalPrinter.java
----------------------------------------------------------------------
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/AIntervalPrinter.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/AIntervalPrinter.java
index c1793c9..7080b16 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/AIntervalPrinter.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/AIntervalPrinter.java
@@ -16,8 +16,6 @@ package edu.uci.ics.asterix.dataflow.data.nontagged.printers.csv;
import java.io.PrintStream;
-import edu.uci.ics.asterix.dataflow.data.nontagged.serde.AInt8SerializerDeserializer;
-import edu.uci.ics.asterix.om.types.ATypeTag;
import edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException;
import edu.uci.ics.hyracks.algebricks.data.IPrinter;
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/AObjectPrinter.java
----------------------------------------------------------------------
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/AObjectPrinter.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/AObjectPrinter.java
index dbf6729..8b543da 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/AObjectPrinter.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/csv/AObjectPrinter.java
@@ -93,6 +93,9 @@ public class AObjectPrinter implements IPrinter {
ADayTimeDurationPrinter.INSTANCE.print(b, s, l, ps);
break;
}
+ case INTERVAL:
+ AIntervalPrinter.INSTANCE.print(b, s, l, ps);
+ break;
case POINT: {
APointPrinter.INSTANCE.print(b, s, l, ps);
break;
@@ -113,6 +116,9 @@ public class AObjectPrinter implements IPrinter {
ACirclePrinter.INSTANCE.print(b, s, l, ps);
break;
}
+ case RECTANGLE:
+ ARectanglePrinter.INSTANCE.print(b, s, l, ps);
+ break;
case STRING: {
AStringPrinter.INSTANCE.print(b, s, l, ps);
break;
@@ -122,9 +128,24 @@ public class AObjectPrinter implements IPrinter {
recordPrinter.print(b, s, l, ps);
break;
}
- default: {
+ case ANY:
+ case BINARY:
+ case BITARRAY:
+ case ENUM:
+ case ORDEREDLIST:
+ case SHORTWITHOUTTYPEINFO:
+ case SPARSERECORD:
+ case SYSTEM_NULL:
+ case TYPE:
+ case UINT16:
+ case UINT32:
+ case UINT64:
+ case UINT8:
+ case UNION:
+ case UNORDEREDLIST:
+ case UUID:
+ case UUID_STRING:
throw new NotImplementedException("No printer for type " + typeTag);
- }
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADayTimeDurationPrinter.java
----------------------------------------------------------------------
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADayTimeDurationPrinter.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADayTimeDurationPrinter.java
index 50f994f..bd5c69c 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADayTimeDurationPrinter.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADayTimeDurationPrinter.java
@@ -26,7 +26,6 @@ public class ADayTimeDurationPrinter implements IPrinter {
@Override
public void init() throws AlgebricksException {
- // TODO Auto-generated method stub
}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADurationPrinter.java
----------------------------------------------------------------------
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADurationPrinter.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADurationPrinter.java
index 01850bc..58e83ec 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADurationPrinter.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/ADurationPrinter.java
@@ -38,7 +38,7 @@ public class ADurationPrinter implements IPrinter {
ps.print("{ \"duration\": { ");
ps.print("\"months\": ");
ps.print(months);
- ps.print("\"millis\": ");
+ ps.print(", \"millis\": ");
ps.print(milliseconds);
ps.print("} }");
}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/AObjectPrinter.java
----------------------------------------------------------------------
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/AObjectPrinter.java b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/AObjectPrinter.java
index 7c38a34..85cbcfb 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/AObjectPrinter.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/dataflow/data/nontagged/printers/json/AObjectPrinter.java
@@ -96,7 +96,11 @@ public class AObjectPrinter implements IPrinter {
ADayTimeDurationPrinter.INSTANCE.print(b, s, l, ps);
break;
}
- case POINT: {
+ case INTERVAL: {
+ AIntervalPrinter.INSTANCE.print(b, s, l, ps);
+ break;
+ }
+ case POINT: {
APointPrinter.INSTANCE.print(b, s, l, ps);
break;
}
@@ -116,6 +120,10 @@ public class AObjectPrinter implements IPrinter {
ACirclePrinter.INSTANCE.print(b, s, l, ps);
break;
}
+ case RECTANGLE: {
+ ARectanglePrinter.INSTANCE.print(b, s, l, ps);
+ break;
+ }
case STRING: {
AStringPrinter.INSTANCE.print(b, s, l, ps);
break;
@@ -139,9 +147,21 @@ public class AObjectPrinter implements IPrinter {
unorderedListPrinter.print(b, s, l, ps);
break;
}
- default: {
+ case ANY:
+ case BITARRAY:
+ case ENUM:
+ case SHORTWITHOUTTYPEINFO:
+ case SPARSERECORD:
+ case SYSTEM_NULL:
+ case TYPE:
+ case UINT16:
+ case UINT32:
+ case UINT64:
+ case UINT8:
+ case UNION:
+ case UUID:
+ case UUID_STRING:
throw new NotImplementedException("No printer for type " + typeTag);
- }
}
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlCSVPrinterFactoryProvider.java
----------------------------------------------------------------------
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlCSVPrinterFactoryProvider.java b/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlCSVPrinterFactoryProvider.java
index 371aa5d..2f120cc 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlCSVPrinterFactoryProvider.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlCSVPrinterFactoryProvider.java
@@ -28,6 +28,7 @@ import edu.uci.ics.asterix.dataflow.data.nontagged.printers.csv.AInt16PrinterFac
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.csv.AInt32PrinterFactory;
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.csv.AInt64PrinterFactory;
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.csv.AInt8PrinterFactory;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.csv.AIntervalPrinterFactory;
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.csv.ALinePrinterFactory;
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.csv.ANullPrinterFactory;
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.csv.ANullableFieldPrinterFactory;
@@ -62,8 +63,6 @@ public class AqlCSVPrinterFactoryProvider implements IPrinterFactoryProvider {
if (aqlType != null) {
switch (aqlType.getTypeTag()) {
- // case ANYTYPE:
- // return AAnyTypePrinterFactory.INSTANCE;
case INT8:
return AInt8PrinterFactory.INSTANCE;
case INT16:
@@ -92,6 +91,8 @@ public class AqlCSVPrinterFactoryProvider implements IPrinterFactoryProvider {
return AYearMonthDurationPrinterFactory.INSTANCE;
case DAYTIMEDURATION:
return ADayTimeDurationPrinterFactory.INSTANCE;
+ case INTERVAL:
+ return AIntervalPrinterFactory.INSTANCE;
case POINT:
return APointPrinterFactory.INSTANCE;
case POINT3D:
@@ -123,6 +124,20 @@ public class AqlCSVPrinterFactoryProvider implements IPrinterFactoryProvider {
}
case SHORTWITHOUTTYPEINFO:
return ShortWithoutTypeInfoPrinterFactory.INSTANCE;
+ case ANY:
+ case BINARY:
+ case BITARRAY:
+ case ENUM:
+ case SPARSERECORD:
+ case SYSTEM_NULL:
+ case TYPE:
+ case UINT16:
+ case UINT32:
+ case UINT64:
+ case UINT8:
+ case UUID_STRING:
+ // These types are not intended to be printed to the user.
+ break;
}
}
return AObjectPrinterFactory.INSTANCE;
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlJSONPrinterFactoryProvider.java
----------------------------------------------------------------------
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlJSONPrinterFactoryProvider.java b/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlJSONPrinterFactoryProvider.java
index 9ae9dbc..15bab45 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlJSONPrinterFactoryProvider.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlJSONPrinterFactoryProvider.java
@@ -29,6 +29,7 @@ import edu.uci.ics.asterix.dataflow.data.nontagged.printers.json.AInt16PrinterFa
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.json.AInt32PrinterFactory;
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.json.AInt64PrinterFactory;
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.json.AInt8PrinterFactory;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.json.AIntervalPrinterFactory;
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.json.ALinePrinterFactory;
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.json.ANullPrinterFactory;
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.json.ANullableFieldPrinterFactory;
@@ -67,8 +68,6 @@ public class AqlJSONPrinterFactoryProvider implements IPrinterFactoryProvider {
if (aqlType != null) {
switch (aqlType.getTypeTag()) {
- // case ANYTYPE:
- // return AAnyTypePrinterFactory.INSTANCE;
case INT8:
return AInt8PrinterFactory.INSTANCE;
case INT16:
@@ -97,6 +96,8 @@ public class AqlJSONPrinterFactoryProvider implements IPrinterFactoryProvider {
return AYearMonthDurationPrinterFactory.INSTANCE;
case DAYTIMEDURATION:
return ADayTimeDurationPrinterFactory.INSTANCE;
+ case INTERVAL:
+ return AIntervalPrinterFactory.INSTANCE;
case POINT:
return APointPrinterFactory.INSTANCE;
case POINT3D:
@@ -130,9 +131,21 @@ public class AqlJSONPrinterFactoryProvider implements IPrinterFactoryProvider {
}
case SHORTWITHOUTTYPEINFO:
return ShortWithoutTypeInfoPrinterFactory.INSTANCE;
+ case ANY:
+ case BITARRAY:
+ case ENUM:
+ case SPARSERECORD:
+ case SYSTEM_NULL:
+ case TYPE:
+ case UINT16:
+ case UINT32:
+ case UINT64:
+ case UINT8:
+ case UUID_STRING:
+ // These types are not intended to be printed to the user.
+ break;
}
}
return AObjectPrinterFactory.INSTANCE;
-
}
}
http://git-wip-us.apache.org/repos/asf/incubator-asterixdb/blob/900bf134/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlPrinterFactoryProvider.java
----------------------------------------------------------------------
diff --git a/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlPrinterFactoryProvider.java b/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlPrinterFactoryProvider.java
index bf941d0..24a0561 100644
--- a/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlPrinterFactoryProvider.java
+++ b/asterix-om/src/main/java/edu/uci/ics/asterix/formats/nontagged/AqlPrinterFactoryProvider.java
@@ -19,6 +19,7 @@ import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ABooleanPrinterFacto
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ACirclePrinterFactory;
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ADatePrinterFactory;
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ADateTimePrinterFactory;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ADayTimeDurationPrinterFactory;
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ADoublePrinterFactory;
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ADurationPrinterFactory;
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.AFloatPrinterFactory;
@@ -42,6 +43,7 @@ import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ATimePrinterFactory;
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.AUUIDPrinterFactory;
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.AUnionPrinterFactory;
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.AUnorderedlistPrinterFactory;
+import edu.uci.ics.asterix.dataflow.data.nontagged.printers.AYearMonthDurationPrinterFactory;
import edu.uci.ics.asterix.dataflow.data.nontagged.printers.ShortWithoutTypeInfoPrinterFactory;
import edu.uci.ics.asterix.om.types.AOrderedListType;
import edu.uci.ics.asterix.om.types.ARecordType;
@@ -66,8 +68,6 @@ public class AqlPrinterFactoryProvider implements IPrinterFactoryProvider {
if (aqlType != null) {
switch (aqlType.getTypeTag()) {
- // case ANYTYPE:
- // return AAnyTypePrinterFactory.INSTANCE;
case INT8:
return AInt8PrinterFactory.INSTANCE;
case INT16:
@@ -92,6 +92,10 @@ public class AqlPrinterFactoryProvider implements IPrinterFactoryProvider {
return ADateTimePrinterFactory.INSTANCE;
case DURATION:
return ADurationPrinterFactory.INSTANCE;
+ case DAYTIMEDURATION:
+ return ADayTimeDurationPrinterFactory.INSTANCE;
+ case YEARMONTHDURATION:
+ return AYearMonthDurationPrinterFactory.INSTANCE;
case INTERVAL:
return AIntervalPrinterFactory.INSTANCE;
case POINT:
@@ -127,6 +131,19 @@ public class AqlPrinterFactoryProvider implements IPrinterFactoryProvider {
}
case SHORTWITHOUTTYPEINFO:
return ShortWithoutTypeInfoPrinterFactory.INSTANCE;
+ case ANY:
+ case BITARRAY:
+ case ENUM:
+ case SPARSERECORD:
+ case SYSTEM_NULL:
+ case TYPE:
+ case UINT16:
+ case UINT32:
+ case UINT64:
+ case UINT8:
+ case UUID_STRING:
+ // These types are not intended to be printed to the user.
+ break;
}
}
return AObjectPrinterFactory.INSTANCE;