This is an automated email from the ASF dual-hosted git repository. mblow pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/asterixdb.git
commit d3881ce8b3f71493bf43cae185995c8f48be6c78 Merge: e27dfd58ea b7ee9398f5 Author: Michael Blow <[email protected]> AuthorDate: Fri Jan 17 16:39:42 2025 -0500 Merge branch 'gerrit/goldfish' into 'master' Change-Id: I0442576f43a7737de10b25c41ad095ab5dc05910 .../pushdown/schema/ExpectedSchemaBuilder.java | 32 +- .../ASTERIXDB-3539/ASTERIXDB-3539.001.ddl.sqlpp | 28 ++ .../ASTERIXDB-3539/ASTERIXDB-3539.002.update.sqlpp | 30 ++ .../ASTERIXDB-3539/ASTERIXDB-3539.003.update.sqlpp | 22 ++ .../ASTERIXDB-3539/ASTERIXDB-3539.004.query.sqlpp | 23 ++ .../ASTERIXDB-3540/ASTERIXDB-3540.001.ddl.sqlpp | 33 ++ .../ASTERIXDB-3540/ASTERIXDB-3540.002.update.sqlpp | 37 ++ .../ASTERIXDB-3540/ASTERIXDB-3540.003.query.sqlpp | 23 ++ .../ASTERIXDB-3540/ASTERIXDB-3540.004.query.sqlpp | 23 ++ .../ASTERIXDB-3540/ASTERIXDB-3540.005.query.sqlpp | 23 ++ .../ASTERIXDB-3540/ASTERIXDB-3540.006.query.sqlpp | 23 ++ .../assembly/ASTERIXDB-3539/ASTERIXDB-3539.003.adm | 1 + .../ASTERIXDB-3540/ASTERIXDB-3540.003.plan | 18 + .../ASTERIXDB-3540/ASTERIXDB-3540.004.plan | 18 + .../pushdown/ASTERIXDB-3540/ASTERIXDB-3540.005.adm | 1 + .../pushdown/ASTERIXDB-3540/ASTERIXDB-3540.006.adm | 1 + .../src/test/resources/runtimets/sqlpp_queries.xml | 10 + .../runtimets/testsuite_single_partition_sqlpp.xml | 387 +++++++++++++++++++++ .../column/tuple/QueryColumnTupleReference.java | 3 + .../tuple/QueryColumnWithMetaTupleReference.java | 3 + .../lsm/btree/column/api/IColumnTupleIterator.java | 7 + .../impls/lsm/LSMColumnBTreeRangeSearchCursor.java | 4 +- .../lsm/tuples/AbstractColumnTupleReference.java | 13 + 23 files changed, 748 insertions(+), 15 deletions(-) diff --cc asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/ASTERIXDB-3540/ASTERIXDB-3540.003.plan index 0000000000,40cfb0053c..e8211a2b50 mode 000000,100644..100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/ASTERIXDB-3540/ASTERIXDB-3540.003.plan +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/ASTERIXDB-3540/ASTERIXDB-3540.003.plan @@@ -1,0 -1,20 +1,18 @@@ + distribute result [$$25] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- DISTRIBUTE_RESULT |PARTITIONED| + exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - project ([$$25]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- STREAM_PROJECT |PARTITIONED| - assign [$$25] <- [{"g": $$26.getField("g"), "$1": $$26.getField("p").getField("$$ColumnDataset.getField("x").getField("y").getField("age_field")")}] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ assign [$$25] <- [{"g": $$26.getField("g"), "$1": $$26.getField("p").getField("$$ColumnDataset.getField("x").getField("y").getField("age_field")")}] project: [$$25] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ASSIGN |PARTITIONED| ++ assign [$$26] <- [$$ColumnDataset.getField("t").getField("r")] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- ASSIGN |PARTITIONED| - assign [$$26] <- [$$ColumnDataset.getField("t").getField("r")] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- ASSIGN |PARTITIONED| - project ([$$ColumnDataset]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- STREAM_PROJECT |PARTITIONED| - exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - data-scan []<-[$$27, $$ColumnDataset] <- test.ColumnDataset project ({t:{r:{p:any,g:any}},x:{y:{age_field:any}}}) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- DATASOURCE_SCAN |PARTITIONED| - exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- EMPTY_TUPLE_SOURCE |PARTITIONED| ++ project ([$$ColumnDataset]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- STREAM_PROJECT |PARTITIONED| ++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| ++ data-scan []<-[$$27, $$ColumnDataset] <- test.ColumnDataset project ({t:{r:{p:any,g:any}},x:{y:{age_field:any}}}) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- DATASOURCE_SCAN |PARTITIONED| ++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| ++ empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- EMPTY_TUPLE_SOURCE |PARTITIONED| diff --cc asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/ASTERIXDB-3540/ASTERIXDB-3540.004.plan index 0000000000,7e0e44494e..273d5b8bab mode 000000,100644..100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/ASTERIXDB-3540/ASTERIXDB-3540.004.plan +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/ASTERIXDB-3540/ASTERIXDB-3540.004.plan @@@ -1,0 -1,20 +1,18 @@@ + distribute result [$$26] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- DISTRIBUTE_RESULT |PARTITIONED| + exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - project ([$$26]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- STREAM_PROJECT |PARTITIONED| - assign [$$26] <- [{"g": $$27.getField("g"), "$1": $$27.getField("p").getField("substring($$ColumnDataset.getField("x").getField("y").getField("age_field"), 0, 4)")}] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ assign [$$26] <- [{"g": $$27.getField("g"), "$1": $$27.getField("p").getField("substring($$ColumnDataset.getField("x").getField("y").getField("age_field"), 0, 4)")}] project: [$$26] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ASSIGN |PARTITIONED| ++ assign [$$27] <- [$$ColumnDataset.getField("t").getField("r")] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] + -- ASSIGN |PARTITIONED| - assign [$$27] <- [$$ColumnDataset.getField("t").getField("r")] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- ASSIGN |PARTITIONED| - project ([$$ColumnDataset]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- STREAM_PROJECT |PARTITIONED| - exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - data-scan []<-[$$28, $$ColumnDataset] <- test.ColumnDataset project ({t:{r:{p:any,g:any}},x:{y:{age_field:any}}}) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- DATASOURCE_SCAN |PARTITIONED| - exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- ONE_TO_ONE_EXCHANGE |PARTITIONED| - empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] - -- EMPTY_TUPLE_SOURCE |PARTITIONED| ++ project ([$$ColumnDataset]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- STREAM_PROJECT |PARTITIONED| ++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| ++ data-scan []<-[$$28, $$ColumnDataset] <- test.ColumnDataset project ({t:{r:{p:any,g:any}},x:{y:{age_field:any}}}) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- DATASOURCE_SCAN |PARTITIONED| ++ exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- ONE_TO_ONE_EXCHANGE |PARTITIONED| ++ empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0] ++ -- EMPTY_TUPLE_SOURCE |PARTITIONED|
