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

yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.1 by this push:
     new 27ba2542e21 [case](iceberg)append iceberg schema change case. (#38766) 
(#39630)
27ba2542e21 is described below

commit 27ba2542e21ecda8b320a1d301422c9f815d94f9
Author: daidai <2017501...@qq.com>
AuthorDate: Wed Aug 21 09:17:12 2024 +0800

    [case](iceberg)append iceberg schema change case. (#38766) (#39630)
    
    bp #38766
---
 .../docker-compose/iceberg/entrypoint.sh.tpl       |   23 +-
 .../docker-compose/iceberg/iceberg.yaml.tpl        |   25 +-
 .../scripts/create_preinstalled_scripts/run01.sql  |   77 ++
 .../scripts/create_preinstalled_scripts/run02.sql  |   75 ++
 .../scripts/create_preinstalled_scripts/run03.sql  |   75 ++
 .../scripts/create_preinstalled_scripts/run04.sql  |   80 ++
 .../create_preinstalled_scripts/run05.sql}         |    0
 .../docker-compose/iceberg/spark-init-paimon.sql   |    1 -
 docker/thirdparties/run-thirdparties-docker.sh     |    1 +
 .../iceberg/iceberg_schema_change.out              | 1016 ++++++++++++++++----
 .../iceberg/iceberg_schema_change.groovy           |   59 +-
 11 files changed, 1221 insertions(+), 211 deletions(-)

diff --git a/docker/thirdparties/docker-compose/iceberg/entrypoint.sh.tpl 
b/docker/thirdparties/docker-compose/iceberg/entrypoint.sh.tpl
old mode 100755
new mode 100644
index 642ffdb4c42..1af170ff91b
--- a/docker/thirdparties/docker-compose/iceberg/entrypoint.sh.tpl
+++ b/docker/thirdparties/docker-compose/iceberg/entrypoint.sh.tpl
@@ -23,12 +23,17 @@ start-worker.sh spark://doris--spark-iceberg:7077
 start-history-server.sh
 start-thriftserver.sh --driver-java-options "-Dderby.system.home=/tmp/derby"
 
-# Entrypoint, for example notebook, pyspark or spark-sql
-if [[ $# -gt 0 ]]; then
-    eval "$1"
-fi
-
-# Avoid container exit
-while true; do
-    sleep 1
-done
+
+
+ls /mnt/scripts/create_preinstalled_scripts/*.sql | xargs -n 1 -I {} bash -c '
+    START_TIME=$(date +%s)
+    spark-sql --master  spark://doris--spark-iceberg:7077   -f {} 
+    END_TIME=$(date +%s)
+    EXECUTION_TIME=$((END_TIME - START_TIME))
+    echo "Script: {} executed in $EXECUTION_TIME seconds"
+'
+
+
+touch /mnt/SUCCESS;
+
+tail -f /dev/null
diff --git a/docker/thirdparties/docker-compose/iceberg/iceberg.yaml.tpl 
b/docker/thirdparties/docker-compose/iceberg/iceberg.yaml.tpl
index 10c86d742e6..38491f645a9 100644
--- a/docker/thirdparties/docker-compose/iceberg/iceberg.yaml.tpl
+++ b/docker/thirdparties/docker-compose/iceberg/iceberg.yaml.tpl
@@ -31,8 +31,7 @@ services:
       - ./data/output/spark-warehouse:/home/iceberg/warehouse
       - ./data/output/spark-notebooks:/home/iceberg/notebooks/notebooks
       - ./data:/mnt/data
-      - ./spark-init-iceberg.sql:/mnt/spark-init-iceberg.sql
-      - ./spark-init-paimon.sql:/mnt/spark-init-paimon.sql
+      - ./scripts:/mnt/scripts
       - ./spark-defaults.conf:/opt/spark/conf/spark-defaults.conf
       - 
./data/input/jars/paimon-spark-3.5-0.8.0.jar:/opt/spark/jars/paimon-spark-3.5-0.8.0.jar
       - 
./data/input/jars/paimon-s3-0.8.0.jar:/opt/spark/jars/paimon-s3-0.8.0.jar
@@ -40,15 +39,14 @@ services:
       - AWS_ACCESS_KEY_ID=admin
       - AWS_SECRET_ACCESS_KEY=password
       - AWS_REGION=us-east-1
-    entrypoint:  >
-      /bin/sh -c "
-          spark-sql --conf 
spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions
 -f /mnt/spark-init-iceberg.sql 2>&1;
-          spark-sql --conf 
spark.sql.extensions=org.apache.paimon.spark.extensions.PaimonSparkSessionExtensions
 -f /mnt/spark-init-paimon.sql 2>&1;
-          tail -f /dev/null
-      "
+    entrypoint: /bin/sh /mnt/scripts/entrypoint.sh 
     networks:
       - doris--iceberg
-
+    healthcheck:
+      test: ["CMD", "ls", "/mnt/SUCCESS"]
+      interval: 5s
+      timeout: 120s
+      retries: 120
   rest:
     image: tabulario/iceberg-rest
     container_name: doris--iceberg-rest
@@ -105,6 +103,15 @@ services:
       mc cp -r /mnt/data/input/minio/warehouse/* minio/warehouse/;
       tail -f /dev/null
       "
+  
+  iceberg-hello-world:
+    image: hello-world
+    container_name: doris--iceberg-hello-world
+    depends_on:
+      spark-iceberg:
+        condition: service_healthy
+    network_mode: "host"
+
 networks:
   doris--iceberg:
     ipam:
diff --git 
a/docker/thirdparties/docker-compose/iceberg/scripts/create_preinstalled_scripts/run01.sql
 
b/docker/thirdparties/docker-compose/iceberg/scripts/create_preinstalled_scripts/run01.sql
new file mode 100644
index 00000000000..e5f70bc6366
--- /dev/null
+++ 
b/docker/thirdparties/docker-compose/iceberg/scripts/create_preinstalled_scripts/run01.sql
@@ -0,0 +1,77 @@
+
+use demo.test_db;
+
+drop table  if exists complex_orc_v1_schema_change;
+CREATE TABLE complex_orc_v1_schema_change (
+    id int,
+    col1 array<int>,
+    col2 array<float>,
+    col3 array<decimal(12,4)>,
+    col4 map<int,int>,
+    col5 map<int,float>,
+    col6 map<int,decimal(12,5)>,
+    col7 struct<x:int,y:float,z:decimal(12,5)>,
+    col8 int,
+    col9 float,
+    col10 decimal(12,5),
+    col_del int
+)USING iceberg
+TBLPROPERTIES(
+  'write.format.default' = 'orc',
+  'format-version'='1');
+
+INSERT INTO complex_orc_v1_schema_change
+VALUES
+  (1, array(1, 2, 3), array(1.1, 2.2, 3.3), array(10.1234, 20.5678, 
30.9876),map(1, 100, 2, 200), map(1, 1.1, 2, 2.2), map(1, 10.12345, 2, 
20.98765),named_struct('x', 1, 'y', 1.1, 'z', 10.12345),10, 10.5, 100.56789, 
999),
+  (2, array(4, 5), array(4.4, 5.5), array(40.1234, 50.5678),map(3, 300, 4, 
400), map(3, 3.3, 4, 4.4), map(3, 30.12345, 4, 40.98765),named_struct('x', 2, 
'y', 2.2, 'z', 20.98765),20, 20.5, 200.56789, 888),
+  (3, array(6), array(6.6), array(60.1234),map(5, 500), map(5, 5.5), map(5, 
50.12345),named_struct('x', 3, 'y', 3.3, 'z', 30.12345),30, 30.5, 300.56789, 
777),
+  (4, array(7,7,7), array(7.1,7.2,7.3), array(10,30),map(2,4), map(6,7), 
map(8,9),named_struct('x', 4, 'y', 4.4, 'z', 40.98765),40, 40.5, 400.56789, 
666),
+  (5, NULL, NULL, NULL,NULL, NULL, NULL,named_struct('x', 5, 'y', 5.5, 'z', 
50.12345),50, 50.5, 500.56789, 555),
+  (6, array(7, 8), array(7.7, 8.8), array(70.1234, 80.5678),map(6, 600, 7, 
700), map(6, 6.6, 7, 7.7), map(6, 60.12345, 7, 70.98765),named_struct('x', 6, 
'y', 6.6, 'z', 60.12345),60, 60.5, 600.56789, 444),
+  (7, array(9, 10), array(9.9, 10.10), array(90.1234, 100.5678),map(8, 800, 9, 
900), map(8, 8.8, 9, 9.9), map(8, 80.12345, 9, 90.98765),named_struct('x', 7, 
'y', 7.7, 'z', 70.98765),70, 70.5, 700.56789, 333),
+  (8, array(11, 12), array(11.11, 12.12), array(110.1234, 120.5678),map(10, 
1000, 11, 1100), map(10, 10.10, 11, 11.11), map(10, 100.12345, 11, 
110.98765),named_struct('x', 8, 'y', 8.8, 'z', 80.12345),80, 80.5, 800.56789, 
222),
+  (9, array(13, 14), array(13.13, 14.14), array(130.1234, 140.5678),map(12, 
1200, 13, 1300), map(12, 12.12, 13, 13.13), map(12, 120.12345, 13, 
130.98765),named_struct('x', 9, 'y', 9.9, 'z', 90.12345),90, 90.5, 900.56789, 
111),
+  (10, array(15, 16), array(15.15, 16.16), array(150.1234, 160.5678),map(14, 
1400, 15, 1500), map(14, 14.14, 15, 15.15), map(14, 140.12345, 15, 
150.98765),named_struct('x', 10, 'y', 10.10, 'z', 100.12345),100, 100.5, 
1000.56789, 0);
+
+
+ALTER TABLE complex_orc_v1_schema_change CHANGE COLUMN col1.element type 
bigint;
+ALTER TABLE complex_orc_v1_schema_change CHANGE COLUMN col2.element type 
double;
+ALTER TABLE complex_orc_v1_schema_change CHANGE COLUMN col3.element type 
decimal(20,4);
+ALTER TABLE complex_orc_v1_schema_change CHANGE COLUMN col4.value type bigint;
+ALTER TABLE complex_orc_v1_schema_change CHANGE COLUMN col5.value type double;
+ALTER TABLE complex_orc_v1_schema_change CHANGE COLUMN col6.value type 
decimal(20,5);
+ALTER TABLE complex_orc_v1_schema_change CHANGE COLUMN col7.x type bigint;
+ALTER TABLE complex_orc_v1_schema_change CHANGE COLUMN col7.y type double;
+ALTER TABLE complex_orc_v1_schema_change CHANGE COLUMN col7.z type 
decimal(20,5);
+alter table complex_orc_v1_schema_change CHANGE COLUMN col8 col8 bigint;
+alter table complex_orc_v1_schema_change CHANGE COLUMN col9 col9 double;
+alter table complex_orc_v1_schema_change CHANGE COLUMN col10 col10 
decimal(20,5);
+alter table complex_orc_v1_schema_change drop column col7.z;
+alter table complex_orc_v1_schema_change add column col7.add double;
+alter table complex_orc_v1_schema_change change column col7.add first;
+alter table complex_orc_v1_schema_change rename COLUMN col1 to rename_col1;
+alter table complex_orc_v1_schema_change rename COLUMN col2 to rename_col2;
+alter table complex_orc_v1_schema_change rename COLUMN col3 to rename_col3;
+alter table complex_orc_v1_schema_change rename COLUMN col4 to rename_col4;
+alter table complex_orc_v1_schema_change rename COLUMN col5 to rename_col5;
+alter table complex_orc_v1_schema_change rename COLUMN col6 to rename_col6;
+alter table complex_orc_v1_schema_change rename COLUMN col7 to rename_col7;
+alter table complex_orc_v1_schema_change rename COLUMN col8 to rename_col8;
+alter table complex_orc_v1_schema_change rename COLUMN col9 to rename_col9;
+alter table complex_orc_v1_schema_change rename COLUMN col10 to rename_col10;
+alter table complex_orc_v1_schema_change drop column col_del;
+alter table complex_orc_v1_schema_change CHANGE COLUMN rename_col8 first;
+alter table complex_orc_v1_schema_change CHANGE COLUMN rename_col9 after 
rename_col8;
+alter table complex_orc_v1_schema_change CHANGE COLUMN rename_col10 after 
rename_col9;
+alter table complex_orc_v1_schema_change add column col_add int;
+alter table complex_orc_v1_schema_change add column col_add2 int;
+
+
+INSERT INTO complex_orc_v1_schema_change (id, rename_col8, rename_col9, 
rename_col10,rename_col1, rename_col2, rename_col3,rename_col4, rename_col5, 
rename_col6,rename_col7, col_add, col_add2)
+VALUES
+  (11,100, 11.1, 110.12345,array(11, 12, 13), array(11.1, 12.2, 13.3), 
array(110.1234, 120.5678, 130.9876),map(11, 1100, 12, 1200), map(11, 11.1, 12, 
12.2), map(11, 110.12345, 12, 120.98765),named_struct('add', 11.1, 'x', 11, 
'y', 11.1),110, 120),
+  (12,200, 22.2, 220.12345,array(14, 15), array(14.4, 15.5), array(140.1234, 
150.5678),map(13, 1300, 14, 1400), map(13, 13.3, 14, 14.4), map(13, 130.12345, 
14, 140.98765),named_struct('add', 22.2, 'x', 12, 'y', 12.2),130, 140),
+  (13,300, 33.3, 330.12345,array(16), array(16.6), array(160.1234),map(15, 
1500), map(15, 15.5), map(15, 150.12345),named_struct('add', 33.3, 'x', 13, 
'y', 13.3),150, 160),
+  (14,400, 44.4, 440.12345,array(), array(), array(),map(), map(), 
map(),named_struct('add', 44.4, 'x', 14, 'y', 14.4),170, 180),
+  (15,500, 55.5, 550.12345,NULL, NULL, NULL,NULL, NULL, 
NULL,named_struct('add', 55.5, 'x', 15, 'y', 15.5),190, 200);
+
diff --git 
a/docker/thirdparties/docker-compose/iceberg/scripts/create_preinstalled_scripts/run02.sql
 
b/docker/thirdparties/docker-compose/iceberg/scripts/create_preinstalled_scripts/run02.sql
new file mode 100644
index 00000000000..500e3d200fb
--- /dev/null
+++ 
b/docker/thirdparties/docker-compose/iceberg/scripts/create_preinstalled_scripts/run02.sql
@@ -0,0 +1,75 @@
+use demo.test_db;
+
+drop table  if exists complex_orc_v2_schema_change;
+CREATE TABLE complex_orc_v2_schema_change (
+    id int,
+    col1 array<int>,
+    col2 array<float>,
+    col3 array<decimal(12,4)>,
+    col4 map<int,int>,
+    col5 map<int,float>,
+    col6 map<int,decimal(12,5)>,
+    col7 struct<x:int,y:float,z:decimal(12,5)>,
+    col8 int,
+    col9 float,
+    col10 decimal(12,5),
+    col_del int
+)USING iceberg
+TBLPROPERTIES(
+  'write.format.default' = 'orc',
+  'format-version'='2');
+
+INSERT INTO complex_orc_v2_schema_change
+VALUES
+  (1, array(1, 2, 3), array(1.1, 2.2, 3.3), array(10.1234, 20.5678, 
30.9876),map(1, 100, 2, 200), map(1, 1.1, 2, 2.2), map(1, 10.12345, 2, 
20.98765),named_struct('x', 1, 'y', 1.1, 'z', 10.12345),10, 10.5, 100.56789, 
999),
+  (2, array(4, 5), array(4.4, 5.5), array(40.1234, 50.5678),map(3, 300, 4, 
400), map(3, 3.3, 4, 4.4), map(3, 30.12345, 4, 40.98765),named_struct('x', 2, 
'y', 2.2, 'z', 20.98765),20, 20.5, 200.56789, 888),
+  (3, array(6), array(6.6), array(60.1234),map(5, 500), map(5, 5.5), map(5, 
50.12345),named_struct('x', 3, 'y', 3.3, 'z', 30.12345),30, 30.5, 300.56789, 
777),
+  (4, array(7,7,7), array(7.1,7.2,7.3), array(10,30),map(2,4), map(6,7), 
map(8,9),named_struct('x', 4, 'y', 4.4, 'z', 40.98765),40, 40.5, 400.56789, 
666),
+  (5, NULL, NULL, NULL,NULL, NULL, NULL,named_struct('x', 5, 'y', 5.5, 'z', 
50.12345),50, 50.5, 500.56789, 555),
+  (6, array(7, 8), array(7.7, 8.8), array(70.1234, 80.5678),map(6, 600, 7, 
700), map(6, 6.6, 7, 7.7), map(6, 60.12345, 7, 70.98765),named_struct('x', 6, 
'y', 6.6, 'z', 60.12345),60, 60.5, 600.56789, 444),
+  (7, array(9, 10), array(9.9, 10.10), array(90.1234, 100.5678),map(8, 800, 9, 
900), map(8, 8.8, 9, 9.9), map(8, 80.12345, 9, 90.98765),named_struct('x', 7, 
'y', 7.7, 'z', 70.98765),70, 70.5, 700.56789, 333),
+  (8, array(11, 12), array(11.11, 12.12), array(110.1234, 120.5678),map(10, 
1000, 11, 1100), map(10, 10.10, 11, 11.11), map(10, 100.12345, 11, 
110.98765),named_struct('x', 8, 'y', 8.8, 'z', 80.12345),80, 80.5, 800.56789, 
222),
+  (9, array(13, 14), array(13.13, 14.14), array(130.1234, 140.5678),map(12, 
1200, 13, 1300), map(12, 12.12, 13, 13.13), map(12, 120.12345, 13, 
130.98765),named_struct('x', 9, 'y', 9.9, 'z', 90.12345),90, 90.5, 900.56789, 
111),
+  (10, array(15, 16), array(15.15, 16.16), array(150.1234, 160.5678),map(14, 
1400, 15, 1500), map(14, 14.14, 15, 15.15), map(14, 140.12345, 15, 
150.98765),named_struct('x', 10, 'y', 10.10, 'z', 100.12345),100, 100.5, 
1000.56789, 0);
+
+
+ALTER TABLE complex_orc_v2_schema_change CHANGE COLUMN col1.element type 
bigint;
+ALTER TABLE complex_orc_v2_schema_change CHANGE COLUMN col2.element type 
double;
+ALTER TABLE complex_orc_v2_schema_change CHANGE COLUMN col3.element type 
decimal(20,4);
+ALTER TABLE complex_orc_v2_schema_change CHANGE COLUMN col4.value type bigint;
+ALTER TABLE complex_orc_v2_schema_change CHANGE COLUMN col5.value type double;
+ALTER TABLE complex_orc_v2_schema_change CHANGE COLUMN col6.value type 
decimal(20,5);
+ALTER TABLE complex_orc_v2_schema_change CHANGE COLUMN col7.x type bigint;
+ALTER TABLE complex_orc_v2_schema_change CHANGE COLUMN col7.y type double;
+ALTER TABLE complex_orc_v2_schema_change CHANGE COLUMN col7.z type 
decimal(20,5);
+alter table complex_orc_v2_schema_change CHANGE COLUMN col8 col8 bigint;
+alter table complex_orc_v2_schema_change CHANGE COLUMN col9 col9 double;
+alter table complex_orc_v2_schema_change CHANGE COLUMN col10 col10 
decimal(20,5);
+alter table complex_orc_v2_schema_change drop column col7.z;
+alter table complex_orc_v2_schema_change add column col7.add double;
+alter table complex_orc_v2_schema_change change column col7.add first;
+alter table complex_orc_v2_schema_change rename COLUMN col1 to rename_col1;
+alter table complex_orc_v2_schema_change rename COLUMN col2 to rename_col2;
+alter table complex_orc_v2_schema_change rename COLUMN col3 to rename_col3;
+alter table complex_orc_v2_schema_change rename COLUMN col4 to rename_col4;
+alter table complex_orc_v2_schema_change rename COLUMN col5 to rename_col5;
+alter table complex_orc_v2_schema_change rename COLUMN col6 to rename_col6;
+alter table complex_orc_v2_schema_change rename COLUMN col7 to rename_col7;
+alter table complex_orc_v2_schema_change rename COLUMN col8 to rename_col8;
+alter table complex_orc_v2_schema_change rename COLUMN col9 to rename_col9;
+alter table complex_orc_v2_schema_change rename COLUMN col10 to rename_col10;
+alter table complex_orc_v2_schema_change drop column col_del;
+alter table complex_orc_v2_schema_change CHANGE COLUMN rename_col8 first;
+alter table complex_orc_v2_schema_change CHANGE COLUMN rename_col9 after 
rename_col8;
+alter table complex_orc_v2_schema_change CHANGE COLUMN rename_col10 after 
rename_col9;
+alter table complex_orc_v2_schema_change add column col_add int;
+alter table complex_orc_v2_schema_change add column col_add2 int;
+
+
+INSERT INTO complex_orc_v2_schema_change (id, rename_col8, rename_col9, 
rename_col10,rename_col1, rename_col2, rename_col3,rename_col4, rename_col5, 
rename_col6,rename_col7, col_add, col_add2)
+VALUES
+  (11,100, 11.1, 110.12345,array(11, 12, 13), array(11.1, 12.2, 13.3), 
array(110.1234, 120.5678, 130.9876),map(11, 1100, 12, 1200), map(11, 11.1, 12, 
12.2), map(11, 110.12345, 12, 120.98765),named_struct('add', 11.1, 'x', 11, 
'y', 11.1),110, 120),
+  (12,200, 22.2, 220.12345,array(14, 15), array(14.4, 15.5), array(140.1234, 
150.5678),map(13, 1300, 14, 1400), map(13, 13.3, 14, 14.4), map(13, 130.12345, 
14, 140.98765),named_struct('add', 22.2, 'x', 12, 'y', 12.2),130, 140),
+  (13,300, 33.3, 330.12345,array(16), array(16.6), array(160.1234),map(15, 
1500), map(15, 15.5), map(15, 150.12345),named_struct('add', 33.3, 'x', 13, 
'y', 13.3),150, 160),
+  (14,400, 44.4, 440.12345,array(), array(), array(),map(), map(), 
map(),named_struct('add', 44.4, 'x', 14, 'y', 14.4),170, 180),
+  (15,500, 55.5, 550.12345,NULL, NULL, NULL,NULL, NULL, 
NULL,named_struct('add', 55.5, 'x', 15, 'y', 15.5),190, 200);
diff --git 
a/docker/thirdparties/docker-compose/iceberg/scripts/create_preinstalled_scripts/run03.sql
 
b/docker/thirdparties/docker-compose/iceberg/scripts/create_preinstalled_scripts/run03.sql
new file mode 100644
index 00000000000..0860783249c
--- /dev/null
+++ 
b/docker/thirdparties/docker-compose/iceberg/scripts/create_preinstalled_scripts/run03.sql
@@ -0,0 +1,75 @@
+use demo.test_db;
+
+drop table  if exists complex_parquet_v2_schema_change;
+CREATE TABLE complex_parquet_v2_schema_change (
+    id int,
+    col1 array<int>,
+    col2 array<float>,
+    col3 array<decimal(12,4)>,
+    col4 map<int,int>,
+    col5 map<int,float>,
+    col6 map<int,decimal(12,5)>,
+    col7 struct<x:int,y:float,z:decimal(12,5)>,
+    col8 int,
+    col9 float,
+    col10 decimal(12,5),
+    col_del int
+)USING iceberg
+TBLPROPERTIES(
+  'write.format.default' = 'parquet',
+  'format-version'='2');
+
+INSERT INTO complex_parquet_v2_schema_change
+VALUES
+  (1, array(1, 2, 3), array(1.1, 2.2, 3.3), array(10.1234, 20.5678, 
30.9876),map(1, 100, 2, 200), map(1, 1.1, 2, 2.2), map(1, 10.12345, 2, 
20.98765),named_struct('x', 1, 'y', 1.1, 'z', 10.12345),10, 10.5, 100.56789, 
999),
+  (2, array(4, 5), array(4.4, 5.5), array(40.1234, 50.5678),map(3, 300, 4, 
400), map(3, 3.3, 4, 4.4), map(3, 30.12345, 4, 40.98765),named_struct('x', 2, 
'y', 2.2, 'z', 20.98765),20, 20.5, 200.56789, 888),
+  (3, array(6), array(6.6), array(60.1234),map(5, 500), map(5, 5.5), map(5, 
50.12345),named_struct('x', 3, 'y', 3.3, 'z', 30.12345),30, 30.5, 300.56789, 
777),
+  (4, array(7,7,7), array(7.1,7.2,7.3), array(10,30),map(2,4), map(6,7), 
map(8,9),named_struct('x', 4, 'y', 4.4, 'z', 40.98765),40, 40.5, 400.56789, 
666),
+  (5, NULL, NULL, NULL,NULL, NULL, NULL,named_struct('x', 5, 'y', 5.5, 'z', 
50.12345),50, 50.5, 500.56789, 555),
+  (6, array(7, 8), array(7.7, 8.8), array(70.1234, 80.5678),map(6, 600, 7, 
700), map(6, 6.6, 7, 7.7), map(6, 60.12345, 7, 70.98765),named_struct('x', 6, 
'y', 6.6, 'z', 60.12345),60, 60.5, 600.56789, 444),
+  (7, array(9, 10), array(9.9, 10.10), array(90.1234, 100.5678),map(8, 800, 9, 
900), map(8, 8.8, 9, 9.9), map(8, 80.12345, 9, 90.98765),named_struct('x', 7, 
'y', 7.7, 'z', 70.98765),70, 70.5, 700.56789, 333),
+  (8, array(11, 12), array(11.11, 12.12), array(110.1234, 120.5678),map(10, 
1000, 11, 1100), map(10, 10.10, 11, 11.11), map(10, 100.12345, 11, 
110.98765),named_struct('x', 8, 'y', 8.8, 'z', 80.12345),80, 80.5, 800.56789, 
222),
+  (9, array(13, 14), array(13.13, 14.14), array(130.1234, 140.5678),map(12, 
1200, 13, 1300), map(12, 12.12, 13, 13.13), map(12, 120.12345, 13, 
130.98765),named_struct('x', 9, 'y', 9.9, 'z', 90.12345),90, 90.5, 900.56789, 
111),
+  (10, array(15, 16), array(15.15, 16.16), array(150.1234, 160.5678),map(14, 
1400, 15, 1500), map(14, 14.14, 15, 15.15), map(14, 140.12345, 15, 
150.98765),named_struct('x', 10, 'y', 10.10, 'z', 100.12345),100, 100.5, 
1000.56789, 0);
+
+
+ALTER TABLE complex_parquet_v2_schema_change CHANGE COLUMN col1.element type 
bigint;
+ALTER TABLE complex_parquet_v2_schema_change CHANGE COLUMN col2.element type 
double;
+ALTER TABLE complex_parquet_v2_schema_change CHANGE COLUMN col3.element type 
decimal(20,4);
+ALTER TABLE complex_parquet_v2_schema_change CHANGE COLUMN col4.value type 
bigint;
+ALTER TABLE complex_parquet_v2_schema_change CHANGE COLUMN col5.value type 
double;
+ALTER TABLE complex_parquet_v2_schema_change CHANGE COLUMN col6.value type 
decimal(20,5);
+ALTER TABLE complex_parquet_v2_schema_change CHANGE COLUMN col7.x type bigint;
+ALTER TABLE complex_parquet_v2_schema_change CHANGE COLUMN col7.y type double;
+ALTER TABLE complex_parquet_v2_schema_change CHANGE COLUMN col7.z type 
decimal(20,5);
+alter table complex_parquet_v2_schema_change CHANGE COLUMN col8 col8 bigint;
+alter table complex_parquet_v2_schema_change CHANGE COLUMN col9 col9 double;
+alter table complex_parquet_v2_schema_change CHANGE COLUMN col10 col10 
decimal(20,5);
+alter table complex_parquet_v2_schema_change drop column col7.z;
+alter table complex_parquet_v2_schema_change add column col7.add double;
+alter table complex_parquet_v2_schema_change change column col7.add first;
+alter table complex_parquet_v2_schema_change rename COLUMN col1 to rename_col1;
+alter table complex_parquet_v2_schema_change rename COLUMN col2 to rename_col2;
+alter table complex_parquet_v2_schema_change rename COLUMN col3 to rename_col3;
+alter table complex_parquet_v2_schema_change rename COLUMN col4 to rename_col4;
+alter table complex_parquet_v2_schema_change rename COLUMN col5 to rename_col5;
+alter table complex_parquet_v2_schema_change rename COLUMN col6 to rename_col6;
+alter table complex_parquet_v2_schema_change rename COLUMN col7 to rename_col7;
+alter table complex_parquet_v2_schema_change rename COLUMN col8 to rename_col8;
+alter table complex_parquet_v2_schema_change rename COLUMN col9 to rename_col9;
+alter table complex_parquet_v2_schema_change rename COLUMN col10 to 
rename_col10;
+alter table complex_parquet_v2_schema_change drop column col_del;
+alter table complex_parquet_v2_schema_change CHANGE COLUMN rename_col8 first;
+alter table complex_parquet_v2_schema_change CHANGE COLUMN rename_col9 after 
rename_col8;
+alter table complex_parquet_v2_schema_change CHANGE COLUMN rename_col10 after 
rename_col9;
+alter table complex_parquet_v2_schema_change add column col_add int;
+alter table complex_parquet_v2_schema_change add column col_add2 int;
+
+
+INSERT INTO complex_parquet_v2_schema_change (id, rename_col8, rename_col9, 
rename_col10,rename_col1, rename_col2, rename_col3,rename_col4, rename_col5, 
rename_col6,rename_col7, col_add, col_add2)
+VALUES
+  (11,100, 11.1, 110.12345,array(11, 12, 13), array(11.1, 12.2, 13.3), 
array(110.1234, 120.5678, 130.9876),map(11, 1100, 12, 1200), map(11, 11.1, 12, 
12.2), map(11, 110.12345, 12, 120.98765),named_struct('add', 11.1, 'x', 11, 
'y', 11.1),110, 120),
+  (12,200, 22.2, 220.12345,array(14, 15), array(14.4, 15.5), array(140.1234, 
150.5678),map(13, 1300, 14, 1400), map(13, 13.3, 14, 14.4), map(13, 130.12345, 
14, 140.98765),named_struct('add', 22.2, 'x', 12, 'y', 12.2),130, 140),
+  (13,300, 33.3, 330.12345,array(16), array(16.6), array(160.1234),map(15, 
1500), map(15, 15.5), map(15, 150.12345),named_struct('add', 33.3, 'x', 13, 
'y', 13.3),150, 160),
+  (14,400, 44.4, 440.12345,array(), array(), array(),map(), map(), 
map(),named_struct('add', 44.4, 'x', 14, 'y', 14.4),170, 180),
+  (15,500, 55.5, 550.12345,NULL, NULL, NULL,NULL, NULL, 
NULL,named_struct('add', 55.5, 'x', 15, 'y', 15.5),190, 200);
diff --git 
a/docker/thirdparties/docker-compose/iceberg/scripts/create_preinstalled_scripts/run04.sql
 
b/docker/thirdparties/docker-compose/iceberg/scripts/create_preinstalled_scripts/run04.sql
new file mode 100644
index 00000000000..d5ba0048f39
--- /dev/null
+++ 
b/docker/thirdparties/docker-compose/iceberg/scripts/create_preinstalled_scripts/run04.sql
@@ -0,0 +1,80 @@
+
+use demo.test_db;
+
+drop table  if exists complex_parquet_v1_schema_change;
+CREATE TABLE complex_parquet_v1_schema_change (
+    id int,
+    col1 array<int>,
+    col2 array<float>,
+    col3 array<decimal(12,4)>,
+    col4 map<int,int>,
+    col5 map<int,float>,
+    col6 map<int,decimal(12,5)>,
+    col7 struct<x:int,y:float,z:decimal(12,5)>,
+    col8 int,
+    col9 float,
+    col10 decimal(12,5),
+    col_del int
+)USING iceberg
+TBLPROPERTIES(
+  'write.format.default' = 'parquet',
+  'format-version'='1');
+
+INSERT INTO complex_parquet_v1_schema_change
+VALUES
+  (1, array(1, 2, 3), array(1.1, 2.2, 3.3), array(10.1234, 20.5678, 
30.9876),map(1, 100, 2, 200), map(1, 1.1, 2, 2.2), map(1, 10.12345, 2, 
20.98765),named_struct('x', 1, 'y', 1.1, 'z', 10.12345),10, 10.5, 100.56789, 
999),
+  (2, array(4, 5), array(4.4, 5.5), array(40.1234, 50.5678),map(3, 300, 4, 
400), map(3, 3.3, 4, 4.4), map(3, 30.12345, 4, 40.98765),named_struct('x', 2, 
'y', 2.2, 'z', 20.98765),20, 20.5, 200.56789, 888),
+  (3, array(6), array(6.6), array(60.1234),map(5, 500), map(5, 5.5), map(5, 
50.12345),named_struct('x', 3, 'y', 3.3, 'z', 30.12345),30, 30.5, 300.56789, 
777),
+  (4, array(7,7,7), array(7.1,7.2,7.3), array(10,30),map(2,4), map(6,7), 
map(8,9),named_struct('x', 4, 'y', 4.4, 'z', 40.98765),40, 40.5, 400.56789, 
666),
+  (5, NULL, NULL, NULL,NULL, NULL, NULL,named_struct('x', 5, 'y', 5.5, 'z', 
50.12345),50, 50.5, 500.56789, 555),
+  (6, array(7, 8), array(7.7, 8.8), array(70.1234, 80.5678),map(6, 600, 7, 
700), map(6, 6.6, 7, 7.7), map(6, 60.12345, 7, 70.98765),named_struct('x', 6, 
'y', 6.6, 'z', 60.12345),60, 60.5, 600.56789, 444),
+  (7, array(9, 10), array(9.9, 10.10), array(90.1234, 100.5678),map(8, 800, 9, 
900), map(8, 8.8, 9, 9.9), map(8, 80.12345, 9, 90.98765),named_struct('x', 7, 
'y', 7.7, 'z', 70.98765),70, 70.5, 700.56789, 333),
+  (8, array(11, 12), array(11.11, 12.12), array(110.1234, 120.5678),map(10, 
1000, 11, 1100), map(10, 10.10, 11, 11.11), map(10, 100.12345, 11, 
110.98765),named_struct('x', 8, 'y', 8.8, 'z', 80.12345),80, 80.5, 800.56789, 
222),
+  (9, array(13, 14), array(13.13, 14.14), array(130.1234, 140.5678),map(12, 
1200, 13, 1300), map(12, 12.12, 13, 13.13), map(12, 120.12345, 13, 
130.98765),named_struct('x', 9, 'y', 9.9, 'z', 90.12345),90, 90.5, 900.56789, 
111),
+  (10, array(15, 16), array(15.15, 16.16), array(150.1234, 160.5678),map(14, 
1400, 15, 1500), map(14, 14.14, 15, 15.15), map(14, 140.12345, 15, 
150.98765),named_struct('x', 10, 'y', 10.10, 'z', 100.12345),100, 100.5, 
1000.56789, 0);
+
+
+ALTER TABLE complex_parquet_v1_schema_change CHANGE COLUMN col1.element type 
bigint;
+ALTER TABLE complex_parquet_v1_schema_change CHANGE COLUMN col2.element type 
double;
+ALTER TABLE complex_parquet_v1_schema_change CHANGE COLUMN col3.element type 
decimal(20,4);
+ALTER TABLE complex_parquet_v1_schema_change CHANGE COLUMN col4.value type 
bigint;
+ALTER TABLE complex_parquet_v1_schema_change CHANGE COLUMN col5.value type 
double;
+ALTER TABLE complex_parquet_v1_schema_change CHANGE COLUMN col6.value type 
decimal(20,5);
+ALTER TABLE complex_parquet_v1_schema_change CHANGE COLUMN col7.x type bigint;
+ALTER TABLE complex_parquet_v1_schema_change CHANGE COLUMN col7.y type double;
+ALTER TABLE complex_parquet_v1_schema_change CHANGE COLUMN col7.z type 
decimal(20,5);
+alter table complex_parquet_v1_schema_change CHANGE COLUMN col8 col8 bigint;
+alter table complex_parquet_v1_schema_change CHANGE COLUMN col9 col9 double;
+alter table complex_parquet_v1_schema_change CHANGE COLUMN col10 col10 
decimal(20,5);
+alter table complex_parquet_v1_schema_change drop column col7.z;
+alter table complex_parquet_v1_schema_change add column col7.add double;
+alter table complex_parquet_v1_schema_change change column col7.add first;
+alter table complex_parquet_v1_schema_change rename COLUMN col1 to rename_col1;
+alter table complex_parquet_v1_schema_change rename COLUMN col2 to rename_col2;
+alter table complex_parquet_v1_schema_change rename COLUMN col3 to rename_col3;
+alter table complex_parquet_v1_schema_change rename COLUMN col4 to rename_col4;
+alter table complex_parquet_v1_schema_change rename COLUMN col5 to rename_col5;
+alter table complex_parquet_v1_schema_change rename COLUMN col6 to rename_col6;
+alter table complex_parquet_v1_schema_change rename COLUMN col7 to rename_col7;
+alter table complex_parquet_v1_schema_change rename COLUMN col8 to rename_col8;
+alter table complex_parquet_v1_schema_change rename COLUMN col9 to rename_col9;
+alter table complex_parquet_v1_schema_change rename COLUMN col10 to 
rename_col10;
+alter table complex_parquet_v1_schema_change drop column col_del;
+alter table complex_parquet_v1_schema_change CHANGE COLUMN rename_col8 first;
+alter table complex_parquet_v1_schema_change CHANGE COLUMN rename_col9 after 
rename_col8;
+alter table complex_parquet_v1_schema_change CHANGE COLUMN rename_col10 after 
rename_col9;
+alter table complex_parquet_v1_schema_change add column col_add int;
+alter table complex_parquet_v1_schema_change add column col_add2 int;
+
+
+INSERT INTO complex_parquet_v1_schema_change (id, rename_col8, rename_col9, 
rename_col10,rename_col1, rename_col2, rename_col3,rename_col4, rename_col5, 
rename_col6,rename_col7, col_add, col_add2)
+VALUES
+  (11,100, 11.1, 110.12345,array(11, 12, 13), array(11.1, 12.2, 13.3), 
array(110.1234, 120.5678, 130.9876),map(11, 1100, 12, 1200), map(11, 11.1, 12, 
12.2), map(11, 110.12345, 12, 120.98765),named_struct('add', 11.1, 'x', 11, 
'y', 11.1),110, 120),
+  (12,200, 22.2, 220.12345,array(14, 15), array(14.4, 15.5), array(140.1234, 
150.5678),map(13, 1300, 14, 1400), map(13, 13.3, 14, 14.4), map(13, 130.12345, 
14, 140.98765),named_struct('add', 22.2, 'x', 12, 'y', 12.2),130, 140),
+  (13,300, 33.3, 330.12345,array(16), array(16.6), array(160.1234),map(15, 
1500), map(15, 15.5), map(15, 150.12345),named_struct('add', 33.3, 'x', 13, 
'y', 13.3),150, 160),
+  (14,400, 44.4, 440.12345,array(), array(), array(),map(), map(), 
map(),named_struct('add', 44.4, 'x', 14, 'y', 14.4),170, 180),
+  (15,500, 55.5, 550.12345,NULL, NULL, NULL,NULL, NULL, 
NULL,named_struct('add', 55.5, 'x', 15, 'y', 15.5),190, 200);
+
+
+
+
diff --git a/docker/thirdparties/docker-compose/iceberg/spark-init-iceberg.sql 
b/docker/thirdparties/docker-compose/iceberg/scripts/create_preinstalled_scripts/run05.sql
similarity index 100%
rename from docker/thirdparties/docker-compose/iceberg/spark-init-iceberg.sql
rename to 
docker/thirdparties/docker-compose/iceberg/scripts/create_preinstalled_scripts/run05.sql
diff --git a/docker/thirdparties/docker-compose/iceberg/spark-init-paimon.sql 
b/docker/thirdparties/docker-compose/iceberg/spark-init-paimon.sql
deleted file mode 100644
index c868c4f7b19..00000000000
--- a/docker/thirdparties/docker-compose/iceberg/spark-init-paimon.sql
+++ /dev/null
@@ -1 +0,0 @@
--- create database if not exists paimon.test_paimon_db;
diff --git a/docker/thirdparties/run-thirdparties-docker.sh 
b/docker/thirdparties/run-thirdparties-docker.sh
index 0be76706f40..00bb742454e 100755
--- a/docker/thirdparties/run-thirdparties-docker.sh
+++ b/docker/thirdparties/run-thirdparties-docker.sh
@@ -393,6 +393,7 @@ if [[ "${RUN_ICEBERG}" -eq 1 ]]; then
     cp "${ROOT}"/docker-compose/iceberg/entrypoint.sh.tpl 
"${ROOT}"/docker-compose/iceberg/entrypoint.sh
     sed -i "s/doris--/${CONTAINER_UID}/g" 
"${ROOT}"/docker-compose/iceberg/iceberg.yaml
     sed -i "s/doris--/${CONTAINER_UID}/g" 
"${ROOT}"/docker-compose/iceberg/entrypoint.sh
+    cp "${ROOT}"/docker-compose/iceberg/entrypoint.sh 
"${ROOT}"/docker-compose/iceberg/scripts/entrypoint.sh
     sudo docker compose -f "${ROOT}"/docker-compose/iceberg/iceberg.yaml 
--env-file "${ROOT}"/docker-compose/iceberg/iceberg.env down
     if [[ "${STOP}" -ne 1 ]]; then
         if [[ ! -d "${ICEBERG_DIR}/data" ]]; then
diff --git 
a/regression-test/data/external_table_p0/iceberg/iceberg_schema_change.out 
b/regression-test/data/external_table_p0/iceberg/iceberg_schema_change.out
index 06fa6aec7cf..ca5adb14283 100644
--- a/regression-test/data/external_table_p0/iceberg/iceberg_schema_change.out
+++ b/regression-test/data/external_table_p0/iceberg/iceberg_schema_change.out
@@ -1,50 +1,49 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !parquet_v1_1 --
-rename_col8    BIGINT  Yes     true    \N      
-rename_col9    DOUBLE  Yes     true    \N      
-rename_col10   DECIMAL(20, 5)  Yes     true    \N      
-id     INT     Yes     true    \N      
-rename_col1    ARRAY<BIGINT>   Yes     true    \N      
-rename_col2    ARRAY<DOUBLE>   Yes     true    \N      
-rename_col3    ARRAY<DECIMAL(20, 4)>   Yes     true    \N      
-rename_col4    MAP<INT,BIGINT> Yes     true    \N      
-rename_col5    MAP<INT,DOUBLE> Yes     true    \N      
-rename_col6    MAP<INT,DECIMAL(20, 5)> Yes     true    \N      
-rename_col7    STRUCT<add:DOUBLE,x:BIGINT,y:DOUBLE>    Yes     true    \N      
-col_add        INT     Yes     true    \N      
-col_add2       INT     Yes     true    \N      
+rename_col8    bigint  Yes     true    \N      
+rename_col9    double  Yes     true    \N      
+rename_col10   decimal(20,5)   Yes     true    \N      
+id     int     Yes     true    \N      
+rename_col1    array<bigint>   Yes     true    \N      
+rename_col2    array<double>   Yes     true    \N      
+rename_col3    array<decimal(20,4)>    Yes     true    \N      
+rename_col4    map<int,bigint> Yes     true    \N      
+rename_col5    map<int,double> Yes     true    \N      
+rename_col6    map<int,decimal(20,5)>  Yes     true    \N      
+rename_col7    struct<add:double,x:bigint,y:double>    Yes     true    \N      
+col_add        int     Yes     true    \N      
+col_add2       int     Yes     true    \N      
 
 -- !parquet_v1_2 --
-1      1.2000000476837158      1.12345 1       [1, 2, 3]       
[1.100000023841858, 2.200000047683716, 3.299999952316284]       [1.1234, 
2.2345, 3.3456]        {1:10, 2:20}    {1:1.100000023841858, 
2:2.200000047683716}      {1:1.12345, 2:2.23456}  {"add":null, "x":1, 
"y":1.100000023841858}      \N      \N
-1      1.2000000476837158      1.12345 2       [4, 5, 6]       
[4.400000095367432, 5.5, 6.599999904632568]     [4.4567, 5.5678, 6.6789]        
{3:30, 4:40}    {3:3.299999952316284, 4:4.400000095367432}      {3:3.34567, 
4:4.45678}  {"add":null, "x":2, "y":2.200000047683716}      \N      \N
-1      1.2000000476837158      1.12345 3       [7, 8, 9]       
[7.699999809265137, 8.800000190734863, 9.899999618530273]       [7.7890, 
8.8901, 9.9012]        {5:50, 6:60}    {5:5.5, 6:6.599999904632568}    
{5:5.56789, 6:6.67890}  {"add":null, "x":3, "y":3.299999952316284}      \N      
\N
-1      1.2000000476837158      1.12345 4       [10, 11, 12]    
[10.100000381469727, 11.109999656677246, 12.119999885559082]    [10.1011, 
11.1112, 12.1213]     {7:70, 8:80}    {7:7.699999809265137, 
8:8.800000190734863}      {7:7.78901, 8:8.89012}  {"add":null, "x":4, 
"y":4.400000095367432}      \N      \N
-1      1.2000000476837158      1.12345 5       [13, 14, 15]    
[13.130000114440918, 14.140000343322754, 15.149999618530273]    [13.1314, 
14.1415, 15.1516]     {9:90, 10:100}  {9:9.899999618530273, 
10:10.100000381469727}    {9:9.89012, 10:10.10123}        {"add":null, "x":5, 
"y":5.5}    \N      \N
-21447483648    1.7976931348623157E308  1234567890.12345        6       
[21447483648, 21474483649, 21474483650] [1.7976931348623157e+308, 
1.7976931348623157e+308, 1.7976931348623157e+308]     [1234567890.1235, 
1234567890.2346, 1234567890.3457]     {214748348:2147483648, 
24748649:214743383649}   {214748648:1.7976931348623157e+308, 
27483649:1.7976931348623157e+308}   {214743648:1234567890.12345, 
21474649:1234567890.23456} {"add":1234567890.12345, "x":214748223648, 
"y":1.7976931346232156e+308} 1       2
-2144748345648  1.7976931348623157E308  1234567890.23456        7       
[2144748345648, 214742435483649, 214742435483650]       
[1.7976931348623157e+308, 1.7976931348623157e+308, 1.7976931348623157e+308]     
[12345673890.1235, 12345367890.2346, 12344567890.3457]  
{214748348:2147483632148, 24748649:213144743383649}     
{214748648:1.717693623157e+308, 27483649:1.7976931348623157e+308}       
{214743648:1234567890.12345, 21474649:1234567890.23456} 
{"add":1234567890.12345, "x":214743338223648, "y":1.7976931346232156e+308}      
2       3
-21447483648    1.7976931348623157E308  1234567890.12345        8       
[21447483648, 21474483649, 21474483650] [1.7976931348623157e+308, 
1.7976931348623157e+308, 1.7976931348623157e+308]     [1234567890.1235, 
1234567890.2346, 1234567890.3457]     {214748348:2147483648, 
24748649:214743383649}   {214748648:1.7976931348623157e+308, 
27483649:1.7976931348623157e+308}   {214743648:1234567890.12345, 
21474649:1234567890.23456} {"add":1234567890.12345, "x":214748223648, 
"y":1.7976931346232156e+308} 3       4
-2144748345648  1.7976931348623157E308  1234567890.23456        9       
[2144748345648, 214742435483649, 214742435483650, 214742435483650, 
214742435483650, 214742435483650]    [1.7976931348623157e+308, 
1.7976931348623157e+308, 1.7976931348623157e+308]     [12345673890.1235, 
12345367890.2346, 12344567890.3457]  {214748348:2147483632148, 
24748649:213144743383649}     {214748648:1.717693623157e+308, 
27483649:1.7976931348623157e+308}       {214743648:1234567890.12345, 
21474649:1234567890.23456} {"add":1234567890.12345, "x":2 [...]
+10     10.5    100.56789       1       [1, 2, 3]       [1.100000023841858, 
2.200000047683716, 3.299999952316284]       [10.1234, 20.5678, 30.9876]     
{1:100, 2:200}  {1:1.100000023841858, 2:2.200000047683716}      {1:10.12345, 
2:20.98765}        {"add":null, "x":1, "y":1.100000023841858}      \N      \N
+20     20.5    200.56789       2       [4, 5]  [4.400000095367432, 5.5]        
[40.1234, 50.5678]      {3:300, 4:400}  {3:3.299999952316284, 
4:4.400000095367432}      {3:30.12345, 4:40.98765}        {"add":null, "x":2, 
"y":2.200000047683716}      \N      \N
+30     30.5    300.56789       3       [6]     [6.599999904632568]     
[60.1234]       {5:500} {5:5.5} {5:50.12345}    {"add":null, "x":3, 
"y":3.299999952316284}      \N      \N
+40     40.5    400.56789       4       [7, 7, 7]       [7.099999904632568, 
7.199999809265137, 7.300000190734863]       [10.0000, 30.0000]      {2:4}   
{6:7}   {8:9.00000}     {"add":null, "x":4, "y":4.400000095367432}      \N      
\N
+50     50.5    500.56789       5       \N      \N      \N      \N      \N      
\N      {"add":null, "x":5, "y":5.5}    \N      \N
+60     60.5    600.56789       6       [7, 8]  [7.699999809265137, 
8.800000190734863]  [70.1234, 80.5678]      {6:600, 7:700}  
{6:6.599999904632568, 7:7.699999809265137}      {6:60.12345, 7:70.98765}        
{"add":null, "x":6, "y":6.599999904632568}      \N      \N
+70     70.5    700.56789       7       [9, 10] [9.899999618530273, 
10.100000381469727] [90.1234, 100.5678]     {8:800, 9:900}  
{8:8.800000190734863, 9:9.899999618530273}      {8:80.12345, 9:90.98765}        
{"add":null, "x":7, "y":7.699999809265137}      \N      \N
+80     80.5    800.56789       8       [11, 12]        [11.109999656677246, 
12.119999885559082]        [110.1234, 120.5678]    {10:1000, 11:1100}      
{10:10.100000381469727, 11:11.109999656677246}  {10:100.12345, 11:110.98765}    
{"add":null, "x":8, "y":8.800000190734863}      \N      \N
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+100    11.1    110.12345       11      [11, 12, 13]    [11.1, 12.2, 13.3]      
[110.1234, 120.5678, 130.9876]  {11:1100, 12:1200}      {11:11.1, 12:12.2}      
{11:110.12345, 12:120.98765}    {"add":11.1, "x":11, "y":11.1}  110     120
+200    22.2    220.12345       12      [14, 15]        [14.4, 15.5]    
[140.1234, 150.5678]    {13:1300, 14:1400}      {13:13.3, 14:14.4}      
{13:130.12345, 14:140.98765}    {"add":22.2, "x":12, "y":12.2}  130     140
+300    33.3    330.12345       13      [16]    [16.6]  [160.1234]      
{15:1500}       {15:15.5}       {15:150.12345}  {"add":33.3, "x":13, "y":13.3}  
150     160
+400    44.4    440.12345       14      []      []      []      {}      {}      
{}      {"add":44.4, "x":14, "y":14.4}  170     180
+500    55.5    550.12345       15      \N      \N      \N      \N      \N      
\N      {"add":55.5, "x":15, "y":15.5}  190     200
 
 -- !parquet_v1_3 --
-9
+15
 
 -- !parquet_v1_4 --
-6
-7
-8
-9
 
 -- !parquet_v1_5 --
-1
-2
-3
-4
+110
+130
+150
+170
+190
 
 -- !parquet_v1_6 --
-6
-7
-8
-9
 
 -- !parquet_v1_7 --
 {"add":null, "x":1, "y":1.100000023841858}
@@ -52,21 +51,39 @@ col_add2    INT     Yes     true    \N
 {"add":null, "x":3, "y":3.299999952316284}
 {"add":null, "x":4, "y":4.400000095367432}
 {"add":null, "x":5, "y":5.5}
-{"add":1234567890.12345, "x":214748223648, "y":1.7976931346232156e+308}
-{"add":1234567890.12345, "x":214743338223648, "y":1.7976931346232156e+308}
-{"add":1234567890.12345, "x":214748223648, "y":1.7976931346232156e+308}
-{"add":1234567890.12345, "x":214743338223648, "y":1.7976931346232156e+308}
+{"add":null, "x":6, "y":6.599999904632568}
+{"add":null, "x":7, "y":7.699999809265137}
+{"add":null, "x":8, "y":8.800000190734863}
+{"add":null, "x":9, "y":9.899999618530273}
+{"add":null, "x":10, "y":10.100000381469727}
+{"add":11.1, "x":11, "y":11.1}
+{"add":22.2, "x":12, "y":12.2}
+{"add":33.3, "x":13, "y":13.3}
+{"add":44.4, "x":14, "y":14.4}
+{"add":55.5, "x":15, "y":15.5}
 
 -- !parquet_v1_8 --
-3
-4
-5
+\N
+\N
+\N
+\N
+120
+140
+160
+180
+200
 
 -- !parquet_v1_9 --
-9      1
-8      1
-7      1
-6      1
+15     1
+14     1
+13     1
+12     1
+11     1
+10     0
+9      0
+8      0
+7      0
+6      0
 5      0
 4      0
 3      0
@@ -75,52 +92,196 @@ col_add2   INT     Yes     true    \N
 
 -- !parquet_v1_10 --
 
+-- !parquet_v1_11 --
+3      [10.1234, 20.5678, 30.9876]
+3      [110.1234, 120.5678, 130.9876]
+
+-- !parquet_v1_12 --
+3      [1.100000023841858, 2.200000047683716, 3.299999952316284]
+2      [4.400000095367432, 5.5]
+1      [6.599999904632568]
+3      [7.099999904632568, 7.199999809265137, 7.300000190734863]
+\N     \N
+2      [7.699999809265137, 8.800000190734863]
+2      [9.899999618530273, 10.100000381469727]
+2      [11.109999656677246, 12.119999885559082]
+2      [13.130000114440918, 14.140000343322754]
+2      [15.149999618530273, 16.15999984741211]
+3      [11.1, 12.2, 13.3]
+2      [14.4, 15.5]
+1      [16.6]
+0      []
+\N     \N
+
+-- !parquet_v1_13 --
+3      [7.099999904632568, 7.199999809265137, 7.300000190734863]
+2      [7.699999809265137, 8.800000190734863]
+2      [9.899999618530273, 10.100000381469727]
+2      [11.109999656677246, 12.119999885559082]
+2      [13.130000114440918, 14.140000343322754]
+2      [15.149999618530273, 16.15999984741211]
+3      [11.1, 12.2, 13.3]
+2      [14.4, 15.5]
+1      [16.6]
+
+-- !parquet_v1_14 --
+2      [11.109999656677246, 12.119999885559082]
+2      [13.130000114440918, 14.140000343322754]
+2      [15.149999618530273, 16.15999984741211]
+3      [11.1, 12.2, 13.3]
+2      [14.4, 15.5]
+1      [16.6]
+
+-- !parquet_v1_15 --
+3      [1, 2, 3]
+2      [4, 5]
+1      [6]
+3      [7, 7, 7]
+\N     \N
+2      [7, 8]
+2      [9, 10]
+2      [11, 12]
+2      [13, 14]
+2      [15, 16]
+3      [11, 12, 13]
+2      [14, 15]
+1      [16]
+0      []
+\N     \N
+
+-- !parquet_v1_16 --
+50     50.5    500.56789       5       \N      \N      \N      \N      \N      
\N      {"add":null, "x":5, "y":5.5}    \N      \N
+60     60.5    600.56789       6       [7, 8]  [7.699999809265137, 
8.800000190734863]  [70.1234, 80.5678]      {6:600, 7:700}  
{6:6.599999904632568, 7:7.699999809265137}      {6:60.12345, 7:70.98765}        
{"add":null, "x":6, "y":6.599999904632568}      \N      \N
+70     70.5    700.56789       7       [9, 10] [9.899999618530273, 
10.100000381469727] [90.1234, 100.5678]     {8:800, 9:900}  
{8:8.800000190734863, 9:9.899999618530273}      {8:80.12345, 9:90.98765}        
{"add":null, "x":7, "y":7.699999809265137}      \N      \N
+80     80.5    800.56789       8       [11, 12]        [11.109999656677246, 
12.119999885559082]        [110.1234, 120.5678]    {10:1000, 11:1100}      
{10:10.100000381469727, 11:11.109999656677246}  {10:100.12345, 11:110.98765}    
{"add":null, "x":8, "y":8.800000190734863}      \N      \N
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+500    55.5    550.12345       15      \N      \N      \N      \N      \N      
\N      {"add":55.5, "x":15, "y":15.5}  190     200
+
+-- !parquet_v1_17 --
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+100    11.1    110.12345       11      [11, 12, 13]    [11.1, 12.2, 13.3]      
[110.1234, 120.5678, 130.9876]  {11:1100, 12:1200}      {11:11.1, 12:12.2}      
{11:110.12345, 12:120.98765}    {"add":11.1, "x":11, "y":11.1}  110     120
+200    22.2    220.12345       12      [14, 15]        [14.4, 15.5]    
[140.1234, 150.5678]    {13:1300, 14:1400}      {13:13.3, 14:14.4}      
{13:130.12345, 14:140.98765}    {"add":22.2, "x":12, "y":12.2}  130     140
+300    33.3    330.12345       13      [16]    [16.6]  [160.1234]      
{15:1500}       {15:15.5}       {15:150.12345}  {"add":33.3, "x":13, "y":13.3}  
150     160
+
+-- !parquet_v1_18 --
+80     80.5    800.56789       8       [11, 12]        [11.109999656677246, 
12.119999885559082]        [110.1234, 120.5678]    {10:1000, 11:1100}      
{10:10.100000381469727, 11:11.109999656677246}  {10:100.12345, 11:110.98765}    
{"add":null, "x":8, "y":8.800000190734863}      \N      \N
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+100    11.1    110.12345       11      [11, 12, 13]    [11.1, 12.2, 13.3]      
[110.1234, 120.5678, 130.9876]  {11:1100, 12:1200}      {11:11.1, 12:12.2}      
{11:110.12345, 12:120.98765}    {"add":11.1, "x":11, "y":11.1}  110     120
+200    22.2    220.12345       12      [14, 15]        [14.4, 15.5]    
[140.1234, 150.5678]    {13:1300, 14:1400}      {13:13.3, 14:14.4}      
{13:130.12345, 14:140.98765}    {"add":22.2, "x":12, "y":12.2}  130     140
+300    33.3    330.12345       13      [16]    [16.6]  [160.1234]      
{15:1500}       {15:15.5}       {15:150.12345}  {"add":33.3, "x":13, "y":13.3}  
150     160
+
+-- !parquet_v1_19 --
+\N
+\N
+\N
+\N
+\N
+\N
+\N
+\N
+\N
+\N
+11.1
+22.2
+33.3
+44.4
+55.5
+
+-- !parquet_v1_20 --
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+
+-- !parquet_v1_21 --
+3      [10.1234, 20.5678, 30.9876]
+2      [40.1234, 50.5678]
+1      [60.1234]
+2      [10.0000, 30.0000]
+\N     \N
+2      [70.1234, 80.5678]
+2      [90.1234, 100.5678]
+2      [110.1234, 120.5678]
+2      [130.1234, 140.5678]
+2      [150.1234, 160.5678]
+3      [110.1234, 120.5678, 130.9876]
+2      [140.1234, 150.5678]
+1      [160.1234]
+0      []
+\N     \N
+
+-- !parquet_v1_22 --
+50     50.5    500.56789       5       \N      \N      \N      \N      \N      
\N      {"add":null, "x":5, "y":5.5}    \N      \N
+60     60.5    600.56789       6       [7, 8]  [7.699999809265137, 
8.800000190734863]  [70.1234, 80.5678]      {6:600, 7:700}  
{6:6.599999904632568, 7:7.699999809265137}      {6:60.12345, 7:70.98765}        
{"add":null, "x":6, "y":6.599999904632568}      \N      \N
+70     70.5    700.56789       7       [9, 10] [9.899999618530273, 
10.100000381469727] [90.1234, 100.5678]     {8:800, 9:900}  
{8:8.800000190734863, 9:9.899999618530273}      {8:80.12345, 9:90.98765}        
{"add":null, "x":7, "y":7.699999809265137}      \N      \N
+80     80.5    800.56789       8       [11, 12]        [11.109999656677246, 
12.119999885559082]        [110.1234, 120.5678]    {10:1000, 11:1100}      
{10:10.100000381469727, 11:11.109999656677246}  {10:100.12345, 11:110.98765}    
{"add":null, "x":8, "y":8.800000190734863}      \N      \N
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+100    11.1    110.12345       11      [11, 12, 13]    [11.1, 12.2, 13.3]      
[110.1234, 120.5678, 130.9876]  {11:1100, 12:1200}      {11:11.1, 12:12.2}      
{11:110.12345, 12:120.98765}    {"add":11.1, "x":11, "y":11.1}  110     120
+200    22.2    220.12345       12      [14, 15]        [14.4, 15.5]    
[140.1234, 150.5678]    {13:1300, 14:1400}      {13:13.3, 14:14.4}      
{13:130.12345, 14:140.98765}    {"add":22.2, "x":12, "y":12.2}  130     140
+300    33.3    330.12345       13      [16]    [16.6]  [160.1234]      
{15:1500}       {15:15.5}       {15:150.12345}  {"add":33.3, "x":13, "y":13.3}  
150     160
+400    44.4    440.12345       14      []      []      []      {}      {}      
{}      {"add":44.4, "x":14, "y":14.4}  170     180
+500    55.5    550.12345       15      \N      \N      \N      \N      \N      
\N      {"add":55.5, "x":15, "y":15.5}  190     200
+
 -- !parquet_v2_1 --
-rename_col8    BIGINT  Yes     true    \N      
-rename_col9    DOUBLE  Yes     true    \N      
-rename_col10   DECIMAL(20, 5)  Yes     true    \N      
-id     INT     Yes     true    \N      
-rename_col1    ARRAY<BIGINT>   Yes     true    \N      
-rename_col2    ARRAY<DOUBLE>   Yes     true    \N      
-rename_col3    ARRAY<DECIMAL(20, 4)>   Yes     true    \N      
-rename_col4    MAP<INT,BIGINT> Yes     true    \N      
-rename_col5    MAP<INT,DOUBLE> Yes     true    \N      
-rename_col6    MAP<INT,DECIMAL(20, 5)> Yes     true    \N      
-rename_col7    STRUCT<add:DOUBLE,x:BIGINT,y:DOUBLE>    Yes     true    \N      
-col_add        INT     Yes     true    \N      
-col_add2       INT     Yes     true    \N      
+rename_col8    bigint  Yes     true    \N      
+rename_col9    double  Yes     true    \N      
+rename_col10   decimal(20,5)   Yes     true    \N      
+id     int     Yes     true    \N      
+rename_col1    array<bigint>   Yes     true    \N      
+rename_col2    array<double>   Yes     true    \N      
+rename_col3    array<decimal(20,4)>    Yes     true    \N      
+rename_col4    map<int,bigint> Yes     true    \N      
+rename_col5    map<int,double> Yes     true    \N      
+rename_col6    map<int,decimal(20,5)>  Yes     true    \N      
+rename_col7    struct<add:double,x:bigint,y:double>    Yes     true    \N      
+col_add        int     Yes     true    \N      
+col_add2       int     Yes     true    \N      
 
 -- !parquet_v2_2 --
-1      1.2000000476837158      1.12345 1       [1, 2, 3]       
[1.100000023841858, 2.200000047683716, 3.299999952316284]       [1.1234, 
2.2345, 3.3456]        {1:10, 2:20}    {1:1.100000023841858, 
2:2.200000047683716}      {1:1.12345, 2:2.23456}  {"add":null, "x":1, 
"y":1.100000023841858}      \N      \N
-1      1.2000000476837158      1.12345 2       [4, 5, 6]       
[4.400000095367432, 5.5, 6.599999904632568]     [4.4567, 5.5678, 6.6789]        
{3:30, 4:40}    {3:3.299999952316284, 4:4.400000095367432}      {3:3.34567, 
4:4.45678}  {"add":null, "x":2, "y":2.200000047683716}      \N      \N
-1      1.2000000476837158      1.12345 3       [7, 8, 9]       
[7.699999809265137, 8.800000190734863, 9.899999618530273]       [7.7890, 
8.8901, 9.9012]        {5:50, 6:60}    {5:5.5, 6:6.599999904632568}    
{5:5.56789, 6:6.67890}  {"add":null, "x":3, "y":3.299999952316284}      \N      
\N
-1      1.2000000476837158      1.12345 4       [10, 11, 12]    
[10.100000381469727, 11.109999656677246, 12.119999885559082]    [10.1011, 
11.1112, 12.1213]     {7:70, 8:80}    {7:7.699999809265137, 
8:8.800000190734863}      {7:7.78901, 8:8.89012}  {"add":null, "x":4, 
"y":4.400000095367432}      \N      \N
-1      1.2000000476837158      1.12345 5       [13, 14, 15]    
[13.130000114440918, 14.140000343322754, 15.149999618530273]    [13.1314, 
14.1415, 15.1516]     {9:90, 10:100}  {9:9.899999618530273, 
10:10.100000381469727}    {9:9.89012, 10:10.10123}        {"add":null, "x":5, 
"y":5.5}    \N      \N
-21447483648    1.7976931348623157E308  1234567890.12345        6       
[21447483648, 21474483649, 21474483650] [1.7976931348623157e+308, 
1.7976931348623157e+308, 1.7976931348623157e+308]     [1234567890.1235, 
1234567890.2346, 1234567890.3457]     {214748348:2147483648, 
24748649:214743383649}   {214748648:1.7976931348623157e+308, 
27483649:1.7976931348623157e+308}   {214743648:1234567890.12345, 
21474649:1234567890.23456} {"add":1234567890.12345, "x":214748223648, 
"y":1.7976931346232156e+308} 1       2
-2144748345648  1.7976931348623157E308  1234567890.23456        7       
[2144748345648, 214742435483649, 214742435483650]       
[1.7976931348623157e+308, 1.7976931348623157e+308, 1.7976931348623157e+308]     
[12345673890.1235, 12345367890.2346, 12344567890.3457]  
{214748348:2147483632148, 24748649:213144743383649}     
{214748648:1.717693623157e+308, 27483649:1.7976931348623157e+308}       
{214743648:1234567890.12345, 21474649:1234567890.23456} 
{"add":1234567890.12345, "x":214743338223648, "y":1.7976931346232156e+308}      
2       3
-21447483648    1.7976931348623157E308  1234567890.12345        8       
[21447483648, 21474483649, 21474483650] [1.7976931348623157e+308, 
1.7976931348623157e+308, 1.7976931348623157e+308]     [1234567890.1235, 
1234567890.2346, 1234567890.3457]     {214748348:2147483648, 
24748649:214743383649}   {214748648:1.7976931348623157e+308, 
27483649:1.7976931348623157e+308}   {214743648:1234567890.12345, 
21474649:1234567890.23456} {"add":1234567890.12345, "x":214748223648, 
"y":1.7976931346232156e+308} 3       4
-2144748345648  1.7976931348623157E308  1234567890.23456        9       
[2144748345648, 214742435483649, 214742435483650, 214742435483650, 
214742435483650, 214742435483650]    [1.7976931348623157e+308, 
1.7976931348623157e+308, 1.7976931348623157e+308]     [12345673890.1235, 
12345367890.2346, 12344567890.3457]  {214748348:2147483632148, 
24748649:213144743383649}     {214748648:1.717693623157e+308, 
27483649:1.7976931348623157e+308}       {214743648:1234567890.12345, 
21474649:1234567890.23456} {"add":1234567890.12345, "x":2 [...]
+10     10.5    100.56789       1       [1, 2, 3]       [1.100000023841858, 
2.200000047683716, 3.299999952316284]       [10.1234, 20.5678, 30.9876]     
{1:100, 2:200}  {1:1.100000023841858, 2:2.200000047683716}      {1:10.12345, 
2:20.98765}        {"add":null, "x":1, "y":1.100000023841858}      \N      \N
+20     20.5    200.56789       2       [4, 5]  [4.400000095367432, 5.5]        
[40.1234, 50.5678]      {3:300, 4:400}  {3:3.299999952316284, 
4:4.400000095367432}      {3:30.12345, 4:40.98765}        {"add":null, "x":2, 
"y":2.200000047683716}      \N      \N
+30     30.5    300.56789       3       [6]     [6.599999904632568]     
[60.1234]       {5:500} {5:5.5} {5:50.12345}    {"add":null, "x":3, 
"y":3.299999952316284}      \N      \N
+40     40.5    400.56789       4       [7, 7, 7]       [7.099999904632568, 
7.199999809265137, 7.300000190734863]       [10.0000, 30.0000]      {2:4}   
{6:7}   {8:9.00000}     {"add":null, "x":4, "y":4.400000095367432}      \N      
\N
+50     50.5    500.56789       5       \N      \N      \N      \N      \N      
\N      {"add":null, "x":5, "y":5.5}    \N      \N
+60     60.5    600.56789       6       [7, 8]  [7.699999809265137, 
8.800000190734863]  [70.1234, 80.5678]      {6:600, 7:700}  
{6:6.599999904632568, 7:7.699999809265137}      {6:60.12345, 7:70.98765}        
{"add":null, "x":6, "y":6.599999904632568}      \N      \N
+70     70.5    700.56789       7       [9, 10] [9.899999618530273, 
10.100000381469727] [90.1234, 100.5678]     {8:800, 9:900}  
{8:8.800000190734863, 9:9.899999618530273}      {8:80.12345, 9:90.98765}        
{"add":null, "x":7, "y":7.699999809265137}      \N      \N
+80     80.5    800.56789       8       [11, 12]        [11.109999656677246, 
12.119999885559082]        [110.1234, 120.5678]    {10:1000, 11:1100}      
{10:10.100000381469727, 11:11.109999656677246}  {10:100.12345, 11:110.98765}    
{"add":null, "x":8, "y":8.800000190734863}      \N      \N
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+100    11.1    110.12345       11      [11, 12, 13]    [11.1, 12.2, 13.3]      
[110.1234, 120.5678, 130.9876]  {11:1100, 12:1200}      {11:11.1, 12:12.2}      
{11:110.12345, 12:120.98765}    {"add":11.1, "x":11, "y":11.1}  110     120
+200    22.2    220.12345       12      [14, 15]        [14.4, 15.5]    
[140.1234, 150.5678]    {13:1300, 14:1400}      {13:13.3, 14:14.4}      
{13:130.12345, 14:140.98765}    {"add":22.2, "x":12, "y":12.2}  130     140
+300    33.3    330.12345       13      [16]    [16.6]  [160.1234]      
{15:1500}       {15:15.5}       {15:150.12345}  {"add":33.3, "x":13, "y":13.3}  
150     160
+400    44.4    440.12345       14      []      []      []      {}      {}      
{}      {"add":44.4, "x":14, "y":14.4}  170     180
+500    55.5    550.12345       15      \N      \N      \N      \N      \N      
\N      {"add":55.5, "x":15, "y":15.5}  190     200
 
 -- !parquet_v2_3 --
-9
+15
 
 -- !parquet_v2_4 --
-6
-7
-8
-9
 
 -- !parquet_v2_5 --
-1
-2
-3
-4
+110
+130
+150
+170
+190
 
 -- !parquet_v2_6 --
-6
-7
-8
-9
 
 -- !parquet_v2_7 --
 {"add":null, "x":1, "y":1.100000023841858}
@@ -128,21 +289,39 @@ col_add2  INT     Yes     true    \N
 {"add":null, "x":3, "y":3.299999952316284}
 {"add":null, "x":4, "y":4.400000095367432}
 {"add":null, "x":5, "y":5.5}
-{"add":1234567890.12345, "x":214748223648, "y":1.7976931346232156e+308}
-{"add":1234567890.12345, "x":214743338223648, "y":1.7976931346232156e+308}
-{"add":1234567890.12345, "x":214748223648, "y":1.7976931346232156e+308}
-{"add":1234567890.12345, "x":214743338223648, "y":1.7976931346232156e+308}
+{"add":null, "x":6, "y":6.599999904632568}
+{"add":null, "x":7, "y":7.699999809265137}
+{"add":null, "x":8, "y":8.800000190734863}
+{"add":null, "x":9, "y":9.899999618530273}
+{"add":null, "x":10, "y":10.100000381469727}
+{"add":11.1, "x":11, "y":11.1}
+{"add":22.2, "x":12, "y":12.2}
+{"add":33.3, "x":13, "y":13.3}
+{"add":44.4, "x":14, "y":14.4}
+{"add":55.5, "x":15, "y":15.5}
 
 -- !parquet_v2_8 --
-3
-4
-5
+\N
+\N
+\N
+\N
+120
+140
+160
+180
+200
 
 -- !parquet_v2_9 --
-9      1
-8      1
-7      1
-6      1
+15     1
+14     1
+13     1
+12     1
+11     1
+10     0
+9      0
+8      0
+7      0
+6      0
 5      0
 4      0
 3      0
@@ -151,52 +330,196 @@ col_add2 INT     Yes     true    \N
 
 -- !parquet_v2_10 --
 
+-- !parquet_v2_11 --
+3      [10.1234, 20.5678, 30.9876]
+3      [110.1234, 120.5678, 130.9876]
+
+-- !parquet_v2_12 --
+3      [1.100000023841858, 2.200000047683716, 3.299999952316284]
+2      [4.400000095367432, 5.5]
+1      [6.599999904632568]
+3      [7.099999904632568, 7.199999809265137, 7.300000190734863]
+\N     \N
+2      [7.699999809265137, 8.800000190734863]
+2      [9.899999618530273, 10.100000381469727]
+2      [11.109999656677246, 12.119999885559082]
+2      [13.130000114440918, 14.140000343322754]
+2      [15.149999618530273, 16.15999984741211]
+3      [11.1, 12.2, 13.3]
+2      [14.4, 15.5]
+1      [16.6]
+0      []
+\N     \N
+
+-- !parquet_v2_13 --
+3      [7.099999904632568, 7.199999809265137, 7.300000190734863]
+2      [7.699999809265137, 8.800000190734863]
+2      [9.899999618530273, 10.100000381469727]
+2      [11.109999656677246, 12.119999885559082]
+2      [13.130000114440918, 14.140000343322754]
+2      [15.149999618530273, 16.15999984741211]
+3      [11.1, 12.2, 13.3]
+2      [14.4, 15.5]
+1      [16.6]
+
+-- !parquet_v2_14 --
+2      [11.109999656677246, 12.119999885559082]
+2      [13.130000114440918, 14.140000343322754]
+2      [15.149999618530273, 16.15999984741211]
+3      [11.1, 12.2, 13.3]
+2      [14.4, 15.5]
+1      [16.6]
+
+-- !parquet_v2_15 --
+3      [1, 2, 3]
+2      [4, 5]
+1      [6]
+3      [7, 7, 7]
+\N     \N
+2      [7, 8]
+2      [9, 10]
+2      [11, 12]
+2      [13, 14]
+2      [15, 16]
+3      [11, 12, 13]
+2      [14, 15]
+1      [16]
+0      []
+\N     \N
+
+-- !parquet_v2_16 --
+50     50.5    500.56789       5       \N      \N      \N      \N      \N      
\N      {"add":null, "x":5, "y":5.5}    \N      \N
+60     60.5    600.56789       6       [7, 8]  [7.699999809265137, 
8.800000190734863]  [70.1234, 80.5678]      {6:600, 7:700}  
{6:6.599999904632568, 7:7.699999809265137}      {6:60.12345, 7:70.98765}        
{"add":null, "x":6, "y":6.599999904632568}      \N      \N
+70     70.5    700.56789       7       [9, 10] [9.899999618530273, 
10.100000381469727] [90.1234, 100.5678]     {8:800, 9:900}  
{8:8.800000190734863, 9:9.899999618530273}      {8:80.12345, 9:90.98765}        
{"add":null, "x":7, "y":7.699999809265137}      \N      \N
+80     80.5    800.56789       8       [11, 12]        [11.109999656677246, 
12.119999885559082]        [110.1234, 120.5678]    {10:1000, 11:1100}      
{10:10.100000381469727, 11:11.109999656677246}  {10:100.12345, 11:110.98765}    
{"add":null, "x":8, "y":8.800000190734863}      \N      \N
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+500    55.5    550.12345       15      \N      \N      \N      \N      \N      
\N      {"add":55.5, "x":15, "y":15.5}  190     200
+
+-- !parquet_v2_17 --
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+100    11.1    110.12345       11      [11, 12, 13]    [11.1, 12.2, 13.3]      
[110.1234, 120.5678, 130.9876]  {11:1100, 12:1200}      {11:11.1, 12:12.2}      
{11:110.12345, 12:120.98765}    {"add":11.1, "x":11, "y":11.1}  110     120
+200    22.2    220.12345       12      [14, 15]        [14.4, 15.5]    
[140.1234, 150.5678]    {13:1300, 14:1400}      {13:13.3, 14:14.4}      
{13:130.12345, 14:140.98765}    {"add":22.2, "x":12, "y":12.2}  130     140
+300    33.3    330.12345       13      [16]    [16.6]  [160.1234]      
{15:1500}       {15:15.5}       {15:150.12345}  {"add":33.3, "x":13, "y":13.3}  
150     160
+
+-- !parquet_v2_18 --
+80     80.5    800.56789       8       [11, 12]        [11.109999656677246, 
12.119999885559082]        [110.1234, 120.5678]    {10:1000, 11:1100}      
{10:10.100000381469727, 11:11.109999656677246}  {10:100.12345, 11:110.98765}    
{"add":null, "x":8, "y":8.800000190734863}      \N      \N
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+100    11.1    110.12345       11      [11, 12, 13]    [11.1, 12.2, 13.3]      
[110.1234, 120.5678, 130.9876]  {11:1100, 12:1200}      {11:11.1, 12:12.2}      
{11:110.12345, 12:120.98765}    {"add":11.1, "x":11, "y":11.1}  110     120
+200    22.2    220.12345       12      [14, 15]        [14.4, 15.5]    
[140.1234, 150.5678]    {13:1300, 14:1400}      {13:13.3, 14:14.4}      
{13:130.12345, 14:140.98765}    {"add":22.2, "x":12, "y":12.2}  130     140
+300    33.3    330.12345       13      [16]    [16.6]  [160.1234]      
{15:1500}       {15:15.5}       {15:150.12345}  {"add":33.3, "x":13, "y":13.3}  
150     160
+
+-- !parquet_v2_19 --
+\N
+\N
+\N
+\N
+\N
+\N
+\N
+\N
+\N
+\N
+11.1
+22.2
+33.3
+44.4
+55.5
+
+-- !parquet_v2_20 --
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+
+-- !parquet_v2_21 --
+3      [10.1234, 20.5678, 30.9876]
+2      [40.1234, 50.5678]
+1      [60.1234]
+2      [10.0000, 30.0000]
+\N     \N
+2      [70.1234, 80.5678]
+2      [90.1234, 100.5678]
+2      [110.1234, 120.5678]
+2      [130.1234, 140.5678]
+2      [150.1234, 160.5678]
+3      [110.1234, 120.5678, 130.9876]
+2      [140.1234, 150.5678]
+1      [160.1234]
+0      []
+\N     \N
+
+-- !parquet_v2_22 --
+50     50.5    500.56789       5       \N      \N      \N      \N      \N      
\N      {"add":null, "x":5, "y":5.5}    \N      \N
+60     60.5    600.56789       6       [7, 8]  [7.699999809265137, 
8.800000190734863]  [70.1234, 80.5678]      {6:600, 7:700}  
{6:6.599999904632568, 7:7.699999809265137}      {6:60.12345, 7:70.98765}        
{"add":null, "x":6, "y":6.599999904632568}      \N      \N
+70     70.5    700.56789       7       [9, 10] [9.899999618530273, 
10.100000381469727] [90.1234, 100.5678]     {8:800, 9:900}  
{8:8.800000190734863, 9:9.899999618530273}      {8:80.12345, 9:90.98765}        
{"add":null, "x":7, "y":7.699999809265137}      \N      \N
+80     80.5    800.56789       8       [11, 12]        [11.109999656677246, 
12.119999885559082]        [110.1234, 120.5678]    {10:1000, 11:1100}      
{10:10.100000381469727, 11:11.109999656677246}  {10:100.12345, 11:110.98765}    
{"add":null, "x":8, "y":8.800000190734863}      \N      \N
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+100    11.1    110.12345       11      [11, 12, 13]    [11.1, 12.2, 13.3]      
[110.1234, 120.5678, 130.9876]  {11:1100, 12:1200}      {11:11.1, 12:12.2}      
{11:110.12345, 12:120.98765}    {"add":11.1, "x":11, "y":11.1}  110     120
+200    22.2    220.12345       12      [14, 15]        [14.4, 15.5]    
[140.1234, 150.5678]    {13:1300, 14:1400}      {13:13.3, 14:14.4}      
{13:130.12345, 14:140.98765}    {"add":22.2, "x":12, "y":12.2}  130     140
+300    33.3    330.12345       13      [16]    [16.6]  [160.1234]      
{15:1500}       {15:15.5}       {15:150.12345}  {"add":33.3, "x":13, "y":13.3}  
150     160
+400    44.4    440.12345       14      []      []      []      {}      {}      
{}      {"add":44.4, "x":14, "y":14.4}  170     180
+500    55.5    550.12345       15      \N      \N      \N      \N      \N      
\N      {"add":55.5, "x":15, "y":15.5}  190     200
+
 -- !orc_v1_1 --
-rename_col8    BIGINT  Yes     true    \N      
-rename_col9    DOUBLE  Yes     true    \N      
-rename_col10   DECIMAL(20, 5)  Yes     true    \N      
-id     INT     Yes     true    \N      
-rename_col1    ARRAY<BIGINT>   Yes     true    \N      
-rename_col2    ARRAY<DOUBLE>   Yes     true    \N      
-rename_col3    ARRAY<DECIMAL(20, 4)>   Yes     true    \N      
-rename_col4    MAP<INT,BIGINT> Yes     true    \N      
-rename_col5    MAP<INT,DOUBLE> Yes     true    \N      
-rename_col6    MAP<INT,DECIMAL(20, 5)> Yes     true    \N      
-rename_col7    STRUCT<add:DOUBLE,x:BIGINT,y:DOUBLE>    Yes     true    \N      
-col_add        INT     Yes     true    \N      
-col_add2       INT     Yes     true    \N      
+rename_col8    bigint  Yes     true    \N      
+rename_col9    double  Yes     true    \N      
+rename_col10   decimal(20,5)   Yes     true    \N      
+id     int     Yes     true    \N      
+rename_col1    array<bigint>   Yes     true    \N      
+rename_col2    array<double>   Yes     true    \N      
+rename_col3    array<decimal(20,4)>    Yes     true    \N      
+rename_col4    map<int,bigint> Yes     true    \N      
+rename_col5    map<int,double> Yes     true    \N      
+rename_col6    map<int,decimal(20,5)>  Yes     true    \N      
+rename_col7    struct<add:double,x:bigint,y:double>    Yes     true    \N      
+col_add        int     Yes     true    \N      
+col_add2       int     Yes     true    \N      
 
 -- !orc_v1_2 --
-1      1.2000000476837158      1.12345 1       [1, 2, 3]       
[1.100000023841858, 2.200000047683716, 3.299999952316284]       [1.1234, 
2.2345, 3.3456]        {1:10, 2:20}    {1:1.100000023841858, 
2:2.200000047683716}      {1:1.12345, 2:2.23456}  {"add":null, "x":1, 
"y":1.100000023841858}      \N      \N
-1      1.2000000476837158      1.12345 2       [4, 5, 6]       
[4.400000095367432, 5.5, 6.599999904632568]     [4.4567, 5.5678, 6.6789]        
{3:30, 4:40}    {3:3.299999952316284, 4:4.400000095367432}      {3:3.34567, 
4:4.45678}  {"add":null, "x":2, "y":2.200000047683716}      \N      \N
-1      1.2000000476837158      1.12345 3       [7, 8, 9]       
[7.699999809265137, 8.800000190734863, 9.899999618530273]       [7.7890, 
8.8901, 9.9012]        {5:50, 6:60}    {5:5.5, 6:6.599999904632568}    
{5:5.56789, 6:6.67890}  {"add":null, "x":3, "y":3.299999952316284}      \N      
\N
-1      1.2000000476837158      1.12345 4       [10, 11, 12]    
[10.100000381469727, 11.109999656677246, 12.119999885559082]    [10.1011, 
11.1112, 12.1213]     {7:70, 8:80}    {7:7.699999809265137, 
8:8.800000190734863}      {7:7.78901, 8:8.89012}  {"add":null, "x":4, 
"y":4.400000095367432}      \N      \N
-1      1.2000000476837158      1.12345 5       [13, 14, 15]    
[13.130000114440918, 14.140000343322754, 15.149999618530273]    [13.1314, 
14.1415, 15.1516]     {9:90, 10:100}  {9:9.899999618530273, 
10:10.100000381469727}    {9:9.89012, 10:10.10123}        {"add":null, "x":5, 
"y":5.5}    \N      \N
-21447483648    1.7976931348623157E308  1234567890.12345        6       
[21447483648, 21474483649, 21474483650] [1.7976931348623157e+308, 
1.7976931348623157e+308, 1.7976931348623157e+308]     [1234567890.1235, 
1234567890.2346, 1234567890.3457]     {214748348:2147483648, 
24748649:214743383649}   {214748648:1.7976931348623157e+308, 
27483649:1.7976931348623157e+308}   {214743648:1234567890.12345, 
21474649:1234567890.23456} {"add":1234567890.12345, "x":214748223648, 
"y":1.7976931346232156e+308} 1       2
-2144748345648  1.7976931348623157E308  1234567890.23456        7       
[2144748345648, 214742435483649, 214742435483650]       
[1.7976931348623157e+308, 1.7976931348623157e+308, 1.7976931348623157e+308]     
[12345673890.1235, 12345367890.2346, 12344567890.3457]  
{214748348:2147483632148, 24748649:213144743383649}     
{214748648:1.717693623157e+308, 27483649:1.7976931348623157e+308}       
{214743648:1234567890.12345, 21474649:1234567890.23456} 
{"add":1234567890.12345, "x":214743338223648, "y":1.7976931346232156e+308}      
2       3
-21447483648    1.7976931348623157E308  1234567890.12345        8       
[21447483648, 21474483649, 21474483650] [1.7976931348623157e+308, 
1.7976931348623157e+308, 1.7976931348623157e+308]     [1234567890.1235, 
1234567890.2346, 1234567890.3457]     {214748348:2147483648, 
24748649:214743383649}   {214748648:1.7976931348623157e+308, 
27483649:1.7976931348623157e+308}   {214743648:1234567890.12345, 
21474649:1234567890.23456} {"add":1234567890.12345, "x":214748223648, 
"y":1.7976931346232156e+308} 3       4
-2144748345648  1.7976931348623157E308  1234567890.23456        9       
[2144748345648, 214742435483649, 214742435483650, 214742435483650, 
214742435483650, 214742435483650]    [1.7976931348623157e+308, 
1.7976931348623157e+308, 1.7976931348623157e+308]     [12345673890.1235, 
12345367890.2346, 12344567890.3457]  {214748348:2147483632148, 
24748649:213144743383649}     {214748648:1.717693623157e+308, 
27483649:1.7976931348623157e+308}       {214743648:1234567890.12345, 
21474649:1234567890.23456} {"add":1234567890.12345, "x":2 [...]
+10     10.5    100.56789       1       [1, 2, 3]       [1.100000023841858, 
2.200000047683716, 3.299999952316284]       [10.1234, 20.5678, 30.9876]     
{1:100, 2:200}  {1:1.100000023841858, 2:2.200000047683716}      {1:10.12345, 
2:20.98765}        {"add":null, "x":1, "y":1.100000023841858}      \N      \N
+20     20.5    200.56789       2       [4, 5]  [4.400000095367432, 5.5]        
[40.1234, 50.5678]      {3:300, 4:400}  {3:3.299999952316284, 
4:4.400000095367432}      {3:30.12345, 4:40.98765}        {"add":null, "x":2, 
"y":2.200000047683716}      \N      \N
+30     30.5    300.56789       3       [6]     [6.599999904632568]     
[60.1234]       {5:500} {5:5.5} {5:50.12345}    {"add":null, "x":3, 
"y":3.299999952316284}      \N      \N
+40     40.5    400.56789       4       [7, 7, 7]       [7.099999904632568, 
7.199999809265137, 7.300000190734863]       [10.0000, 30.0000]      {2:4}   
{6:7}   {8:9.00000}     {"add":null, "x":4, "y":4.400000095367432}      \N      
\N
+50     50.5    500.56789       5       \N      \N      \N      \N      \N      
\N      {"add":null, "x":5, "y":5.5}    \N      \N
+60     60.5    600.56789       6       [7, 8]  [7.699999809265137, 
8.800000190734863]  [70.1234, 80.5678]      {6:600, 7:700}  
{6:6.599999904632568, 7:7.699999809265137}      {6:60.12345, 7:70.98765}        
{"add":null, "x":6, "y":6.599999904632568}      \N      \N
+70     70.5    700.56789       7       [9, 10] [9.899999618530273, 
10.100000381469727] [90.1234, 100.5678]     {8:800, 9:900}  
{8:8.800000190734863, 9:9.899999618530273}      {8:80.12345, 9:90.98765}        
{"add":null, "x":7, "y":7.699999809265137}      \N      \N
+80     80.5    800.56789       8       [11, 12]        [11.109999656677246, 
12.119999885559082]        [110.1234, 120.5678]    {10:1000, 11:1100}      
{10:10.100000381469727, 11:11.109999656677246}  {10:100.12345, 11:110.98765}    
{"add":null, "x":8, "y":8.800000190734863}      \N      \N
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+100    11.1    110.12345       11      [11, 12, 13]    [11.1, 12.2, 13.3]      
[110.1234, 120.5678, 130.9876]  {11:1100, 12:1200}      {11:11.1, 12:12.2}      
{11:110.12345, 12:120.98765}    {"add":11.1, "x":11, "y":11.1}  110     120
+200    22.2    220.12345       12      [14, 15]        [14.4, 15.5]    
[140.1234, 150.5678]    {13:1300, 14:1400}      {13:13.3, 14:14.4}      
{13:130.12345, 14:140.98765}    {"add":22.2, "x":12, "y":12.2}  130     140
+300    33.3    330.12345       13      [16]    [16.6]  [160.1234]      
{15:1500}       {15:15.5}       {15:150.12345}  {"add":33.3, "x":13, "y":13.3}  
150     160
+400    44.4    440.12345       14      []      []      []      {}      {}      
{}      {"add":44.4, "x":14, "y":14.4}  170     180
+500    55.5    550.12345       15      \N      \N      \N      \N      \N      
\N      {"add":55.5, "x":15, "y":15.5}  190     200
 
 -- !orc_v1_3 --
-9
+15
 
 -- !orc_v1_4 --
-6
-7
-8
-9
 
 -- !orc_v1_5 --
-1
-2
-3
-4
+110
+130
+150
+170
+190
 
 -- !orc_v1_6 --
-6
-7
-8
-9
 
 -- !orc_v1_7 --
 {"add":null, "x":1, "y":1.100000023841858}
@@ -204,21 +527,39 @@ col_add2  INT     Yes     true    \N
 {"add":null, "x":3, "y":3.299999952316284}
 {"add":null, "x":4, "y":4.400000095367432}
 {"add":null, "x":5, "y":5.5}
-{"add":1234567890.12345, "x":214748223648, "y":1.7976931346232156e+308}
-{"add":1234567890.12345, "x":214743338223648, "y":1.7976931346232156e+308}
-{"add":1234567890.12345, "x":214748223648, "y":1.7976931346232156e+308}
-{"add":1234567890.12345, "x":214743338223648, "y":1.7976931346232156e+308}
+{"add":null, "x":6, "y":6.599999904632568}
+{"add":null, "x":7, "y":7.699999809265137}
+{"add":null, "x":8, "y":8.800000190734863}
+{"add":null, "x":9, "y":9.899999618530273}
+{"add":null, "x":10, "y":10.100000381469727}
+{"add":11.1, "x":11, "y":11.1}
+{"add":22.2, "x":12, "y":12.2}
+{"add":33.3, "x":13, "y":13.3}
+{"add":44.4, "x":14, "y":14.4}
+{"add":55.5, "x":15, "y":15.5}
 
 -- !orc_v1_8 --
-3
-4
-5
+\N
+\N
+\N
+\N
+120
+140
+160
+180
+200
 
 -- !orc_v1_9 --
-9      1
-8      1
-7      1
-6      1
+15     1
+14     1
+13     1
+12     1
+11     1
+10     0
+9      0
+8      0
+7      0
+6      0
 5      0
 4      0
 3      0
@@ -227,52 +568,196 @@ col_add2 INT     Yes     true    \N
 
 -- !orc_v1_10 --
 
+-- !orc_v1_11 --
+3      [10.1234, 20.5678, 30.9876]
+3      [110.1234, 120.5678, 130.9876]
+
+-- !orc_v1_12 --
+3      [1.100000023841858, 2.200000047683716, 3.299999952316284]
+2      [4.400000095367432, 5.5]
+1      [6.599999904632568]
+3      [7.099999904632568, 7.199999809265137, 7.300000190734863]
+\N     \N
+2      [7.699999809265137, 8.800000190734863]
+2      [9.899999618530273, 10.100000381469727]
+2      [11.109999656677246, 12.119999885559082]
+2      [13.130000114440918, 14.140000343322754]
+2      [15.149999618530273, 16.15999984741211]
+3      [11.1, 12.2, 13.3]
+2      [14.4, 15.5]
+1      [16.6]
+0      []
+\N     \N
+
+-- !orc_v1_13 --
+3      [7.099999904632568, 7.199999809265137, 7.300000190734863]
+2      [7.699999809265137, 8.800000190734863]
+2      [9.899999618530273, 10.100000381469727]
+2      [11.109999656677246, 12.119999885559082]
+2      [13.130000114440918, 14.140000343322754]
+2      [15.149999618530273, 16.15999984741211]
+3      [11.1, 12.2, 13.3]
+2      [14.4, 15.5]
+1      [16.6]
+
+-- !orc_v1_14 --
+2      [11.109999656677246, 12.119999885559082]
+2      [13.130000114440918, 14.140000343322754]
+2      [15.149999618530273, 16.15999984741211]
+3      [11.1, 12.2, 13.3]
+2      [14.4, 15.5]
+1      [16.6]
+
+-- !orc_v1_15 --
+3      [1, 2, 3]
+2      [4, 5]
+1      [6]
+3      [7, 7, 7]
+\N     \N
+2      [7, 8]
+2      [9, 10]
+2      [11, 12]
+2      [13, 14]
+2      [15, 16]
+3      [11, 12, 13]
+2      [14, 15]
+1      [16]
+0      []
+\N     \N
+
+-- !orc_v1_16 --
+50     50.5    500.56789       5       \N      \N      \N      \N      \N      
\N      {"add":null, "x":5, "y":5.5}    \N      \N
+60     60.5    600.56789       6       [7, 8]  [7.699999809265137, 
8.800000190734863]  [70.1234, 80.5678]      {6:600, 7:700}  
{6:6.599999904632568, 7:7.699999809265137}      {6:60.12345, 7:70.98765}        
{"add":null, "x":6, "y":6.599999904632568}      \N      \N
+70     70.5    700.56789       7       [9, 10] [9.899999618530273, 
10.100000381469727] [90.1234, 100.5678]     {8:800, 9:900}  
{8:8.800000190734863, 9:9.899999618530273}      {8:80.12345, 9:90.98765}        
{"add":null, "x":7, "y":7.699999809265137}      \N      \N
+80     80.5    800.56789       8       [11, 12]        [11.109999656677246, 
12.119999885559082]        [110.1234, 120.5678]    {10:1000, 11:1100}      
{10:10.100000381469727, 11:11.109999656677246}  {10:100.12345, 11:110.98765}    
{"add":null, "x":8, "y":8.800000190734863}      \N      \N
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+500    55.5    550.12345       15      \N      \N      \N      \N      \N      
\N      {"add":55.5, "x":15, "y":15.5}  190     200
+
+-- !orc_v1_17 --
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+100    11.1    110.12345       11      [11, 12, 13]    [11.1, 12.2, 13.3]      
[110.1234, 120.5678, 130.9876]  {11:1100, 12:1200}      {11:11.1, 12:12.2}      
{11:110.12345, 12:120.98765}    {"add":11.1, "x":11, "y":11.1}  110     120
+200    22.2    220.12345       12      [14, 15]        [14.4, 15.5]    
[140.1234, 150.5678]    {13:1300, 14:1400}      {13:13.3, 14:14.4}      
{13:130.12345, 14:140.98765}    {"add":22.2, "x":12, "y":12.2}  130     140
+300    33.3    330.12345       13      [16]    [16.6]  [160.1234]      
{15:1500}       {15:15.5}       {15:150.12345}  {"add":33.3, "x":13, "y":13.3}  
150     160
+
+-- !orc_v1_18 --
+80     80.5    800.56789       8       [11, 12]        [11.109999656677246, 
12.119999885559082]        [110.1234, 120.5678]    {10:1000, 11:1100}      
{10:10.100000381469727, 11:11.109999656677246}  {10:100.12345, 11:110.98765}    
{"add":null, "x":8, "y":8.800000190734863}      \N      \N
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+100    11.1    110.12345       11      [11, 12, 13]    [11.1, 12.2, 13.3]      
[110.1234, 120.5678, 130.9876]  {11:1100, 12:1200}      {11:11.1, 12:12.2}      
{11:110.12345, 12:120.98765}    {"add":11.1, "x":11, "y":11.1}  110     120
+200    22.2    220.12345       12      [14, 15]        [14.4, 15.5]    
[140.1234, 150.5678]    {13:1300, 14:1400}      {13:13.3, 14:14.4}      
{13:130.12345, 14:140.98765}    {"add":22.2, "x":12, "y":12.2}  130     140
+300    33.3    330.12345       13      [16]    [16.6]  [160.1234]      
{15:1500}       {15:15.5}       {15:150.12345}  {"add":33.3, "x":13, "y":13.3}  
150     160
+
+-- !orc_v1_19 --
+\N
+\N
+\N
+\N
+\N
+\N
+\N
+\N
+\N
+\N
+11.1
+22.2
+33.3
+44.4
+55.5
+
+-- !orc_v1_20 --
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+
+-- !orc_v1_21 --
+3      [10.1234, 20.5678, 30.9876]
+2      [40.1234, 50.5678]
+1      [60.1234]
+2      [10.0000, 30.0000]
+\N     \N
+2      [70.1234, 80.5678]
+2      [90.1234, 100.5678]
+2      [110.1234, 120.5678]
+2      [130.1234, 140.5678]
+2      [150.1234, 160.5678]
+3      [110.1234, 120.5678, 130.9876]
+2      [140.1234, 150.5678]
+1      [160.1234]
+0      []
+\N     \N
+
+-- !orc_v1_22 --
+50     50.5    500.56789       5       \N      \N      \N      \N      \N      
\N      {"add":null, "x":5, "y":5.5}    \N      \N
+60     60.5    600.56789       6       [7, 8]  [7.699999809265137, 
8.800000190734863]  [70.1234, 80.5678]      {6:600, 7:700}  
{6:6.599999904632568, 7:7.699999809265137}      {6:60.12345, 7:70.98765}        
{"add":null, "x":6, "y":6.599999904632568}      \N      \N
+70     70.5    700.56789       7       [9, 10] [9.899999618530273, 
10.100000381469727] [90.1234, 100.5678]     {8:800, 9:900}  
{8:8.800000190734863, 9:9.899999618530273}      {8:80.12345, 9:90.98765}        
{"add":null, "x":7, "y":7.699999809265137}      \N      \N
+80     80.5    800.56789       8       [11, 12]        [11.109999656677246, 
12.119999885559082]        [110.1234, 120.5678]    {10:1000, 11:1100}      
{10:10.100000381469727, 11:11.109999656677246}  {10:100.12345, 11:110.98765}    
{"add":null, "x":8, "y":8.800000190734863}      \N      \N
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+100    11.1    110.12345       11      [11, 12, 13]    [11.1, 12.2, 13.3]      
[110.1234, 120.5678, 130.9876]  {11:1100, 12:1200}      {11:11.1, 12:12.2}      
{11:110.12345, 12:120.98765}    {"add":11.1, "x":11, "y":11.1}  110     120
+200    22.2    220.12345       12      [14, 15]        [14.4, 15.5]    
[140.1234, 150.5678]    {13:1300, 14:1400}      {13:13.3, 14:14.4}      
{13:130.12345, 14:140.98765}    {"add":22.2, "x":12, "y":12.2}  130     140
+300    33.3    330.12345       13      [16]    [16.6]  [160.1234]      
{15:1500}       {15:15.5}       {15:150.12345}  {"add":33.3, "x":13, "y":13.3}  
150     160
+400    44.4    440.12345       14      []      []      []      {}      {}      
{}      {"add":44.4, "x":14, "y":14.4}  170     180
+500    55.5    550.12345       15      \N      \N      \N      \N      \N      
\N      {"add":55.5, "x":15, "y":15.5}  190     200
+
 -- !orc_v2_1 --
-rename_col8    BIGINT  Yes     true    \N      
-rename_col9    DOUBLE  Yes     true    \N      
-rename_col10   DECIMAL(20, 5)  Yes     true    \N      
-id     INT     Yes     true    \N      
-rename_col1    ARRAY<BIGINT>   Yes     true    \N      
-rename_col2    ARRAY<DOUBLE>   Yes     true    \N      
-rename_col3    ARRAY<DECIMAL(20, 4)>   Yes     true    \N      
-rename_col4    MAP<INT,BIGINT> Yes     true    \N      
-rename_col5    MAP<INT,DOUBLE> Yes     true    \N      
-rename_col6    MAP<INT,DECIMAL(20, 5)> Yes     true    \N      
-rename_col7    STRUCT<add:DOUBLE,x:BIGINT,y:DOUBLE>    Yes     true    \N      
-col_add        INT     Yes     true    \N      
-col_add2       INT     Yes     true    \N      
+rename_col8    bigint  Yes     true    \N      
+rename_col9    double  Yes     true    \N      
+rename_col10   decimal(20,5)   Yes     true    \N      
+id     int     Yes     true    \N      
+rename_col1    array<bigint>   Yes     true    \N      
+rename_col2    array<double>   Yes     true    \N      
+rename_col3    array<decimal(20,4)>    Yes     true    \N      
+rename_col4    map<int,bigint> Yes     true    \N      
+rename_col5    map<int,double> Yes     true    \N      
+rename_col6    map<int,decimal(20,5)>  Yes     true    \N      
+rename_col7    struct<add:double,x:bigint,y:double>    Yes     true    \N      
+col_add        int     Yes     true    \N      
+col_add2       int     Yes     true    \N      
 
 -- !orc_v2_2 --
-1      1.2000000476837158      1.12345 1       [1, 2, 3]       
[1.100000023841858, 2.200000047683716, 3.299999952316284]       [1.1234, 
2.2345, 3.3456]        {1:10, 2:20}    {1:1.100000023841858, 
2:2.200000047683716}      {1:1.12345, 2:2.23456}  {"add":null, "x":1, 
"y":1.100000023841858}      \N      \N
-1      1.2000000476837158      1.12345 2       [4, 5, 6]       
[4.400000095367432, 5.5, 6.599999904632568]     [4.4567, 5.5678, 6.6789]        
{3:30, 4:40}    {3:3.299999952316284, 4:4.400000095367432}      {3:3.34567, 
4:4.45678}  {"add":null, "x":2, "y":2.200000047683716}      \N      \N
-1      1.2000000476837158      1.12345 3       [7, 8, 9]       
[7.699999809265137, 8.800000190734863, 9.899999618530273]       [7.7890, 
8.8901, 9.9012]        {5:50, 6:60}    {5:5.5, 6:6.599999904632568}    
{5:5.56789, 6:6.67890}  {"add":null, "x":3, "y":3.299999952316284}      \N      
\N
-1      1.2000000476837158      1.12345 4       [10, 11, 12]    
[10.100000381469727, 11.109999656677246, 12.119999885559082]    [10.1011, 
11.1112, 12.1213]     {7:70, 8:80}    {7:7.699999809265137, 
8:8.800000190734863}      {7:7.78901, 8:8.89012}  {"add":null, "x":4, 
"y":4.400000095367432}      \N      \N
-1      1.2000000476837158      1.12345 5       [13, 14, 15]    
[13.130000114440918, 14.140000343322754, 15.149999618530273]    [13.1314, 
14.1415, 15.1516]     {9:90, 10:100}  {9:9.899999618530273, 
10:10.100000381469727}    {9:9.89012, 10:10.10123}        {"add":null, "x":5, 
"y":5.5}    \N      \N
-21447483648    1.7976931348623157E308  1234567890.12345        6       
[21447483648, 21474483649, 21474483650] [1.7976931348623157e+308, 
1.7976931348623157e+308, 1.7976931348623157e+308]     [1234567890.1235, 
1234567890.2346, 1234567890.3457]     {214748348:2147483648, 
24748649:214743383649}   {214748648:1.7976931348623157e+308, 
27483649:1.7976931348623157e+308}   {214743648:1234567890.12345, 
21474649:1234567890.23456} {"add":1234567890.12345, "x":214748223648, 
"y":1.7976931346232156e+308} 1       2
-2144748345648  1.7976931348623157E308  1234567890.23456        7       
[2144748345648, 214742435483649, 214742435483650]       
[1.7976931348623157e+308, 1.7976931348623157e+308, 1.7976931348623157e+308]     
[12345673890.1235, 12345367890.2346, 12344567890.3457]  
{214748348:2147483632148, 24748649:213144743383649}     
{214748648:1.717693623157e+308, 27483649:1.7976931348623157e+308}       
{214743648:1234567890.12345, 21474649:1234567890.23456} 
{"add":1234567890.12345, "x":214743338223648, "y":1.7976931346232156e+308}      
2       3
-21447483648    1.7976931348623157E308  1234567890.12345        8       
[21447483648, 21474483649, 21474483650] [1.7976931348623157e+308, 
1.7976931348623157e+308, 1.7976931348623157e+308]     [1234567890.1235, 
1234567890.2346, 1234567890.3457]     {214748348:2147483648, 
24748649:214743383649}   {214748648:1.7976931348623157e+308, 
27483649:1.7976931348623157e+308}   {214743648:1234567890.12345, 
21474649:1234567890.23456} {"add":1234567890.12345, "x":214748223648, 
"y":1.7976931346232156e+308} 3       4
-2144748345648  1.7976931348623157E308  1234567890.23456        9       
[2144748345648, 214742435483649, 214742435483650, 214742435483650, 
214742435483650, 214742435483650]    [1.7976931348623157e+308, 
1.7976931348623157e+308, 1.7976931348623157e+308]     [12345673890.1235, 
12345367890.2346, 12344567890.3457]  {214748348:2147483632148, 
24748649:213144743383649}     {214748648:1.717693623157e+308, 
27483649:1.7976931348623157e+308}       {214743648:1234567890.12345, 
21474649:1234567890.23456} {"add":1234567890.12345, "x":2 [...]
+10     10.5    100.56789       1       [1, 2, 3]       [1.100000023841858, 
2.200000047683716, 3.299999952316284]       [10.1234, 20.5678, 30.9876]     
{1:100, 2:200}  {1:1.100000023841858, 2:2.200000047683716}      {1:10.12345, 
2:20.98765}        {"add":null, "x":1, "y":1.100000023841858}      \N      \N
+20     20.5    200.56789       2       [4, 5]  [4.400000095367432, 5.5]        
[40.1234, 50.5678]      {3:300, 4:400}  {3:3.299999952316284, 
4:4.400000095367432}      {3:30.12345, 4:40.98765}        {"add":null, "x":2, 
"y":2.200000047683716}      \N      \N
+30     30.5    300.56789       3       [6]     [6.599999904632568]     
[60.1234]       {5:500} {5:5.5} {5:50.12345}    {"add":null, "x":3, 
"y":3.299999952316284}      \N      \N
+40     40.5    400.56789       4       [7, 7, 7]       [7.099999904632568, 
7.199999809265137, 7.300000190734863]       [10.0000, 30.0000]      {2:4}   
{6:7}   {8:9.00000}     {"add":null, "x":4, "y":4.400000095367432}      \N      
\N
+50     50.5    500.56789       5       \N      \N      \N      \N      \N      
\N      {"add":null, "x":5, "y":5.5}    \N      \N
+60     60.5    600.56789       6       [7, 8]  [7.699999809265137, 
8.800000190734863]  [70.1234, 80.5678]      {6:600, 7:700}  
{6:6.599999904632568, 7:7.699999809265137}      {6:60.12345, 7:70.98765}        
{"add":null, "x":6, "y":6.599999904632568}      \N      \N
+70     70.5    700.56789       7       [9, 10] [9.899999618530273, 
10.100000381469727] [90.1234, 100.5678]     {8:800, 9:900}  
{8:8.800000190734863, 9:9.899999618530273}      {8:80.12345, 9:90.98765}        
{"add":null, "x":7, "y":7.699999809265137}      \N      \N
+80     80.5    800.56789       8       [11, 12]        [11.109999656677246, 
12.119999885559082]        [110.1234, 120.5678]    {10:1000, 11:1100}      
{10:10.100000381469727, 11:11.109999656677246}  {10:100.12345, 11:110.98765}    
{"add":null, "x":8, "y":8.800000190734863}      \N      \N
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+100    11.1    110.12345       11      [11, 12, 13]    [11.1, 12.2, 13.3]      
[110.1234, 120.5678, 130.9876]  {11:1100, 12:1200}      {11:11.1, 12:12.2}      
{11:110.12345, 12:120.98765}    {"add":11.1, "x":11, "y":11.1}  110     120
+200    22.2    220.12345       12      [14, 15]        [14.4, 15.5]    
[140.1234, 150.5678]    {13:1300, 14:1400}      {13:13.3, 14:14.4}      
{13:130.12345, 14:140.98765}    {"add":22.2, "x":12, "y":12.2}  130     140
+300    33.3    330.12345       13      [16]    [16.6]  [160.1234]      
{15:1500}       {15:15.5}       {15:150.12345}  {"add":33.3, "x":13, "y":13.3}  
150     160
+400    44.4    440.12345       14      []      []      []      {}      {}      
{}      {"add":44.4, "x":14, "y":14.4}  170     180
+500    55.5    550.12345       15      \N      \N      \N      \N      \N      
\N      {"add":55.5, "x":15, "y":15.5}  190     200
 
 -- !orc_v2_3 --
-9
+15
 
 -- !orc_v2_4 --
-6
-7
-8
-9
 
 -- !orc_v2_5 --
-1
-2
-3
-4
+110
+130
+150
+170
+190
 
 -- !orc_v2_6 --
-6
-7
-8
-9
 
 -- !orc_v2_7 --
 {"add":null, "x":1, "y":1.100000023841858}
@@ -280,21 +765,39 @@ col_add2  INT     Yes     true    \N
 {"add":null, "x":3, "y":3.299999952316284}
 {"add":null, "x":4, "y":4.400000095367432}
 {"add":null, "x":5, "y":5.5}
-{"add":1234567890.12345, "x":214748223648, "y":1.7976931346232156e+308}
-{"add":1234567890.12345, "x":214743338223648, "y":1.7976931346232156e+308}
-{"add":1234567890.12345, "x":214748223648, "y":1.7976931346232156e+308}
-{"add":1234567890.12345, "x":214743338223648, "y":1.7976931346232156e+308}
+{"add":null, "x":6, "y":6.599999904632568}
+{"add":null, "x":7, "y":7.699999809265137}
+{"add":null, "x":8, "y":8.800000190734863}
+{"add":null, "x":9, "y":9.899999618530273}
+{"add":null, "x":10, "y":10.100000381469727}
+{"add":11.1, "x":11, "y":11.1}
+{"add":22.2, "x":12, "y":12.2}
+{"add":33.3, "x":13, "y":13.3}
+{"add":44.4, "x":14, "y":14.4}
+{"add":55.5, "x":15, "y":15.5}
 
 -- !orc_v2_8 --
-3
-4
-5
+\N
+\N
+\N
+\N
+120
+140
+160
+180
+200
 
 -- !orc_v2_9 --
-9      1
-8      1
-7      1
-6      1
+15     1
+14     1
+13     1
+12     1
+11     1
+10     0
+9      0
+8      0
+7      0
+6      0
 5      0
 4      0
 3      0
@@ -303,3 +806,148 @@ col_add2  INT     Yes     true    \N
 
 -- !orc_v2_10 --
 
+-- !orc_v2_11 --
+3      [10.1234, 20.5678, 30.9876]
+3      [110.1234, 120.5678, 130.9876]
+
+-- !orc_v2_12 --
+3      [1.100000023841858, 2.200000047683716, 3.299999952316284]
+2      [4.400000095367432, 5.5]
+1      [6.599999904632568]
+3      [7.099999904632568, 7.199999809265137, 7.300000190734863]
+\N     \N
+2      [7.699999809265137, 8.800000190734863]
+2      [9.899999618530273, 10.100000381469727]
+2      [11.109999656677246, 12.119999885559082]
+2      [13.130000114440918, 14.140000343322754]
+2      [15.149999618530273, 16.15999984741211]
+3      [11.1, 12.2, 13.3]
+2      [14.4, 15.5]
+1      [16.6]
+0      []
+\N     \N
+
+-- !orc_v2_13 --
+3      [7.099999904632568, 7.199999809265137, 7.300000190734863]
+2      [7.699999809265137, 8.800000190734863]
+2      [9.899999618530273, 10.100000381469727]
+2      [11.109999656677246, 12.119999885559082]
+2      [13.130000114440918, 14.140000343322754]
+2      [15.149999618530273, 16.15999984741211]
+3      [11.1, 12.2, 13.3]
+2      [14.4, 15.5]
+1      [16.6]
+
+-- !orc_v2_14 --
+2      [11.109999656677246, 12.119999885559082]
+2      [13.130000114440918, 14.140000343322754]
+2      [15.149999618530273, 16.15999984741211]
+3      [11.1, 12.2, 13.3]
+2      [14.4, 15.5]
+1      [16.6]
+
+-- !orc_v2_15 --
+3      [1, 2, 3]
+2      [4, 5]
+1      [6]
+3      [7, 7, 7]
+\N     \N
+2      [7, 8]
+2      [9, 10]
+2      [11, 12]
+2      [13, 14]
+2      [15, 16]
+3      [11, 12, 13]
+2      [14, 15]
+1      [16]
+0      []
+\N     \N
+
+-- !orc_v2_16 --
+50     50.5    500.56789       5       \N      \N      \N      \N      \N      
\N      {"add":null, "x":5, "y":5.5}    \N      \N
+60     60.5    600.56789       6       [7, 8]  [7.699999809265137, 
8.800000190734863]  [70.1234, 80.5678]      {6:600, 7:700}  
{6:6.599999904632568, 7:7.699999809265137}      {6:60.12345, 7:70.98765}        
{"add":null, "x":6, "y":6.599999904632568}      \N      \N
+70     70.5    700.56789       7       [9, 10] [9.899999618530273, 
10.100000381469727] [90.1234, 100.5678]     {8:800, 9:900}  
{8:8.800000190734863, 9:9.899999618530273}      {8:80.12345, 9:90.98765}        
{"add":null, "x":7, "y":7.699999809265137}      \N      \N
+80     80.5    800.56789       8       [11, 12]        [11.109999656677246, 
12.119999885559082]        [110.1234, 120.5678]    {10:1000, 11:1100}      
{10:10.100000381469727, 11:11.109999656677246}  {10:100.12345, 11:110.98765}    
{"add":null, "x":8, "y":8.800000190734863}      \N      \N
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+500    55.5    550.12345       15      \N      \N      \N      \N      \N      
\N      {"add":55.5, "x":15, "y":15.5}  190     200
+
+-- !orc_v2_17 --
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+100    11.1    110.12345       11      [11, 12, 13]    [11.1, 12.2, 13.3]      
[110.1234, 120.5678, 130.9876]  {11:1100, 12:1200}      {11:11.1, 12:12.2}      
{11:110.12345, 12:120.98765}    {"add":11.1, "x":11, "y":11.1}  110     120
+200    22.2    220.12345       12      [14, 15]        [14.4, 15.5]    
[140.1234, 150.5678]    {13:1300, 14:1400}      {13:13.3, 14:14.4}      
{13:130.12345, 14:140.98765}    {"add":22.2, "x":12, "y":12.2}  130     140
+300    33.3    330.12345       13      [16]    [16.6]  [160.1234]      
{15:1500}       {15:15.5}       {15:150.12345}  {"add":33.3, "x":13, "y":13.3}  
150     160
+
+-- !orc_v2_18 --
+80     80.5    800.56789       8       [11, 12]        [11.109999656677246, 
12.119999885559082]        [110.1234, 120.5678]    {10:1000, 11:1100}      
{10:10.100000381469727, 11:11.109999656677246}  {10:100.12345, 11:110.98765}    
{"add":null, "x":8, "y":8.800000190734863}      \N      \N
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+100    11.1    110.12345       11      [11, 12, 13]    [11.1, 12.2, 13.3]      
[110.1234, 120.5678, 130.9876]  {11:1100, 12:1200}      {11:11.1, 12:12.2}      
{11:110.12345, 12:120.98765}    {"add":11.1, "x":11, "y":11.1}  110     120
+200    22.2    220.12345       12      [14, 15]        [14.4, 15.5]    
[140.1234, 150.5678]    {13:1300, 14:1400}      {13:13.3, 14:14.4}      
{13:130.12345, 14:140.98765}    {"add":22.2, "x":12, "y":12.2}  130     140
+300    33.3    330.12345       13      [16]    [16.6]  [160.1234]      
{15:1500}       {15:15.5}       {15:150.12345}  {"add":33.3, "x":13, "y":13.3}  
150     160
+
+-- !orc_v2_19 --
+\N
+\N
+\N
+\N
+\N
+\N
+\N
+\N
+\N
+\N
+11.1
+22.2
+33.3
+44.4
+55.5
+
+-- !orc_v2_20 --
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+
+-- !orc_v2_21 --
+3      [10.1234, 20.5678, 30.9876]
+2      [40.1234, 50.5678]
+1      [60.1234]
+2      [10.0000, 30.0000]
+\N     \N
+2      [70.1234, 80.5678]
+2      [90.1234, 100.5678]
+2      [110.1234, 120.5678]
+2      [130.1234, 140.5678]
+2      [150.1234, 160.5678]
+3      [110.1234, 120.5678, 130.9876]
+2      [140.1234, 150.5678]
+1      [160.1234]
+0      []
+\N     \N
+
+-- !orc_v2_22 --
+50     50.5    500.56789       5       \N      \N      \N      \N      \N      
\N      {"add":null, "x":5, "y":5.5}    \N      \N
+60     60.5    600.56789       6       [7, 8]  [7.699999809265137, 
8.800000190734863]  [70.1234, 80.5678]      {6:600, 7:700}  
{6:6.599999904632568, 7:7.699999809265137}      {6:60.12345, 7:70.98765}        
{"add":null, "x":6, "y":6.599999904632568}      \N      \N
+70     70.5    700.56789       7       [9, 10] [9.899999618530273, 
10.100000381469727] [90.1234, 100.5678]     {8:800, 9:900}  
{8:8.800000190734863, 9:9.899999618530273}      {8:80.12345, 9:90.98765}        
{"add":null, "x":7, "y":7.699999809265137}      \N      \N
+80     80.5    800.56789       8       [11, 12]        [11.109999656677246, 
12.119999885559082]        [110.1234, 120.5678]    {10:1000, 11:1100}      
{10:10.100000381469727, 11:11.109999656677246}  {10:100.12345, 11:110.98765}    
{"add":null, "x":8, "y":8.800000190734863}      \N      \N
+90     90.5    900.56789       9       [13, 14]        [13.130000114440918, 
14.140000343322754]        [130.1234, 140.5678]    {12:1200, 13:1300}      
{12:12.119999885559082, 13:13.130000114440918}  {12:120.12345, 13:130.98765}    
{"add":null, "x":9, "y":9.899999618530273}      \N      \N
+100    100.5   1000.56789      10      [15, 16]        [15.149999618530273, 
16.15999984741211] [150.1234, 160.5678]    {14:1400, 15:1500}      
{14:14.140000343322754, 15:15.149999618530273}  {14:140.12345, 15:150.98765}    
{"add":null, "x":10, "y":10.100000381469727}    \N      \N
+100    11.1    110.12345       11      [11, 12, 13]    [11.1, 12.2, 13.3]      
[110.1234, 120.5678, 130.9876]  {11:1100, 12:1200}      {11:11.1, 12:12.2}      
{11:110.12345, 12:120.98765}    {"add":11.1, "x":11, "y":11.1}  110     120
+200    22.2    220.12345       12      [14, 15]        [14.4, 15.5]    
[140.1234, 150.5678]    {13:1300, 14:1400}      {13:13.3, 14:14.4}      
{13:130.12345, 14:140.98765}    {"add":22.2, "x":12, "y":12.2}  130     140
+300    33.3    330.12345       13      [16]    [16.6]  [160.1234]      
{15:1500}       {15:15.5}       {15:150.12345}  {"add":33.3, "x":13, "y":13.3}  
150     160
+400    44.4    440.12345       14      []      []      []      {}      {}      
{}      {"add":44.4, "x":14, "y":14.4}  170     180
+500    55.5    550.12345       15      \N      \N      \N      \N      \N      
\N      {"add":55.5, "x":15, "y":15.5}  190     200
+
diff --git 
a/regression-test/suites/external_table_p0/iceberg/iceberg_schema_change.groovy 
b/regression-test/suites/external_table_p0/iceberg/iceberg_schema_change.groovy
index 12e15736779..907225c2912 100644
--- 
a/regression-test/suites/external_table_p0/iceberg/iceberg_schema_change.groovy
+++ 
b/regression-test/suites/external_table_p0/iceberg/iceberg_schema_change.groovy
@@ -23,8 +23,6 @@ suite("iceberg_schema_change", 
"p0,external,doris,external_docker,external_docke
         return
     }
 
-    // TODO 找当时的人看下怎么构造的这个表
-    return
 
     String rest_port = context.config.otherConfigs.get("iceberg_rest_uri_port")
     String minio_port = context.config.otherConfigs.get("iceberg_minio_port")
@@ -46,7 +44,7 @@ suite("iceberg_schema_change", 
"p0,external,doris,external_docker,external_docke
         logger.info("catalog " + catalog_name + " created")
         sql """switch ${catalog_name};"""
         logger.info("switched to catalog " + catalog_name)
-        sql """ use multi_catalog;""" 
+        sql """ use test_db;""" 
 
 
         qt_parquet_v1_1  """ desc complex_parquet_v1_schema_change ;""" 
@@ -58,8 +56,19 @@ suite("iceberg_schema_change", 
"p0,external,doris,external_docker,external_docke
         qt_parquet_v1_7  """ select rename_col7 from  
complex_parquet_v1_schema_change order by id; """ 
         qt_parquet_v1_8  """ select col_add2 from  
complex_parquet_v1_schema_change  where id >=7 order by id; """ 
         qt_parquet_v1_9  """ select id,count(col_add) from  
complex_parquet_v1_schema_change  group by id order by id desc ; """ 
-        qt_parquet_v1_10  """ select col_add from  
complex_parquet_v1_schema_change where col_add -1 = col_add2 order by id; """ 
-
+        qt_parquet_v1_10  """ select col_add from  
complex_parquet_v1_schema_change where col_add -1 = col_add2 order by id; """
+        qt_parquet_v1_11 """ select array_size(rename_col3),rename_col3 from  
complex_parquet_v1_schema_change  where array_size(rename_col3) > 2 order by 
id; """
+        qt_parquet_v1_12 """ select array_size(rename_col2),rename_col2 from  
complex_parquet_v1_schema_change    order by id; """
+        qt_parquet_v1_13 """ select array_size(rename_col2),rename_col2 from  
complex_parquet_v1_schema_change   where rename_col2[1] > 7  order by id; """
+        qt_parquet_v1_14 """ select array_size(rename_col2),rename_col2 from  
complex_parquet_v1_schema_change   where rename_col2[1] > 7  and id > 7   order 
by id; """
+        qt_parquet_v1_15 """ select array_size(rename_col1),rename_col1 from  
complex_parquet_v1_schema_change order by id; """
+        qt_parquet_v1_16 """ select  * from complex_parquet_v1_schema_change 
where rename_col10 > 500 order by id ; """
+        qt_parquet_v1_17 """ select * from complex_parquet_v1_schema_change 
where  map_keys(rename_col4)[1] > 10 order by id;   """
+        qt_parquet_v1_18 """ select * from complex_parquet_v1_schema_change 
where  map_values(rename_col5)[1] > 10 order by id; """
+        qt_parquet_v1_19 """ select struct_element(rename_col7,"add") from 
complex_parquet_v1_schema_change  order by id; """
+        qt_parquet_v1_20 """ select struct_element(rename_col7,"x") from 
complex_parquet_v1_schema_change  order by id; """
+        qt_parquet_v1_21 """ select array_size(rename_col3),rename_col3 from  
complex_parquet_v1_schema_change order by id; """
+        qt_parquet_v1_22 """ select  *  from  complex_parquet_v1_schema_change 
 where rename_col8 + rename_col9 > 100 order by id;"""
 
 
         qt_parquet_v2_1  """ desc complex_parquet_v2_schema_change ;""" 
@@ -72,8 +81,18 @@ suite("iceberg_schema_change", 
"p0,external,doris,external_docker,external_docke
         qt_parquet_v2_8  """ select col_add2 from  
complex_parquet_v2_schema_change  where id >=7 order by id; """ 
         qt_parquet_v2_9  """ select id,count(col_add) from  
complex_parquet_v2_schema_change  group by id order by id desc ; """ 
         qt_parquet_v2_10  """ select col_add from  
complex_parquet_v2_schema_change where col_add -1 = col_add2 order by id; """ 
-
-
+        qt_parquet_v2_11 """ select array_size(rename_col3),rename_col3 from  
complex_parquet_v2_schema_change  where array_size(rename_col3) > 2 order by 
id; """
+        qt_parquet_v2_12 """ select array_size(rename_col2),rename_col2 from  
complex_parquet_v2_schema_change    order by id; """
+        qt_parquet_v2_13 """ select array_size(rename_col2),rename_col2 from  
complex_parquet_v2_schema_change   where rename_col2[1] > 7  order by id; """
+        qt_parquet_v2_14 """ select array_size(rename_col2),rename_col2 from  
complex_parquet_v2_schema_change   where rename_col2[1] > 7  and id > 7   order 
by id; """
+        qt_parquet_v2_15 """ select array_size(rename_col1),rename_col1 from  
complex_parquet_v2_schema_change order by id; """
+        qt_parquet_v2_16 """ select  * from complex_parquet_v2_schema_change 
where rename_col10 > 500 order by id ; """
+        qt_parquet_v2_17 """ select * from complex_parquet_v2_schema_change 
where  map_keys(rename_col4)[1] > 10 order by id;   """
+        qt_parquet_v2_18 """ select * from complex_parquet_v2_schema_change 
where  map_values(rename_col5)[1] > 10 order by id; """
+        qt_parquet_v2_19 """ select struct_element(rename_col7,"add") from 
complex_parquet_v2_schema_change  order by id; """
+        qt_parquet_v2_20 """ select struct_element(rename_col7,"x") from 
complex_parquet_v2_schema_change  order by id; """
+        qt_parquet_v2_21 """ select array_size(rename_col3),rename_col3 from  
complex_parquet_v2_schema_change order by id; """
+        qt_parquet_v2_22 """ select  *  from  complex_parquet_v2_schema_change 
 where rename_col8 + rename_col9 > 100 order by id;"""
 
 
         qt_orc_v1_1  """ desc complex_orc_v1_schema_change ;""" 
@@ -86,7 +105,18 @@ suite("iceberg_schema_change", 
"p0,external,doris,external_docker,external_docke
         qt_orc_v1_8  """ select col_add2 from  complex_orc_v1_schema_change  
where id >=7 order by id; """ 
         qt_orc_v1_9  """ select id,count(col_add) from  
complex_orc_v1_schema_change  group by id order by id desc ; """ 
         qt_orc_v1_10  """ select col_add from  complex_orc_v1_schema_change 
where col_add -1 = col_add2 order by id; """ 
-
+        qt_orc_v1_11 """ select array_size(rename_col3),rename_col3 from  
complex_orc_v1_schema_change  where array_size(rename_col3) > 2 order by id; """
+        qt_orc_v1_12 """ select array_size(rename_col2),rename_col2 from  
complex_orc_v1_schema_change    order by id; """
+        qt_orc_v1_13 """ select array_size(rename_col2),rename_col2 from  
complex_orc_v1_schema_change   where rename_col2[1] > 7  order by id; """
+        qt_orc_v1_14 """ select array_size(rename_col2),rename_col2 from  
complex_orc_v1_schema_change   where rename_col2[1] > 7  and id > 7   order by 
id; """
+        qt_orc_v1_15 """ select array_size(rename_col1),rename_col1 from  
complex_orc_v1_schema_change order by id; """
+        qt_orc_v1_16 """ select  * from complex_orc_v1_schema_change where 
rename_col10 > 500 order by id ; """
+        qt_orc_v1_17 """ select * from complex_orc_v1_schema_change where  
map_keys(rename_col4)[1] > 10 order by id;   """
+        qt_orc_v1_18 """ select * from complex_orc_v1_schema_change where  
map_values(rename_col5)[1] > 10 order by id; """
+        qt_orc_v1_19 """ select struct_element(rename_col7,"add") from 
complex_orc_v1_schema_change  order by id; """
+        qt_orc_v1_20 """ select struct_element(rename_col7,"x") from 
complex_orc_v1_schema_change  order by id; """
+        qt_orc_v1_21 """ select array_size(rename_col3),rename_col3 from  
complex_orc_v1_schema_change order by id; """
+        qt_orc_v1_22 """ select  *  from  complex_orc_v1_schema_change  where 
rename_col8 + rename_col9 > 100 order by id;"""
         
 
         qt_orc_v2_1  """ desc complex_orc_v2_schema_change ;""" 
@@ -99,6 +129,19 @@ suite("iceberg_schema_change", 
"p0,external,doris,external_docker,external_docke
         qt_orc_v2_8  """ select col_add2 from  complex_orc_v2_schema_change  
where id >=7 order by id; """ 
         qt_orc_v2_9  """ select id,count(col_add) from  
complex_orc_v2_schema_change  group by id order by id desc ; """ 
         qt_orc_v2_10  """ select col_add from  complex_orc_v2_schema_change 
where col_add -1 = col_add2 order by id; """ 
+        qt_orc_v2_11 """ select array_size(rename_col3),rename_col3 from  
complex_orc_v2_schema_change  where array_size(rename_col3) > 2 order by id; """
+        qt_orc_v2_12 """ select array_size(rename_col2),rename_col2 from  
complex_orc_v2_schema_change    order by id; """
+        qt_orc_v2_13 """ select array_size(rename_col2),rename_col2 from  
complex_orc_v2_schema_change   where rename_col2[1] > 7  order by id; """
+        qt_orc_v2_14 """ select array_size(rename_col2),rename_col2 from  
complex_orc_v2_schema_change   where rename_col2[1] > 7  and id > 7   order by 
id; """
+        qt_orc_v2_15 """ select array_size(rename_col1),rename_col1 from  
complex_orc_v2_schema_change order by id; """
+        qt_orc_v2_16 """ select  * from complex_orc_v2_schema_change where 
rename_col10 > 500 order by id ; """
+        qt_orc_v2_17 """ select * from complex_orc_v2_schema_change where  
map_keys(rename_col4)[1] > 10 order by id;   """
+        qt_orc_v2_18 """ select * from complex_orc_v2_schema_change where  
map_values(rename_col5)[1] > 10 order by id; """
+        qt_orc_v2_19 """ select struct_element(rename_col7,"add") from 
complex_orc_v2_schema_change  order by id; """
+        qt_orc_v2_20 """ select struct_element(rename_col7,"x") from 
complex_orc_v2_schema_change  order by id; """
+        qt_orc_v2_21 """ select array_size(rename_col3),rename_col3 from  
complex_orc_v2_schema_change order by id; """
+        qt_orc_v2_22 """ select  *  from  complex_orc_v2_schema_change  where 
rename_col8 + rename_col9 > 100 order by id;"""
+
 
 }
 /*


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to