Dmitry Lychagin has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/2394

Change subject: [ASTERIXDB-2287][SQL] Support SELECT variable.* in SQL++
......................................................................

[ASTERIXDB-2287][SQL] Support SELECT variable.* in SQL++

- user model changes: yes
- storage format changes: no
- interface changes: no

Details:
- Support SELECT variable.* in SQL++
- Include variables defined by LET clauses in the
  output record created by SELECT *
- Add object_concat() function
- Add tests for these new features
- Fail testcase if its source directory is missing
- Fix testcases that did not run previously because
  their source directories were incorrectly specified

Change-Id: I058dc0f45072a1398f6431e0c73ce680c4d8cdc7
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ConstantFoldingRule.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/SqlppExpressionToPlanTranslator.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java
M 
asterixdb/asterix-app/src/test/resources/runtimets/queries/objects/ObjectsQueries.xml
M 
asterixdb/asterix-app/src/test/resources/runtimets/queries/objects/get-object-field-value/tiny-social-example/tiny-social-example.4.query.aql
M 
asterixdb/asterix-app/src/test/resources/runtimets/queries/objects/object-merge/tiny-social-example/tiny-social-example.3.update.aql
M 
asterixdb/asterix-app/src/test/resources/runtimets/queries/objects/object-remove-fields/tiny-social-example/tiny-social-example.3.update.aql
R 
asterixdb/asterix-app/src/test/resources/runtimets/queries/open-index-enforced/error-checking/object-type-collision/object-type-collision.1.ddl.aql
M 
asterixdb/asterix-app/src/test/resources/runtimets/queries/temporal/TemporalQueries.xml
R 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index/validations/keys-same-as-pk-but-different-order/keys-same-as-pk-but-different-order.1.ddl.sqlpp
R 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index/validations/keys-same-as-pk-in-same-order/keys-same-as-pk-in-same-order.1.ddl.sqlpp
R 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/index/validations/repetitive-keys/repetitive-keys.1.ddl.sqlpp
M 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/nested-open-index/index-selection/inverted-index-ngram-edit-distance-word-tokens/inverted-index-ngram-edit-distance-word-tokens.2.update.sqlpp
M 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/objects/ObjectsQueries.xml
M 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/objects/get-object-field-value/tiny-social-example/tiny-social-example.4.query.sqlpp
C 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/objects/object_concat/object_concat.1.query.sqlpp
C 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/select-star/from/from.4.query.sqlpp
C 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/select-star/group_by/group_by.4.query.sqlpp
C 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/select-star/mixed/mixed.4.query.sqlpp
A 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/select-star/var_star/var_star.1.ddl.sqlpp
C 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/select-star/var_star/var_star.2.update.sqlpp
C 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/select-star/var_star/var_star.3.query.sqlpp
C 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/select-star/var_star/var_star.4.query.sqlpp
C 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/select-star/var_star_2/var_star_2.1.query.sqlpp
R 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/union/union_orderby_5/union_orderby_5.1.ddl.sqlpp
R 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/union/union_orderby_5/union_orderby_5.2.update.sqlpp
R 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/union/union_orderby_5/union_orderby_5.3.query.sqlpp
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/closed-nullable-fields_issue1616/closed-nullable-fields_issue1616.1.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/get-object-fields/documentation-example/documentation-example.1.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/get-object-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.4.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/get-object-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.5.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/get-object-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.6.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/get-object-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.7.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/get-object-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.8.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/get-object-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.9.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/get-object-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.4.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/get-object-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.5.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/get-object-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.6.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/get-object-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.7.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/get-object-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.8.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/get-object-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.9.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/get-object-fields/tiny-social-example-only-records/tiny-social-example-only-records.4.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/get-object-fields/tiny-social-example-only-records/tiny-social-example-only-records.5.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/get-object-fields/tiny-social-example-only-records/tiny-social-example-only-records.6.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/get-object-fields/tiny-social-example-only-records/tiny-social-example-only-records.7.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/get-object-fields/tiny-social-example-only-records/tiny-social-example-only-records.8.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/get-object-fields/tiny-social-example-only-records/tiny-social-example-only-records.9.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/object-add-fields/tiny-social-example/tiny-social-example.4.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/object-merge/tiny-social-example/tiny-social-example.4.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/object-remove-fields/tiny-social-example/tiny-social-example.4.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/objects/object_concat/object_concat.1.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/select-star/from/from.2.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/select-star/group_by/group_by.2.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/select-star/mixed/mixed.2.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/select-star/var_star/var_star.3.adm
A 
asterixdb/asterix-app/src/test/resources/runtimets/results/select-star/var_star/var_star.4.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/agg_max/agg_max.1.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/temporal/agg_min/agg_min.1.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/access-nested-fields/access-nested-fields.10.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/access-nested-fields/access-nested-fields.11.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/access-nested-fields/access-nested-fields.12.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/access-nested-fields/access-nested-fields.3.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/access-nested-fields/access-nested-fields.4.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/access-nested-fields/access-nested-fields.5.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/access-nested-fields/access-nested-fields.6.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/access-nested-fields/access-nested-fields.7.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/access-nested-fields/access-nested-fields.8.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/access-nested-fields/access-nested-fields.9.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/field-access-on-open-field/field-access-on-open-field.3.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-field-value/highly-nested-closed/highly-nested-open.3.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-field-value/highly-nested-mixed/highly-nested-mixed.3.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-field-value/highly-nested-open/highly-nested-open.3.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-field-value/tiny-social-example/tiny-social-example.4.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.4.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.5.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.6.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.7.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.8.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-fields/tiny-social-example-no-complex-types/tiny-social-example-no-complex-types.9.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.4.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.5.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.6.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.7.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.8.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-fields/tiny-social-example-only-lists/tiny-social-example-only-lists.9.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-fields/tiny-social-example-only-records/tiny-social-example-only-records.4.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-fields/tiny-social-example-only-records/tiny-social-example-only-records.5.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-fields/tiny-social-example-only-records/tiny-social-example-only-records.6.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-fields/tiny-social-example-only-records/tiny-social-example-only-records.7.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-fields/tiny-social-example-only-records/tiny-social-example-only-records.8.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/get-object-fields/tiny-social-example-only-records/tiny-social-example-only-records.9.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/open-closed-fieldname-conflict_issue173/open-closed-fieldname-conflict_issue173.3.ast
M 
asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/objects/open-open-fieldname-conflict_issue173/open-open-fieldname-conflict_issue173.3.ast
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp_parser.xml
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M 
asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/expression/FieldBinding.java
M 
asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/util/CommonFunctionMapUtil.java
M 
asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/clause/Projection.java
M 
asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/GenerateColumnNameVisitor.java
M 
asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/InlineColumnAliasVisitor.java
M 
asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/rewrites/visitor/SqlppInlineUdfsVisitor.java
M 
asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/DeepCopyVisitor.java
M 
asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/SqlppAstPrintVisitor.java
M 
asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/SqlppCloneAndSubstituteVariablesVisitor.java
M 
asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/visitor/SqlppFormatPrintVisitor.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/builders/RecordBuilder.java
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordConcatDescriptor.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordConcatEvalFactory.java
A 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordConcatStrictDescriptor.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionTypeInferers.java
M 
hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/string/UTF8StringUtil.java
116 files changed, 1,371 insertions(+), 809 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/94/2394/1


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2394
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I058dc0f45072a1398f6431e0c73ce680c4d8cdc7
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dmitry.lycha...@couchbase.com>

Reply via email to