>From Calvin Thomas Dani <calvinthomas.d...@gmail.com>: Attention is currently required from: Calvin Thomas Dani, Ian Maxon, Wail Alkowaileet. Hello Ian Maxon, Wail Alkowaileet, Ali Alsuliman, Jenkins, Anon. E. Moose #1000171,
I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19044 to look at the new patch set (#9). Change subject: [NO ISSUE] Added schema inference for row based records. ...................................................................... [NO ISSUE] Added schema inference for row based records. - user mode changes: new built-in function - storage format changes: no - interface changes: no Details: -Provides an aggregate funciton "array_schema" to infer schema from records -Cloned schema inference structure from Columnar module to runtime -Final output of the schema is json_schema -Test cases for testing query to its result is also added to Maven Change-Id: I5550c89d56994996b5021f1cbf0e4f03f8fee45b --- A asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/SchemaUtil.java M asterixdb/asterix-column/src/main/java/org/apache/asterix/column/metadata/schema/AbstractSchemaNode.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/AbstractRowSchemaNode.java M asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/serde/ARecordSerializerDeserializer.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-03/schema_inference-03.3.query.sqlpp A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/lazy/IObjectRowSchemaNodeVisitor.java A asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/SqlppExecutionSchemaInference.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-07/schema_inference-07.2.update.sqlpp A asterixdb/asterix-app/data/nontagged/diffFieldTypesData_5.json A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/collectionschema/CollectionSchemaReader.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/SchemaAggregateDescriptor.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/util/MetadataBuiltinFunctions.java A asterixdb/asterix-app/src/test/resources/runtimets/results/schema-inference/schema-inference-08/schema_inference.3.adm A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/SqlSchemaAggregateDescriptor.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-03/schema_inference-03.1.ddl.sqlpp A asterixdb/asterix-app/data/nontagged/diffFieldTypesData_6.json A asterixdb/asterix-app/data/nontagged/diffFieldTypesData_3.json A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/collectionschema/CollectionSchemaRewriter.java M asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/FlushColumnMetadata.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-09/schema_inference-08.1.ddl.sqlpp A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/SchemaAggregateFunction.java A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/SchemaRequestMessage.java M asterixdb/asterix-column/src/main/java/org/apache/asterix/column/metadata/schema/UnionSchemaNode.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-02/schema_inference-02.2.update.sqlpp M asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/util/FunctionMapUtil.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalSchemaAggregateDescriptor.java A asterixdb/asterix-app/src/test/resources/runtimets/results/schema-inference/schema-inference-07/schema_inference.3.adm A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/collection/AbstractRowCollectionSchemaNode.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/RowSchemaTransformer.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/collection/GenericListRowSchemaNode.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-02/schema_inference-02.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/results/schema-inference/schema-inference-02/schema_inference.3.adm A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/currentschema/SchemaDatasource.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateSchemaAggregateFunction.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-07/schema_inference-07.3.query.sqlpp M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java A asterixdb/asterix-app/data/nontagged/diffFieldTypesData_2.json A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalSqlSchemaAggregateFunction.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalSqlSchemaAggregateDescriptor.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-01/schema_inference-01.3.query.sqlpp M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-01/schema_inference-01.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/results/schema-inference/schema-inference-01/schema_inference.3.adm A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/utils/RowSchemaStringBuilderVisitor.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-08/schema_inference-08.1.ddl.sqlpp A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/collection/MultisetRowSchemaNode.java A asterixdb/asterix-app/src/test/resources/runtimets/results/schema-inference/schema-inference-09/schema_inference.3.adm A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/primitive/PrimitiveRowSchemaNode.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/AbstractRowSchemaNestedNode.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/RowMetadata.java A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/currentschema/SchemaRewriter.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-04/schema_inference-04.3.query.sqlpp A asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/flush/ColumnSchemaTransformer.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalSchemaAggregateDescriptor.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-08/schema_inference-08.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-09/schema_inference-08.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/results/schema-inference/schema-inference-04/schema_inference.3.adm A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/currentschema/SchemaFunction.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-07/schema_inference-07.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-06/schema_inference-06.2.update.sqlpp A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/utils/JSONRowSchemaStringBuilderVisitor.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/UnionRowSchemaNode.java A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/currentschema/SchemaReader.java A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/SchemaResponseMessage.java M asterixdb/asterix-column/src/main/java/org/apache/asterix/column/metadata/schema/primitive/PrimitiveSchemaNode.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/utils/JSONRowSchemaADMRecordBuilderVisitor.java A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/CalculateSchemaResponseMessage.java A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/collectionschema/CollectionSchemaDatasource.java A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/CalculateSchemaRequestMessage.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-08/schema_inference-08.2.update.sqlpp A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/primitive/MissingRowFieldSchemaNode.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/collection/ArrayRowSchemaNode.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-06/schema_inference-06.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/results/schema-inference/schema-inference-03/schema_inference.3.adm A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalSqlSchemaAggregateDescriptor.java M asterixdb/asterix-column/src/main/java/org/apache/asterix/column/metadata/schema/ObjectSchemaNode.java A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/api/IRowMetadata.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractSchemaAggregateFunction.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/IRowSchemaNodeVisitor.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-05/schema_inference-05.3.query.sqlpp A asterixdb/asterix-column/src/main/java/org/apache/asterix/column/metadata/schema/IObjectSchemaNodeVisitor.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalSchemaAggregateFunction.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalSchemaAggregateFunction.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-01/schema_inference-01.2.update.sqlpp A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarSqlSchemaAggregateDescriptor.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-03/schema_inference-03.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/results/schema-inference/schema-inference-06/schema_inference.3.adm A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalSqlSchemaAggregateFunction.java A asterixdb/asterix-app/data/nontagged/diffFieldTypesData.json M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree-column/src/main/java/org/apache/hyracks/storage/am/lsm/btree/column/impls/lsm/LSMColumnBTree.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/lazy/metadata/RowFieldNamesDictionary.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/SqlSchemaAggregateFunction.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/RowTransformer.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-02/schema_inference-02.3.query.sqlpp M asterixdb/asterix-column/src/main/java/org/apache/asterix/column/metadata/schema/collection/ArraySchemaNode.java M asterixdb/asterix-column/src/main/java/org/apache/asterix/column/util/SchemaStringBuilderVisitor.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-05/schema_inference-05.1.ddl.sqlpp A hyracks-fullstack/hyracks/hyracks-data/hyracks-data-std/src/main/java/org/apache/hyracks/data/std/util/SerializableArrayBackedValueStorage.java A asterixdb/asterix-app/src/main/java/org/apache/asterix/app/function/collectionschema/CollectionSchemaFunction.java A asterixdb/asterix-app/src/test/resources/runtimets/results/schema-inference/schema-inference-05/schema_inference.3.adm A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/lazy/metadata/AbstractRowMetadata.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-09/schema_inference-08.3.query.sqlpp A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/IntermediateSchemaAggregateDescriptor.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-04/schema_inference-04.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-06/schema_inference-06.3.query.sqlpp A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/schemainferrence/ObjectRowSchemaNode.java A asterixdb/asterix-app/data/nontagged/diffFieldTypesData_4.json A asterixdb/asterix-app/src/test/resources/runtimets/testsuite_schemaInferrence_sqlpp.xml M asterixdb/asterix-column/src/main/java/org/apache/asterix/column/metadata/schema/collection/MultisetSchemaNode.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-05/schema_inference-05.2.update.sqlpp A asterixdb/asterix-app/data/nontagged/diffFieldTypesData_7.json A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/schema-inference/schema-inference-04/schema_inference-04.1.ddl.sqlpp A asterixdb/asterix-column/src/main/java/org/apache/asterix/column/metadata/schema/collection/GenericListSchemaNode.java 113 files changed, 7,481 insertions(+), 29 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/44/19044/9 -- To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19044 To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Change-Id: I5550c89d56994996b5021f1cbf0e4f03f8fee45b Gerrit-Change-Number: 19044 Gerrit-PatchSet: 9 Gerrit-Owner: Calvin Thomas Dani <calvinthomas.d...@gmail.com> Gerrit-Reviewer: Ali Alsuliman <ali.al.solai...@gmail.com> Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Ian Maxon <ima...@apache.org> Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Gerrit-Reviewer: Wail Alkowaileet <wael....@gmail.com> Gerrit-Attention: Calvin Thomas Dani <calvinthomas.d...@gmail.com> Gerrit-Attention: Ian Maxon <ima...@apache.org> Gerrit-Attention: Wail Alkowaileet <wael....@gmail.com> Gerrit-MessageType: newpatchset