Hello Anon. E. Moose (1000171), Till Westmann, Ali Alsuliman, Jenkins, Hussain Towaileb, Dmitry Lychagin,
I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/3370 to look at the new patch set (#8). Change subject: [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement ...................................................................... [ASTERIXDB-2535][COMP] Fix uuid present in insert/upsert statement - user model changes: no - storage format changes: no - interface changes: no Details: - Added a new record merge function, extending the old one, to handle the merge of duplicate fields. - Updated the record merge type computer to handle the merge of duplicate fields properly at compile time. - Added a new record merge descriptor and evaluator, extending the old one, to handle the merge of duplicate fields properly at runtime. - Updated IntroduceAutogenerateIDRule to use the new record merge function. - Added test cases to test the newly added function for insert and upsert statements. Change-Id: I22100d3ff29864b8bfd54b0decb183e5056fdb4a --- M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceAutogenerateIDRule.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_nested_uuid_autogenerate.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_nested_uuid_autogenerate.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_autogenerate/insert_nested_uuid_autogenerate.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists/insert_nested_uuid_manual_exists.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists/insert_nested_uuid_manual_exists.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists_select/insert_nested_uuid_manual_exists_select.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_nested_uuid_manual_exists_select/insert_nested_uuid_manual_exists_select.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual/insert_uuid_manual.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists/insert_uuid_manual_exists.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists/insert_uuid_manual_exists.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists_select/insert_uuid_manual_exists_select.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/insert_uuid_manual_exists_select/insert_uuid_manual_exists_select.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual_exists/upsert_nested_uuid_manual_exists.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual_exists/upsert_nested_uuid_manual_exists.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual_exists/upsert_nested_uuid_manual_exists.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual_exists_select/upsert_auto_nested_uuid_exists_select.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual_exists_select/upsert_auto_nested_uuid_exists_select.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_nested_uuid_manual_exists_select/upsert_auto_nested_uuid_exists_select.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_uuid_autogenerate/upsert_uuid_autogenerate.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_uuid_autogenerate/upsert_uuid_autogenerate.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_uuid_autogenerate/upsert_uuid_autogenerate.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_uuid_manual/upsert_uuid_manual.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_uuid_manual/upsert_uuid_manual.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_uuid_manual/upsert_uuid_manual.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_uuid_manual_exists/upsert_uuid_manual_exists.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_uuid_manual_exists/upsert_uuid_manual_exists.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_uuid_manual_exists/upsert_uuid_manual_exists.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_uuid_manual_exists_select/upsert_uuid_manual_exists_select.1.ddl.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_uuid_manual_exists_select/upsert_uuid_manual_exists_select.2.update.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/dml/upsert_uuid_manual_exists_select/upsert_uuid_manual_exists_select.3.query.sqlpp A asterixdb/asterix-app/src/test/resources/runtimets/results/dml/insert_nested_uuid_autogenerate/insert_nested_uuid_autogenerate.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/dml/insert_nested_uuid_manual/insert_nested_uuid_manual.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/dml/insert_nested_uuid_manual_exists/insert_nested_uuid_manual_exists.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/dml/insert_nested_uuid_manual_exists_select/insert_nested_uuid_manual_exists_select.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/dml/insert_uuid_autogenerate/insert_uuid_autogenerate.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/dml/insert_uuid_manual/insert_uuid_manual.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/dml/insert_uuid_manual_exists/insert_uuid_manual_exists.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/dml/insert_uuid_manual_exists_select/insert_uuid_manual_exists_select.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/dml/upsert_nested_uuid_autogenerate/upsert_nested_uuid_autogenerate.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/dml/upsert_nested_uuid_manual/upsert_nested_uuid_manual.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/dml/upsert_nested_uuid_manual_exists/upsert_nested_uuid_manual_exists.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/dml/upsert_nested_uuid_manual_exists_select/upsert_nested_uuid_manual_exists_select.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/dml/upsert_uuid_autogenerate/upsert_uuid_autogenerate.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/dml/upsert_uuid_manual/upsert_uuid_manual.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/dml/upsert_uuid_manual_exists/upsert_uuid_manual_exists.1.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/dml/upsert_uuid_manual_exists_select/upsert_uuid_manual_exists_select.1.adm M asterixdb/asterix-app/src/test/resources/runtimets/testsuite_sqlpp.xml M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RecordMergeTypeComputer.java M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeDescriptor.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeEvaluator.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeIgnoreDuplicatesDescriptor.java A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/records/RecordMergeIgnoreDuplicatesEvaluator.java M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java 69 files changed, 1,740 insertions(+), 186 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/70/3370/8 -- To view, visit https://asterix-gerrit.ics.uci.edu/3370 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I22100d3ff29864b8bfd54b0decb183e5056fdb4a Gerrit-Change-Number: 3370 Gerrit-PatchSet: 8 Gerrit-Owner: Hussain Towaileb <hussai...@gmail.com> Gerrit-Reviewer: Ali Alsuliman <ali.al.solai...@gmail.com> Gerrit-Reviewer: Anon. E. Moose (1000171) Gerrit-Reviewer: Dmitry Lychagin <dmitry.lycha...@couchbase.com> Gerrit-Reviewer: Hussain Towaileb <hussai...@gmail.com> Gerrit-Reviewer: Hussain Towaileb <hussai...@gmail.com> Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Gerrit-Reviewer: Till Westmann <ti...@apache.org>