This is an automated email from the ASF dual-hosted git repository.

mhubail pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git

commit f4feb32e89380285cbe5bf018e710a8d3eab6548
Merge: faa22fabde 2cfe64a1eb
Author: Ritik Raj <[email protected]>
AuthorDate: Tue Jul 8 13:38:17 2025 +0530

    Merge branch 'gerrit/ionic' to 'gerrit/master'
    
    Change-Id: If0793d8dcd2caf64b2f1f9676157f1fc88f97c8e

 .../processor/AbstractFilterPushdownProcessor.java |  86 ++++++++++----
 .../processor/ColumnFilterPushdownProcessor.java   |  32 ++++-
 .../ColumnRangeFilterPushdownProcessor.java        |  17 +--
 .../DeltaTableFilterPushdownProcessor.java         |   6 +-
 .../ExternalDatasetFilterPushdownProcessor.java    |   8 +-
 .../processor/ParquetFilterPushdownProcessor.java  |   6 +-
 asterixdb/asterix-app/pom.xml                      |   3 +-
 .../test/cloud_storage/CloudStorageSparseTest.java | 130 +++++++++++++++++++++
 .../runtime/SqlppSinglePartitionExecutionTest.java |   8 ++
 ...d-storage.conf => cc-cloud-storage-sparse.conf} |   1 +
 .../src/test/resources/cc-cloud-storage.conf       |   1 +
 .../filter/return-array/return-array.001.ddl.sqlpp |  30 +++++
 .../return-array/return-array.002.update.sqlpp     |  30 +++++
 .../return-array/return-array.003.query.sqlpp      |  23 ++++
 .../return-array/return-array.004.query.sqlpp      |  23 ++++
 .../return-array/return-array.005.query.sqlpp      |  25 ++++
 .../return-array/return-array.006.query.sqlpp      |  23 ++++
 .../return-array/return-array.007.query.sqlpp      |  24 ++++
 .../return-array/return-array.008.query.sqlpp      |  26 +++++
 .../return-array/return-array.009.query.sqlpp      |  26 +++++
 .../index-leftouterjoin-example.1.ddl.sqlpp        |  36 ++++++
 .../index-leftouterjoin-example.2.update.sqlpp     |  25 ++++
 .../index-leftouterjoin-example.3.query.sqlpp      |  23 ++++
 .../index-leftouterjoin-example.4.query.sqlpp      |  23 ++++
 .../index-leftouterjoin-example.5.query.sqlpp      |  23 ++++
 .../filter/return-array/return-array.003.adm       |   1 +
 .../filter/return-array/return-array.004.adm       |   1 +
 .../filter/return-array/return-array.005.adm       |   1 +
 .../filter/return-array/return-array.006.adm       |   1 +
 .../filter/return-array/return-array.007.adm       |  18 +++
 .../filter/return-array/return-array.008.adm       |  18 +++
 .../filter/return-array/return-array.009.adm       |  18 +++
 .../index-leftouterjoin-example.1.adm              |   2 +
 .../index-leftouterjoin-example.2.adm              |   3 +
 .../index-leftouterjoin-example.3.adm              |   2 +
 .../filter/return-array/return-array.007.adm       |  18 +++
 .../filter/return-array/return-array.008.adm       |  18 +++
 .../filter/return-array/return-array.009.adm       |  18 +++
 .../src/test/resources/runtimets/sqlpp_queries.xml |  10 ++
 .../runtimets/testsuite_single_partition_sqlpp.xml |   5 +
 .../stream/in/MultiPageZeroByteBuffersReader.java  |  53 +++++++--
 .../lsm/flush/FlushColumnTupleWriter.java          |  19 +--
 .../lsm/merge/MergeColumnTupleWriter.java          |  19 +--
 .../column/zero/PageZeroWriterFlavorSelector.java  |   2 +-
 .../zero/readers/DefaultColumnPageZeroReader.java  |  20 ++--
 .../zero/readers/SparseColumnPageZeroReader.java   |   9 +-
 .../DefaultColumnMultiPageZeroReader.java          |  27 +++--
 .../DefaultColumnMultiPageZeroWriter.java          |   8 +-
 .../multipage/SparseColumnMultiPageZeroReader.java |  76 +++++++-----
 .../multipage/SparseColumnMultiPageZeroWriter.java |  12 +-
 .../column/test/bytes/AbstractBytesTest.java       |   4 +-
 .../column/api/AbstractColumnTupleWriter.java      |   2 +-
 .../am/lsm/btree/column/cloud/ColumnRanges.java    | 114 +++++++++---------
 .../buffercache/read/CloudColumnReadContext.java   |  12 +-
 .../column/impls/btree/ColumnBTreeBulkloader.java  |   4 +-
 .../impls/btree/ColumnBTreeReadLeafFrame.java      |   9 +-
 .../column/impls/btree/IColumnPageZeroReader.java  |   4 +-
 .../tuples/ColumnMultiPageZeroBufferProvider.java  |  42 ++++++-
 ...MBTreeBatchPointSearchOperatorNodePushable.java |   5 +
 59 files changed, 1034 insertions(+), 199 deletions(-)

diff --cc 
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/return-array/return-array.007.adm
index 0000000000,65a8abc378..bb24b8a2e5
mode 000000,100644..100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/return-array/return-array.007.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/return-array/return-array.007.adm
@@@ -1,0 -1,18 +1,18 @@@
 -distribute result [$$18] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
++distribute result [$$18] [cardinality: 0.0, doc-size: 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]
++  exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+   -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
 -    assign [$$18] <- [{"c": $$c}] project: [$$18] [cardinality: 0.0, op-cost: 
0.0, total-cost: 0.0]
++    assign [$$18] <- [{"c": $$c}] project: [$$18] [cardinality: 0.0, 
doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+     -- ASSIGN  |PARTITIONED|
 -      select (eq(numeric-add($$c.getField("n").getField("x"), 1), 13)) 
[cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
++      select (eq(numeric-add($$c.getField("n").getField("x"), 1), 13)) 
[cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+       -- STREAM_SELECT  |PARTITIONED|
 -        project ([$$c]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
++        project ([$$c]) [cardinality: 0.0, doc-size: 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]
++          exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, 
total-cost: 0.0]
+           -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
 -            data-scan []<-[$$19, $$c] <- test.ColumnDataset filter on: 
eq(numeric-add($$c.getField("n").getField("x"), 1), 13) [cardinality: 0.0, 
op-cost: 0.0, total-cost: 0.0]
++            data-scan []<-[$$19, $$c] <- test.ColumnDataset filter on: 
eq(numeric-add($$c.getField("n").getField("x"), 1), 13) [cardinality: 0.0, 
doc-size: 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]
++              exchange [cardinality: 0.0, doc-size: 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 [cardinality: 0.0, doc-size: 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/filter/return-array/return-array.008.adm
index 0000000000,2f65f60a7d..1935885504
mode 000000,100644..100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/return-array/return-array.008.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/return-array/return-array.008.adm
@@@ -1,0 -1,18 +1,18 @@@
 -distribute result [$$18] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
++distribute result [$$18] [cardinality: 0.0, doc-size: 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]
++  exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+   -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
 -    assign [$$18] <- [{"c": $$c}] project: [$$18] [cardinality: 0.0, op-cost: 
0.0, total-cost: 0.0]
++    assign [$$18] <- [{"c": $$c}] project: [$$18] [cardinality: 0.0, 
doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+     -- ASSIGN  |PARTITIONED|
 -      select (eq($$c.getField("nested_field").getField("array_field"), 
ordered-list-constructor(1, "a", true))) [cardinality: 0.0, op-cost: 0.0, 
total-cost: 0.0]
++      select (eq($$c.getField("nested_field").getField("array_field"), 
ordered-list-constructor(1, "a", true))) [cardinality: 0.0, doc-size: 0.0, 
op-cost: 0.0, total-cost: 0.0]
+       -- STREAM_SELECT  |PARTITIONED|
 -        project ([$$c]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
++        project ([$$c]) [cardinality: 0.0, doc-size: 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]
++          exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, 
total-cost: 0.0]
+           -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
 -            data-scan []<-[$$19, $$c] <- test.ColumnDataset [cardinality: 
0.0, op-cost: 0.0, total-cost: 0.0]
++            data-scan []<-[$$19, $$c] <- test.ColumnDataset [cardinality: 
0.0, doc-size: 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]
++              exchange [cardinality: 0.0, doc-size: 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 [cardinality: 0.0, doc-size: 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/filter/return-array/return-array.009.adm
index 0000000000,1235754525..9b20402c8e
mode 000000,100644..100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/return-array/return-array.009.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/return-array/return-array.009.adm
@@@ -1,0 -1,18 +1,18 @@@
 -distribute result [$$17] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
++distribute result [$$17] [cardinality: 0.0, doc-size: 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]
++  exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+   -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
 -    assign [$$17] <- [{"c": $$c}] project: [$$17] [cardinality: 0.0, op-cost: 
0.0, total-cost: 0.0]
++    assign [$$17] <- [{"c": $$c}] project: [$$17] [cardinality: 0.0, 
doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+     -- ASSIGN  |PARTITIONED|
 -      select (eq($$c.getField("nested_field").getField("a"), 1)) 
[cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
++      select (eq($$c.getField("nested_field").getField("a"), 1)) 
[cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, total-cost: 0.0]
+       -- STREAM_SELECT  |PARTITIONED|
 -        project ([$$c]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
++        project ([$$c]) [cardinality: 0.0, doc-size: 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]
++          exchange [cardinality: 0.0, doc-size: 0.0, op-cost: 0.0, 
total-cost: 0.0]
+           -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
 -            data-scan []<-[$$18, $$c] <- test.ColumnDataset filter on: 
eq($$c.getField("nested_field").getField("a"), 1) range-filter on: 
eq($$c.getField("nested_field").getField("a"), 1) [cardinality: 0.0, op-cost: 
0.0, total-cost: 0.0]
++            data-scan []<-[$$18, $$c] <- test.ColumnDataset filter on: 
eq($$c.getField("nested_field").getField("a"), 1) range-filter on: 
eq($$c.getField("nested_field").getField("a"), 1) [cardinality: 0.0, doc-size: 
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]
++              exchange [cardinality: 0.0, doc-size: 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 [cardinality: 0.0, doc-size: 0.0, op-cost: 
0.0, total-cost: 0.0]
+                 -- EMPTY_TUPLE_SOURCE  |PARTITIONED|

Reply via email to