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

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

commit ed24e93ce6e6199757a71eeb9be79f5ea3e8d6a9
Author: zhangy5 <[email protected]>
AuthorDate: Wed Jul 19 14:05:56 2023 +0800

    [regression-test] add p0/p1 case about partition table (#21777)
---
 .../multi_partition/partition_table.csv            |  30 +++
 .../multi_partition/partition_table.out            |  30 +++
 .../data/partition_p0/test_partition_operation.out | 244 +++++++++++++++++
 .../multi_partition/test_range_partition.groovy    | 297 +++++++++++++++++++++
 .../partition_p0/test_partition_operation.groovy   | 284 ++++++++++++++++++++
 .../test_partition_table_err_msg.groovy            | 174 ++++++++++++
 6 files changed, 1059 insertions(+)

diff --git 
a/regression-test/data/partition_p0/multi_partition/partition_table.csv 
b/regression-test/data/partition_p0/multi_partition/partition_table.csv
new file mode 100644
index 0000000000..8175e398de
--- /dev/null
+++ b/regression-test/data/partition_p0/multi_partition/partition_table.csv
@@ -0,0 +1,30 @@
+1,10,100,1000,100000,2011-01-01 
00:00:00,2010-01-01,t,ynqnzeowymt,38.638843,180.998031,7395.231067
+2,20,200,2000,200000,2012-01-01 
00:00:00,2010-01-02,f,hfkfwlr,506.044046,539.922834,2080.504502
+3,30,300,3000,300000,2013-01-01 
00:00:00,2010-01-03,t,uoclasp,377.793209,577.044148,4605.253205
+4,40,400,4000,400000,2014-01-01 
00:00:00,2010-01-04,n,iswngzeodfhptjzgswsddt,871.354536,919.067864,7291.703724
+5,50,500,5000,500000,2015-01-01 
00:00:00,2010-01-05,a,sqodagzlyrmcelyxgcgcsfuxadcdt,462.067902,929.660783,3903.906901
+6,60,600,6000,600000,2016-01-01 
00:00:00,2010-01-06,m,obdrei,921.867848,882.708491,6514.405051
+7,70,700,7000,700000,2017-01-01 
00:00:00,2010-01-07,a,cuobdhvrgkugknj,141.656421,209.420112,8604.198677
+8,80,800,8000,800000,2018-01-01 
00:00:00,2010-01-08,z,phcxztwgjllhmj,762.813376,285.664871,7784.859446
+9,90,900,9000,900000,2019-01-01 
00:00:00,2010-01-09,b,nbarqjwilbkelk,92.702403,535.285510,4846.735593
+10,100,1000,10000,1000000,2020-01-01 
00:00:00,2010-01-10,s,zucprgdnlgzzfl,26.874738,155.861217,7996.434686
+11,110,1100,11000,1100000,2021-01-01 
00:00:00,2010-01-11,j,zabbwiimqemk,369.819134,558.999245,3821.278705
+12,120,1200,12000,1200000,2022-01-01 
00:00:00,2010-01-12,d,elvkhacywhdzrazcvyunkjajnx,536.045037,181.877653,9334.300973
+13,130,1300,13000,1300000,2023-01-01 
00:00:00,2010-01-13,x,cylgmxlmkkrkk,990.836863,909.667873,9103.804406
+14,140,1400,14000,1400000,2024-01-01 
00:00:00,2010-01-14,s,vpzwml,763.615167,295.541079,9823.062496
+15,150,1500,15000,1500000,2025-01-01 
00:00:00,2010-01-15,f,yvvstxajxtgrimmrveljjbwo,380.419929,391.329557,5859.241974
+16,160,1600,16000,1600000,2026-01-01 
00:00:00,2010-01-16,b,yxtowesbeqyejvpfhkixpdw,312.933953,328.666079,9430.138013
+17,170,1700,17000,1700000,2027-01-01 
00:00:00,2010-01-17,d,nrrzcgygjplgttf,472.844369,799.528036,3135.292842
+18,180,1800,18000,1800000,2028-01-01 
00:00:00,2010-01-18,e,wfknyaxplas,971.549437,844.025534,9855.813711
+19,190,1900,19000,1900000,2029-01-01 
00:00:00,2010-01-19,f,qtznw,37.568959,502.584396,3086.573874
+20,200,2000,20000,2000000,2030-01-01 
00:00:00,2010-01-20,i,nwznneizhtmzemy,632.512198,972.561324,2698.863638
+21,210,2100,21000,2100000,2031-01-01 
00:00:00,2010-01-21,q,sqqeanrmafdoheeizljifwsj,942.888716,933.754744,5185.373039
+22,220,2200,22000,2200000,2032-01-01 
00:00:00,2010-01-22,h,tirlgqmwrchusfyxitxttvxlioknz,654.955955,69.032071,6221.348291
+23,230,2300,23000,2300000,2033-01-01 
00:00:00,2010-01-23,s,imnrusvqy,468.780338,24.626005,7481.574657
+24,240,2400,24000,2400000,2034-01-01 
00:00:00,2010-01-24,s,irpbe,537.906124,396.750845,3585.208809
+25,250,2500,25000,2500000,2035-01-01 
00:00:00,2010-01-25,w,drpjerrdlel,662.123247,202.007097,6982.796060
+26,260,2600,26000,2600000,2036-01-01 
00:00:00,2010-01-26,v,vmzutsaifmlimicshgjpsvhiowjnq,115.145598,64.115478,3046.839203
+27,270,2700,27000,2700000,2037-01-01 
00:00:00,2010-01-27,d,yrxspxgcwgbnjnmqkcido,362.227207,519.383701,9921.135045
+28,280,2800,28000,2800000,2038-01-01 
00:00:00,2010-01-28,w,udfzebgnnxfjnoujtvlib,443.030856,998.471600,4633.258698
+29,290,2900,29000,2900000,2039-01-01 
00:00:00,2010-01-29,p,jfgvke,8.602754,248.265099,5465.010345
+30,300,3000,30000,3000000,2040-01-01 
00:00:00,2010-01-30,d,tbuvpobzluhbwkljlhwnrkrhowybk,949.575593,976.266490,2579.668636
diff --git 
a/regression-test/data/partition_p0/multi_partition/partition_table.out 
b/regression-test/data/partition_p0/multi_partition/partition_table.out
new file mode 100644
index 0000000000..884d25c7a0
--- /dev/null
+++ b/regression-test/data/partition_p0/multi_partition/partition_table.out
@@ -0,0 +1,30 @@
+1      10      100     1000    100000  2011-01-01T00:00        2010-01-01      
t       ynqnzeowymt     38.638844       180.998031      7395.2310670
+2      20      200     2000    200000  2012-01-01T00:00        2010-01-02      
f       hfkfwlr 506.04404       539.922834      2080.5045020
+3      30      300     3000    300000  2013-01-01T00:00        2010-01-03      
t       uoclasp 377.7932        577.044148      4605.2532050
+4      40      400     4000    400000  2014-01-01T00:00        2010-01-04      
n       iswngzeodfhptjzgswsddt  871.35455       919.067864      7291.7037240
+5      50      500     5000    500000  2015-01-01T00:00        2010-01-05      
a       sqodagzlyrmcelyxgcgcsfuxadcdt   462.0679        929.660783      
3903.9069010
+6      60      600     6000    600000  2016-01-01T00:00        2010-01-06      
m       obdrei  921.86786       882.708491      6514.4050510
+7      70      700     7000    700000  2017-01-01T00:00        2010-01-07      
a       cuobdhvrgkugknj 141.65642       209.420112      8604.1986770
+8      80      800     8000    800000  2018-01-01T00:00        2010-01-08      
z       phcxztwgjllhmj  762.81335       285.664871      7784.8594460
+9      90      900     9000    900000  2019-01-01T00:00        2010-01-09      
b       nbarqjwilbkelk  92.7024 535.28551       4846.7355930
+10     100     1000    10000   1000000 2020-01-01T00:00        2010-01-10      
s       zucprgdnlgzzfl  26.874739       155.861217      7996.4346860
+11     110     1100    11000   1100000 2021-01-01T00:00        2010-01-11      
j       zabbwiimqemk    369.81912       558.999245      3821.2787050
+12     120     1200    12000   1200000 2022-01-01T00:00        2010-01-12      
d       elvkhacywhdzrazcvyunkjajnx      536.04504       181.877653      
9334.3009730
+13     130     1300    13000   1300000 2023-01-01T00:00        2010-01-13      
x       cylgmxlmkkrkk   990.83685       909.667873      9103.8044060
+14     140     1400    14000   1400000 2024-01-01T00:00        2010-01-14      
s       vpzwml  763.6152        295.541079      9823.0624960
+15     150     1500    15000   1500000 2025-01-01T00:00        2010-01-15      
f       yvvstxajxtgrimmrveljjbwo        380.41992       391.329557      
5859.2419740
+16     160     1600    16000   1600000 2026-01-01T00:00        2010-01-16      
b       yxtowesbeqyejvpfhkixpdw 312.93396       328.666079      9430.1380130
+17     170     1700    17000   1700000 2027-01-01T00:00        2010-01-17      
d       nrrzcgygjplgttf 472.84436       799.528036      3135.2928420
+18     180     1800    18000   1800000 2028-01-01T00:00        2010-01-18      
e       wfknyaxplas     971.54944       844.025534      9855.8137110
+19     190     1900    19000   1900000 2029-01-01T00:00        2010-01-19      
f       qtznw   37.56896        502.584396      3086.5738740
+20     200     2000    20000   2000000 2030-01-01T00:00        2010-01-20      
i       nwznneizhtmzemy 632.5122        972.561324      2698.8636380
+21     210     2100    21000   2100000 2031-01-01T00:00        2010-01-21      
q       sqqeanrmafdoheeizljifwsj        942.88873       933.754744      
5185.3730390
+22     220     2200    22000   2200000 2032-01-01T00:00        2010-01-22      
h       tirlgqmwrchusfyxitxttvxlioknz   654.95593       69.032071       
6221.3482910
+23     230     2300    23000   2300000 2033-01-01T00:00        2010-01-23      
s       imnrusvqy       468.78033       24.626005       7481.5746570
+24     240     2400    24000   2400000 2034-01-01T00:00        2010-01-24      
s       irpbe   537.9061        396.750845      3585.2088090
+25     250     2500    25000   2500000 2035-01-01T00:00        2010-01-25      
w       drpjerrdlel     662.1232        202.007097      6982.7960600
+26     260     2600    26000   2600000 2036-01-01T00:00        2010-01-26      
v       vmzutsaifmlimicshgjpsvhiowjnq   115.1456        64.115478       
3046.8392030
+27     270     2700    27000   2700000 2037-01-01T00:00        2010-01-27      
d       yrxspxgcwgbnjnmqkcido   362.2272        519.383701      9921.1350450
+28     280     2800    28000   2800000 2038-01-01T00:00        2010-01-28      
w       udfzebgnnxfjnoujtvlib   443.03085       998.4716        4633.2586980
+29     290     2900    29000   2900000 2039-01-01T00:00        2010-01-29      
p       jfgvke  8.602754        248.265099      5465.0103450
+30     300     3000    30000   3000000 2040-01-01T00:00        2010-01-30      
d       tbuvpobzluhbwkljlhwnrkrhowybk   949.5756        976.26649       
2579.6686360
diff --git a/regression-test/data/partition_p0/test_partition_operation.out 
b/regression-test/data/partition_p0/test_partition_operation.out
new file mode 100644
index 0000000000..1a41d88fdd
--- /dev/null
+++ b/regression-test/data/partition_p0/test_partition_operation.out
@@ -0,0 +1,244 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- !sql1 --
+1      10      100     1000    100000  2011-01-01T00:00        2010-01-01      
t       ynqnzeowymt     38.638844       180.998031      7395.2310670
+2      20      200     2000    200000  2012-01-01T00:00        2010-01-02      
f       hfkfwlr 506.04404       539.922834      2080.5045020
+3      30      300     3000    300000  2013-01-01T00:00        2010-01-03      
t       uoclasp 377.7932        577.044148      4605.2532050
+4      40      400     4000    400000  2014-01-01T00:00        2010-01-04      
n       iswngzeodfhptjzgswsddt  871.35455       919.067864      7291.7037240
+5      50      500     5000    500000  2015-01-01T00:00        2010-01-05      
a       sqodagzlyrmcelyxgcgcsfuxadcdt   462.0679        929.660783      
3903.9069010
+6      60      600     6000    600000  2016-01-01T00:00        2010-01-06      
m       obdrei  921.86786       882.708491      6514.4050510
+7      70      700     7000    700000  2017-01-01T00:00        2010-01-07      
a       cuobdhvrgkugknj 141.65642       209.420112      8604.1986770
+8      80      800     8000    800000  2018-01-01T00:00        2010-01-08      
z       phcxztwgjllhmj  762.81335       285.664871      7784.8594460
+9      90      900     9000    900000  2019-01-01T00:00        2010-01-09      
b       nbarqjwilbkelk  92.7024 535.28551       4846.7355930
+10     100     1000    10000   1000000 2020-01-01T00:00        2010-01-10      
s       zucprgdnlgzzfl  26.874739       155.861217      7996.4346860
+11     110     1100    11000   1100000 2021-01-01T00:00        2010-01-11      
j       zabbwiimqemk    369.81912       558.999245      3821.2787050
+12     120     1200    12000   1200000 2022-01-01T00:00        2010-01-12      
d       elvkhacywhdzrazcvyunkjajnx      536.04504       181.877653      
9334.3009730
+13     130     1300    13000   1300000 2023-01-01T00:00        2010-01-13      
x       cylgmxlmkkrkk   990.83685       909.667873      9103.8044060
+14     140     1400    14000   1400000 2024-01-01T00:00        2010-01-14      
s       vpzwml  763.6152        295.541079      9823.0624960
+15     150     1500    15000   1500000 2025-01-01T00:00        2010-01-15      
f       yvvstxajxtgrimmrveljjbwo        380.41992       391.329557      
5859.2419740
+16     160     1600    16000   1600000 2026-01-01T00:00        2010-01-16      
b       yxtowesbeqyejvpfhkixpdw 312.93396       328.666079      9430.1380130
+17     170     1700    17000   1700000 2027-01-01T00:00        2010-01-17      
d       nrrzcgygjplgttf 472.84436       799.528036      3135.2928420
+18     180     1800    18000   1800000 2028-01-01T00:00        2010-01-18      
e       wfknyaxplas     971.54944       844.025534      9855.8137110
+19     190     1900    19000   1900000 2029-01-01T00:00        2010-01-19      
f       qtznw   37.56896        502.584396      3086.5738740
+20     200     2000    20000   2000000 2030-01-01T00:00        2010-01-20      
i       nwznneizhtmzemy 632.5122        972.561324      2698.8636380
+21     210     2100    21000   2100000 2031-01-01T00:00        2010-01-21      
q       sqqeanrmafdoheeizljifwsj        942.88873       933.754744      
5185.3730390
+22     220     2200    22000   2200000 2032-01-01T00:00        2010-01-22      
h       tirlgqmwrchusfyxitxttvxlioknz   654.95593       69.032071       
6221.3482910
+23     230     2300    23000   2300000 2033-01-01T00:00        2010-01-23      
s       imnrusvqy       468.78033       24.626005       7481.5746570
+24     240     2400    24000   2400000 2034-01-01T00:00        2010-01-24      
s       irpbe   537.9061        396.750845      3585.2088090
+25     250     2500    25000   2500000 2035-01-01T00:00        2010-01-25      
w       drpjerrdlel     662.1232        202.007097      6982.7960600
+26     260     2600    26000   2600000 2036-01-01T00:00        2010-01-26      
v       vmzutsaifmlimicshgjpsvhiowjnq   115.1456        64.115478       
3046.8392030
+27     270     2700    27000   2700000 2037-01-01T00:00        2010-01-27      
d       yrxspxgcwgbnjnmqkcido   362.2272        519.383701      9921.1350450
+28     280     2800    28000   2800000 2038-01-01T00:00        2010-01-28      
w       udfzebgnnxfjnoujtvlib   443.03085       998.4716        4633.2586980
+29     290     2900    29000   2900000 2039-01-01T00:00        2010-01-29      
p       jfgvke  8.602754        248.265099      5465.0103450
+30     300     3000    30000   3000000 2040-01-01T00:00        2010-01-30      
d       tbuvpobzluhbwkljlhwnrkrhowybk   949.5756        976.26649       
2579.6686360
+50     500     5000    65535990        5000000 2060-01-01T00:00        
2010-02-28      =       asdfg   50.555  505.55522       545.0050000
+
+-- !sql2 --
+1      10      100     1000    100000  2011-01-01T00:00        2010-01-01      
t       ynqnzeowymt     38.638844       180.998031      7395.2310670
+2      20      200     2000    200000  2012-01-01T00:00        2010-01-02      
f       hfkfwlr 506.04404       539.922834      2080.5045020
+3      30      300     3000    300000  2013-01-01T00:00        2010-01-03      
t       uoclasp 377.7932        577.044148      4605.2532050
+4      40      400     4000    400000  2014-01-01T00:00        2010-01-04      
n       iswngzeodfhptjzgswsddt  871.35455       919.067864      7291.7037240
+5      50      500     5000    500000  2015-01-01T00:00        2010-01-05      
a       sqodagzlyrmcelyxgcgcsfuxadcdt   462.0679        929.660783      
3903.9069010
+6      60      600     6000    600000  2016-01-01T00:00        2010-01-06      
m       obdrei  921.86786       882.708491      6514.4050510
+7      70      700     7000    700000  2017-01-01T00:00        2010-01-07      
a       cuobdhvrgkugknj 141.65642       209.420112      8604.1986770
+8      80      800     8000    800000  2018-01-01T00:00        2010-01-08      
z       phcxztwgjllhmj  762.81335       285.664871      7784.8594460
+9      90      900     9000    900000  2019-01-01T00:00        2010-01-09      
b       nbarqjwilbkelk  92.7024 535.28551       4846.7355930
+10     100     1000    10000   1000000 2020-01-01T00:00        2010-01-10      
s       zucprgdnlgzzfl  26.874739       155.861217      7996.4346860
+11     110     1100    11000   1100000 2021-01-01T00:00        2010-01-11      
j       zabbwiimqemk    369.81912       558.999245      3821.2787050
+12     120     1200    12000   1200000 2022-01-01T00:00        2010-01-12      
d       elvkhacywhdzrazcvyunkjajnx      536.04504       181.877653      
9334.3009730
+13     130     1300    13000   1300000 2023-01-01T00:00        2010-01-13      
x       cylgmxlmkkrkk   990.83685       909.667873      9103.8044060
+14     140     1400    14000   1400000 2024-01-01T00:00        2010-01-14      
s       vpzwml  763.6152        295.541079      9823.0624960
+15     150     1500    15000   1500000 2025-01-01T00:00        2010-01-15      
f       yvvstxajxtgrimmrveljjbwo        380.41992       391.329557      
5859.2419740
+16     160     1600    16000   1600000 2026-01-01T00:00        2010-01-16      
b       yxtowesbeqyejvpfhkixpdw 312.93396       328.666079      9430.1380130
+17     170     1700    17000   1700000 2027-01-01T00:00        2010-01-17      
d       nrrzcgygjplgttf 472.84436       799.528036      3135.2928420
+18     180     1800    18000   1800000 2028-01-01T00:00        2010-01-18      
e       wfknyaxplas     971.54944       844.025534      9855.8137110
+19     190     1900    19000   1900000 2029-01-01T00:00        2010-01-19      
f       qtznw   37.56896        502.584396      3086.5738740
+20     200     2000    20000   2000000 2030-01-01T00:00        2010-01-20      
i       nwznneizhtmzemy 632.5122        972.561324      2698.8636380
+21     210     2100    21000   2100000 2031-01-01T00:00        2010-01-21      
q       sqqeanrmafdoheeizljifwsj        942.88873       933.754744      
5185.3730390
+22     220     2200    22000   2200000 2032-01-01T00:00        2010-01-22      
h       tirlgqmwrchusfyxitxttvxlioknz   654.95593       69.032071       
6221.3482910
+23     230     2300    23000   2300000 2033-01-01T00:00        2010-01-23      
s       imnrusvqy       468.78033       24.626005       7481.5746570
+24     240     2400    24000   2400000 2034-01-01T00:00        2010-01-24      
s       irpbe   537.9061        396.750845      3585.2088090
+25     250     2500    25000   2500000 2035-01-01T00:00        2010-01-25      
w       drpjerrdlel     662.1232        202.007097      6982.7960600
+26     260     2600    26000   2600000 2036-01-01T00:00        2010-01-26      
v       vmzutsaifmlimicshgjpsvhiowjnq   115.1456        64.115478       
3046.8392030
+27     270     2700    27000   2700000 2037-01-01T00:00        2010-01-27      
d       yrxspxgcwgbnjnmqkcido   362.2272        519.383701      9921.1350450
+28     280     2800    28000   2800000 2038-01-01T00:00        2010-01-28      
w       udfzebgnnxfjnoujtvlib   443.03085       998.4716        4633.2586980
+29     290     2900    29000   2900000 2039-01-01T00:00        2010-01-29      
p       jfgvke  8.602754        248.265099      5465.0103450
+30     300     3000    30000   3000000 2040-01-01T00:00        2010-01-30      
d       tbuvpobzluhbwkljlhwnrkrhowybk   949.5756        976.26649       
2579.6686360
+50     500     5000    65535990        5000000 2060-01-01T00:00        
2010-02-28      =       asdfg   50.555  505.55522       545.0050000
+60     600     6000    65536990        6000000 2070-01-01T00:00        
2010-03-01      -       qwert   60.555  605.55522       645.0050000
+
+-- !sql3 --
+1      10      100     1000    100000  2011-01-01T00:00        2010-01-01      
t       ynqnzeowymt     38.638844       180.998031      7395.2310670
+2      20      200     2000    200000  2012-01-01T00:00        2010-01-02      
f       hfkfwlr 506.04404       539.922834      2080.5045020
+3      30      300     3000    300000  2013-01-01T00:00        2010-01-03      
t       uoclasp 377.7932        577.044148      4605.2532050
+4      40      400     4000    400000  2014-01-01T00:00        2010-01-04      
n       iswngzeodfhptjzgswsddt  871.35455       919.067864      7291.7037240
+5      50      500     5000    500000  2015-01-01T00:00        2010-01-05      
a       sqodagzlyrmcelyxgcgcsfuxadcdt   462.0679        929.660783      
3903.9069010
+6      60      600     6000    600000  2016-01-01T00:00        2010-01-06      
m       obdrei  921.86786       882.708491      6514.4050510
+7      70      700     7000    700000  2017-01-01T00:00        2010-01-07      
a       cuobdhvrgkugknj 141.65642       209.420112      8604.1986770
+8      80      800     8000    800000  2018-01-01T00:00        2010-01-08      
z       phcxztwgjllhmj  762.81335       285.664871      7784.8594460
+9      90      900     9000    900000  2019-01-01T00:00        2010-01-09      
b       nbarqjwilbkelk  92.7024 535.28551       4846.7355930
+10     100     1000    10000   1000000 2020-01-01T00:00        2010-01-10      
s       zucprgdnlgzzfl  26.874739       155.861217      7996.4346860
+11     110     1100    11000   1100000 2021-01-01T00:00        2010-01-11      
j       zabbwiimqemk    369.81912       558.999245      3821.2787050
+12     120     1200    12000   1200000 2022-01-01T00:00        2010-01-12      
d       elvkhacywhdzrazcvyunkjajnx      536.04504       181.877653      
9334.3009730
+13     130     1300    13000   1300000 2023-01-01T00:00        2010-01-13      
x       cylgmxlmkkrkk   990.83685       909.667873      9103.8044060
+14     140     1400    14000   1400000 2024-01-01T00:00        2010-01-14      
s       vpzwml  763.6152        295.541079      9823.0624960
+15     150     1500    15000   1500000 2025-01-01T00:00        2010-01-15      
f       yvvstxajxtgrimmrveljjbwo        380.41992       391.329557      
5859.2419740
+16     160     1600    16000   1600000 2026-01-01T00:00        2010-01-16      
b       yxtowesbeqyejvpfhkixpdw 312.93396       328.666079      9430.1380130
+17     170     1700    17000   1700000 2027-01-01T00:00        2010-01-17      
d       nrrzcgygjplgttf 472.84436       799.528036      3135.2928420
+18     180     1800    18000   1800000 2028-01-01T00:00        2010-01-18      
e       wfknyaxplas     971.54944       844.025534      9855.8137110
+19     190     1900    19000   1900000 2029-01-01T00:00        2010-01-19      
f       qtznw   37.56896        502.584396      3086.5738740
+20     200     2000    20000   2000000 2030-01-01T00:00        2010-01-20      
i       nwznneizhtmzemy 632.5122        972.561324      2698.8636380
+21     210     2100    21000   2100000 2031-01-01T00:00        2010-01-21      
q       sqqeanrmafdoheeizljifwsj        942.88873       933.754744      
5185.3730390
+22     220     2200    22000   2200000 2032-01-01T00:00        2010-01-22      
h       tirlgqmwrchusfyxitxttvxlioknz   654.95593       69.032071       
6221.3482910
+23     230     2300    23000   2300000 2033-01-01T00:00        2010-01-23      
s       imnrusvqy       468.78033       24.626005       7481.5746570
+24     240     2400    24000   2400000 2034-01-01T00:00        2010-01-24      
s       irpbe   537.9061        396.750845      3585.2088090
+25     250     2500    25000   2500000 2035-01-01T00:00        2010-01-25      
w       drpjerrdlel     662.1232        202.007097      6982.7960600
+26     260     2600    26000   2600000 2036-01-01T00:00        2010-01-26      
v       vmzutsaifmlimicshgjpsvhiowjnq   115.1456        64.115478       
3046.8392030
+27     270     2700    27000   2700000 2037-01-01T00:00        2010-01-27      
d       yrxspxgcwgbnjnmqkcido   362.2272        519.383701      9921.1350450
+28     280     2800    28000   2800000 2038-01-01T00:00        2010-01-28      
w       udfzebgnnxfjnoujtvlib   443.03085       998.4716        4633.2586980
+29     290     2900    29000   2900000 2039-01-01T00:00        2010-01-29      
p       jfgvke  8.602754        248.265099      5465.0103450
+30     300     3000    30000   3000000 2040-01-01T00:00        2010-01-30      
d       tbuvpobzluhbwkljlhwnrkrhowybk   949.5756        976.26649       
2579.6686360
+50     500     5000    65535990        5000000 2060-01-01T00:00        
2010-02-28      =       asdfg   50.555  505.55522       545.0050000
+60     600     6000    65536990        6000000 2070-01-01T00:00        
2010-03-01      -       qwert   60.555  605.55522       645.0050000
+70     700     7000    65537990        7000000 2080-01-01T00:00        
2010-03-02      +       zxcvb   70.555  705.55522       745.0050000
+
+-- !sql4 --
+1      10      100     1000    100000  2011-01-01T00:00        2010-01-01      
t       ynqnzeowymt     38.638844       180.998031      7395.2310670
+2      20      200     2000    200000  2012-01-01T00:00        2010-01-02      
f       hfkfwlr 506.04404       539.922834      2080.5045020
+3      30      300     3000    300000  2013-01-01T00:00        2010-01-03      
t       uoclasp 377.7932        577.044148      4605.2532050
+4      40      400     4000    400000  2014-01-01T00:00        2010-01-04      
n       iswngzeodfhptjzgswsddt  871.35455       919.067864      7291.7037240
+5      50      500     5000    500000  2015-01-01T00:00        2010-01-05      
a       sqodagzlyrmcelyxgcgcsfuxadcdt   462.0679        929.660783      
3903.9069010
+6      60      600     6000    600000  2016-01-01T00:00        2010-01-06      
m       obdrei  921.86786       882.708491      6514.4050510
+7      70      700     7000    700000  2017-01-01T00:00        2010-01-07      
a       cuobdhvrgkugknj 141.65642       209.420112      8604.1986770
+8      80      800     8000    800000  2018-01-01T00:00        2010-01-08      
z       phcxztwgjllhmj  762.81335       285.664871      7784.8594460
+9      90      900     9000    900000  2019-01-01T00:00        2010-01-09      
b       nbarqjwilbkelk  92.7024 535.28551       4846.7355930
+10     100     1000    10000   1000000 2020-01-01T00:00        2010-01-10      
s       zucprgdnlgzzfl  26.874739       155.861217      7996.4346860
+11     110     1100    11000   1100000 2021-01-01T00:00        2010-01-11      
j       zabbwiimqemk    369.81912       558.999245      3821.2787050
+12     120     1200    12000   1200000 2022-01-01T00:00        2010-01-12      
d       elvkhacywhdzrazcvyunkjajnx      536.04504       181.877653      
9334.3009730
+13     130     1300    13000   1300000 2023-01-01T00:00        2010-01-13      
x       cylgmxlmkkrkk   990.83685       909.667873      9103.8044060
+14     140     1400    14000   1400000 2024-01-01T00:00        2010-01-14      
s       vpzwml  763.6152        295.541079      9823.0624960
+15     150     1500    15000   1500000 2025-01-01T00:00        2010-01-15      
f       yvvstxajxtgrimmrveljjbwo        380.41992       391.329557      
5859.2419740
+16     160     1600    16000   1600000 2026-01-01T00:00        2010-01-16      
b       yxtowesbeqyejvpfhkixpdw 312.93396       328.666079      9430.1380130
+17     170     1700    17000   1700000 2027-01-01T00:00        2010-01-17      
d       nrrzcgygjplgttf 472.84436       799.528036      3135.2928420
+18     180     1800    18000   1800000 2028-01-01T00:00        2010-01-18      
e       wfknyaxplas     971.54944       844.025534      9855.8137110
+19     190     1900    19000   1900000 2029-01-01T00:00        2010-01-19      
f       qtznw   37.56896        502.584396      3086.5738740
+20     200     2000    20000   2000000 2030-01-01T00:00        2010-01-20      
i       nwznneizhtmzemy 632.5122        972.561324      2698.8636380
+21     210     2100    21000   2100000 2031-01-01T00:00        2010-01-21      
q       sqqeanrmafdoheeizljifwsj        942.88873       933.754744      
5185.3730390
+22     220     2200    22000   2200000 2032-01-01T00:00        2010-01-22      
h       tirlgqmwrchusfyxitxttvxlioknz   654.95593       69.032071       
6221.3482910
+23     230     2300    23000   2300000 2033-01-01T00:00        2010-01-23      
s       imnrusvqy       468.78033       24.626005       7481.5746570
+24     240     2400    24000   2400000 2034-01-01T00:00        2010-01-24      
s       irpbe   537.9061        396.750845      3585.2088090
+25     250     2500    25000   2500000 2035-01-01T00:00        2010-01-25      
w       drpjerrdlel     662.1232        202.007097      6982.7960600
+26     260     2600    26000   2600000 2036-01-01T00:00        2010-01-26      
v       vmzutsaifmlimicshgjpsvhiowjnq   115.1456        64.115478       
3046.8392030
+27     270     2700    27000   2700000 2037-01-01T00:00        2010-01-27      
d       yrxspxgcwgbnjnmqkcido   362.2272        519.383701      9921.1350450
+28     280     2800    28000   2800000 2038-01-01T00:00        2010-01-28      
w       udfzebgnnxfjnoujtvlib   443.03085       998.4716        4633.2586980
+29     290     2900    29000   2900000 2039-01-01T00:00        2010-01-29      
p       jfgvke  8.602754        248.265099      5465.0103450
+30     300     3000    30000   3000000 2040-01-01T00:00        2010-01-30      
d       tbuvpobzluhbwkljlhwnrkrhowybk   949.5756        976.26649       
2579.6686360
+50     500     5000    65535990        5000000 2060-01-01T00:00        
2010-02-28      =       asdfg   50.555  505.55522       545.0050000
+60     600     6000    65536990        6000000 2070-01-01T00:00        
2010-03-01      -       qwert   60.555  605.55522       645.0050000
+70     700     7000    65537990        7000000 2080-01-01T00:00        
2010-03-02      +       zxcvb   70.555  705.55522       745.0050000
+80     800     8000    65539990        8000000 2090-01-01T00:00        
2010-03-03      >       uiopy   80.555  805.55522       845.0050000
+
+-- !sql5 --
+
+-- !sql6 --
+3      30      300     3000    300000  2013-01-01T00:00        2010-01-03      
t       uoclasp 377.7932        577.044148      4605.2532050
+4      40      400     4000    400000  2014-01-01T00:00        2010-01-04      
n       iswngzeodfhptjzgswsddt  871.35455       919.067864      7291.7037240
+5      50      500     5000    500000  2015-01-01T00:00        2010-01-05      
a       sqodagzlyrmcelyxgcgcsfuxadcdt   462.0679        929.660783      
3903.9069010
+6      60      600     6000    600000  2016-01-01T00:00        2010-01-06      
m       obdrei  921.86786       882.708491      6514.4050510
+7      70      700     7000    700000  2017-01-01T00:00        2010-01-07      
a       cuobdhvrgkugknj 141.65642       209.420112      8604.1986770
+8      80      800     8000    800000  2018-01-01T00:00        2010-01-08      
z       phcxztwgjllhmj  762.81335       285.664871      7784.8594460
+9      90      900     9000    900000  2019-01-01T00:00        2010-01-09      
b       nbarqjwilbkelk  92.7024 535.28551       4846.7355930
+10     100     1000    10000   1000000 2020-01-01T00:00        2010-01-10      
s       zucprgdnlgzzfl  26.874739       155.861217      7996.4346860
+11     110     1100    11000   1100000 2021-01-01T00:00        2010-01-11      
j       zabbwiimqemk    369.81912       558.999245      3821.2787050
+12     120     1200    12000   1200000 2022-01-01T00:00        2010-01-12      
d       elvkhacywhdzrazcvyunkjajnx      536.04504       181.877653      
9334.3009730
+13     130     1300    13000   1300000 2023-01-01T00:00        2010-01-13      
x       cylgmxlmkkrkk   990.83685       909.667873      9103.8044060
+14     140     1400    14000   1400000 2024-01-01T00:00        2010-01-14      
s       vpzwml  763.6152        295.541079      9823.0624960
+15     150     1500    15000   1500000 2025-01-01T00:00        2010-01-15      
f       yvvstxajxtgrimmrveljjbwo        380.41992       391.329557      
5859.2419740
+16     160     1600    16000   1600000 2026-01-01T00:00        2010-01-16      
b       yxtowesbeqyejvpfhkixpdw 312.93396       328.666079      9430.1380130
+17     170     1700    17000   1700000 2027-01-01T00:00        2010-01-17      
d       nrrzcgygjplgttf 472.84436       799.528036      3135.2928420
+18     180     1800    18000   1800000 2028-01-01T00:00        2010-01-18      
e       wfknyaxplas     971.54944       844.025534      9855.8137110
+19     190     1900    19000   1900000 2029-01-01T00:00        2010-01-19      
f       qtznw   37.56896        502.584396      3086.5738740
+20     200     2000    20000   2000000 2030-01-01T00:00        2010-01-20      
i       nwznneizhtmzemy 632.5122        972.561324      2698.8636380
+21     210     2100    21000   2100000 2031-01-01T00:00        2010-01-21      
q       sqqeanrmafdoheeizljifwsj        942.88873       933.754744      
5185.3730390
+22     220     2200    22000   2200000 2032-01-01T00:00        2010-01-22      
h       tirlgqmwrchusfyxitxttvxlioknz   654.95593       69.032071       
6221.3482910
+23     230     2300    23000   2300000 2033-01-01T00:00        2010-01-23      
s       imnrusvqy       468.78033       24.626005       7481.5746570
+24     240     2400    24000   2400000 2034-01-01T00:00        2010-01-24      
s       irpbe   537.9061        396.750845      3585.2088090
+25     250     2500    25000   2500000 2035-01-01T00:00        2010-01-25      
w       drpjerrdlel     662.1232        202.007097      6982.7960600
+26     260     2600    26000   2600000 2036-01-01T00:00        2010-01-26      
v       vmzutsaifmlimicshgjpsvhiowjnq   115.1456        64.115478       
3046.8392030
+27     270     2700    27000   2700000 2037-01-01T00:00        2010-01-27      
d       yrxspxgcwgbnjnmqkcido   362.2272        519.383701      9921.1350450
+28     280     2800    28000   2800000 2038-01-01T00:00        2010-01-28      
w       udfzebgnnxfjnoujtvlib   443.03085       998.4716        4633.2586980
+29     290     2900    29000   2900000 2039-01-01T00:00        2010-01-29      
p       jfgvke  8.602754        248.265099      5465.0103450
+30     300     3000    30000   3000000 2040-01-01T00:00        2010-01-30      
d       tbuvpobzluhbwkljlhwnrkrhowybk   949.5756        976.26649       
2579.6686360
+
+-- !sql7 --
+3      30      300     3000    300000  2013-01-01T00:00        2010-01-03      
t       uoclasp 377.7932        577.044148      4605.2532050
+4      40      400     4000    400000  2014-01-01T00:00        2010-01-04      
n       iswngzeodfhptjzgswsddt  871.35455       919.067864      7291.7037240
+9      90      900     9000    900000  2019-01-01T00:00        2010-01-09      
b       nbarqjwilbkelk  92.7024 535.28551       4846.7355930
+10     100     1000    10000   1000000 2020-01-01T00:00        2010-01-10      
s       zucprgdnlgzzfl  26.874739       155.861217      7996.4346860
+11     110     1100    11000   1100000 2021-01-01T00:00        2010-01-11      
j       zabbwiimqemk    369.81912       558.999245      3821.2787050
+12     120     1200    12000   1200000 2022-01-01T00:00        2010-01-12      
d       elvkhacywhdzrazcvyunkjajnx      536.04504       181.877653      
9334.3009730
+13     130     1300    13000   1300000 2023-01-01T00:00        2010-01-13      
x       cylgmxlmkkrkk   990.83685       909.667873      9103.8044060
+14     140     1400    14000   1400000 2024-01-01T00:00        2010-01-14      
s       vpzwml  763.6152        295.541079      9823.0624960
+15     150     1500    15000   1500000 2025-01-01T00:00        2010-01-15      
f       yvvstxajxtgrimmrveljjbwo        380.41992       391.329557      
5859.2419740
+16     160     1600    16000   1600000 2026-01-01T00:00        2010-01-16      
b       yxtowesbeqyejvpfhkixpdw 312.93396       328.666079      9430.1380130
+17     170     1700    17000   1700000 2027-01-01T00:00        2010-01-17      
d       nrrzcgygjplgttf 472.84436       799.528036      3135.2928420
+18     180     1800    18000   1800000 2028-01-01T00:00        2010-01-18      
e       wfknyaxplas     971.54944       844.025534      9855.8137110
+19     190     1900    19000   1900000 2029-01-01T00:00        2010-01-19      
f       qtznw   37.56896        502.584396      3086.5738740
+20     200     2000    20000   2000000 2030-01-01T00:00        2010-01-20      
i       nwznneizhtmzemy 632.5122        972.561324      2698.8636380
+21     210     2100    21000   2100000 2031-01-01T00:00        2010-01-21      
q       sqqeanrmafdoheeizljifwsj        942.88873       933.754744      
5185.3730390
+22     220     2200    22000   2200000 2032-01-01T00:00        2010-01-22      
h       tirlgqmwrchusfyxitxttvxlioknz   654.95593       69.032071       
6221.3482910
+23     230     2300    23000   2300000 2033-01-01T00:00        2010-01-23      
s       imnrusvqy       468.78033       24.626005       7481.5746570
+24     240     2400    24000   2400000 2034-01-01T00:00        2010-01-24      
s       irpbe   537.9061        396.750845      3585.2088090
+25     250     2500    25000   2500000 2035-01-01T00:00        2010-01-25      
w       drpjerrdlel     662.1232        202.007097      6982.7960600
+26     260     2600    26000   2600000 2036-01-01T00:00        2010-01-26      
v       vmzutsaifmlimicshgjpsvhiowjnq   115.1456        64.115478       
3046.8392030
+27     270     2700    27000   2700000 2037-01-01T00:00        2010-01-27      
d       yrxspxgcwgbnjnmqkcido   362.2272        519.383701      9921.1350450
+28     280     2800    28000   2800000 2038-01-01T00:00        2010-01-28      
w       udfzebgnnxfjnoujtvlib   443.03085       998.4716        4633.2586980
+29     290     2900    29000   2900000 2039-01-01T00:00        2010-01-29      
p       jfgvke  8.602754        248.265099      5465.0103450
+30     300     3000    30000   3000000 2040-01-01T00:00        2010-01-30      
d       tbuvpobzluhbwkljlhwnrkrhowybk   949.5756        976.26649       
2579.6686360
+
+-- !sql8 --
+3      30      300     3000    300000  2013-01-01T00:00        2010-01-03      
t       uoclasp 377.7932        577.044148      4605.2532050
+4      40      400     4000    400000  2014-01-01T00:00        2010-01-04      
n       iswngzeodfhptjzgswsddt  871.35455       919.067864      7291.7037240
+9      90      900     9000    900000  2019-01-01T00:00        2010-01-09      
b       nbarqjwilbkelk  92.7024 535.28551       4846.7355930
+10     100     1000    10000   1000000 2020-01-01T00:00        2010-01-10      
s       zucprgdnlgzzfl  26.874739       155.861217      7996.4346860
+11     110     1100    11000   1100000 2021-01-01T00:00        2010-01-11      
j       zabbwiimqemk    369.81912       558.999245      3821.2787050
+12     120     1200    12000   1200000 2022-01-01T00:00        2010-01-12      
d       elvkhacywhdzrazcvyunkjajnx      536.04504       181.877653      
9334.3009730
+13     130     1300    13000   1300000 2023-01-01T00:00        2010-01-13      
x       cylgmxlmkkrkk   990.83685       909.667873      9103.8044060
+14     140     1400    14000   1400000 2024-01-01T00:00        2010-01-14      
s       vpzwml  763.6152        295.541079      9823.0624960
+15     150     1500    15000   1500000 2025-01-01T00:00        2010-01-15      
f       yvvstxajxtgrimmrveljjbwo        380.41992       391.329557      
5859.2419740
+16     160     1600    16000   1600000 2026-01-01T00:00        2010-01-16      
b       yxtowesbeqyejvpfhkixpdw 312.93396       328.666079      9430.1380130
+17     170     1700    17000   1700000 2027-01-01T00:00        2010-01-17      
d       nrrzcgygjplgttf 472.84436       799.528036      3135.2928420
+18     180     1800    18000   1800000 2028-01-01T00:00        2010-01-18      
e       wfknyaxplas     971.54944       844.025534      9855.8137110
+19     190     1900    19000   1900000 2029-01-01T00:00        2010-01-19      
f       qtznw   37.56896        502.584396      3086.5738740
+20     200     2000    20000   2000000 2030-01-01T00:00        2010-01-20      
i       nwznneizhtmzemy 632.5122        972.561324      2698.8636380
+21     210     2100    21000   2100000 2031-01-01T00:00        2010-01-21      
q       sqqeanrmafdoheeizljifwsj        942.88873       933.754744      
5185.3730390
+23     230     2300    23000   2300000 2033-01-01T00:00        2010-01-23      
s       imnrusvqy       468.78033       24.626005       7481.5746570
+24     240     2400    24000   2400000 2034-01-01T00:00        2010-01-24      
s       irpbe   537.9061        396.750845      3585.2088090
+25     250     2500    25000   2500000 2035-01-01T00:00        2010-01-25      
w       drpjerrdlel     662.1232        202.007097      6982.7960600
+26     260     2600    26000   2600000 2036-01-01T00:00        2010-01-26      
v       vmzutsaifmlimicshgjpsvhiowjnq   115.1456        64.115478       
3046.8392030
+27     270     2700    27000   2700000 2037-01-01T00:00        2010-01-27      
d       yrxspxgcwgbnjnmqkcido   362.2272        519.383701      9921.1350450
+28     280     2800    28000   2800000 2038-01-01T00:00        2010-01-28      
w       udfzebgnnxfjnoujtvlib   443.03085       998.4716        4633.2586980
+29     290     2900    29000   2900000 2039-01-01T00:00        2010-01-29      
p       jfgvke  8.602754        248.265099      5465.0103450
+30     300     3000    30000   3000000 2040-01-01T00:00        2010-01-30      
d       tbuvpobzluhbwkljlhwnrkrhowybk   949.5756        976.26649       
2579.6686360
+
+-- !sql9 --
+3      30      300     3000    300000  2013-01-01T00:00        2010-01-03      
t       uoclasp 377.7932        577.044148      4605.2532050
+4      40      400     4000    400000  2014-01-01T00:00        2010-01-04      
n       iswngzeodfhptjzgswsddt  871.35455       919.067864      7291.7037240
+9      90      900     9000    900000  2019-01-01T00:00        2010-01-09      
b       nbarqjwilbkelk  92.7024 535.28551       4846.7355930
+10     100     1000    10000   1000000 2020-01-01T00:00        2010-01-10      
s       zucprgdnlgzzfl  26.874739       155.861217      7996.4346860
+11     110     1100    11000   1100000 2021-01-01T00:00        2010-01-11      
j       zabbwiimqemk    369.81912       558.999245      3821.2787050
+12     120     1200    12000   1200000 2022-01-01T00:00        2010-01-12      
d       elvkhacywhdzrazcvyunkjajnx      536.04504       181.877653      
9334.3009730
+13     130     1300    13000   1300000 2023-01-01T00:00        2010-01-13      
x       cylgmxlmkkrkk   990.83685       909.667873      9103.8044060
+14     140     1400    14000   1400000 2024-01-01T00:00        2010-01-14      
s       vpzwml  763.6152        295.541079      9823.0624960
+15     150     1500    15000   1500000 2025-01-01T00:00        2010-01-15      
f       yvvstxajxtgrimmrveljjbwo        380.41992       391.329557      
5859.2419740
+16     160     1600    16000   1600000 2026-01-01T00:00        2010-01-16      
b       yxtowesbeqyejvpfhkixpdw 312.93396       328.666079      9430.1380130
+17     170     1700    17000   1700000 2027-01-01T00:00        2010-01-17      
d       nrrzcgygjplgttf 472.84436       799.528036      3135.2928420
+18     180     1800    18000   1800000 2028-01-01T00:00        2010-01-18      
e       wfknyaxplas     971.54944       844.025534      9855.8137110
+19     190     1900    19000   1900000 2029-01-01T00:00        2010-01-19      
f       qtznw   37.56896        502.584396      3086.5738740
+20     200     2000    20000   2000000 2030-01-01T00:00        2010-01-20      
i       nwznneizhtmzemy 632.5122        972.561324      2698.8636380
+21     210     2100    21000   2100000 2031-01-01T00:00        2010-01-21      
q       sqqeanrmafdoheeizljifwsj        942.88873       933.754744      
5185.3730390
+23     230     2300    23000   2300000 2033-01-01T00:00        2010-01-23      
s       imnrusvqy       468.78033       24.626005       7481.5746570
+24     240     2400    24000   2400000 2034-01-01T00:00        2010-01-24      
s       irpbe   537.9061        396.750845      3585.2088090
+25     250     2500    25000   2500000 2035-01-01T00:00        2010-01-25      
w       drpjerrdlel     662.1232        202.007097      6982.7960600
+26     260     2600    26000   2600000 2036-01-01T00:00        2010-01-26      
v       vmzutsaifmlimicshgjpsvhiowjnq   115.1456        64.115478       
3046.8392030
+27     270     2700    27000   2700000 2037-01-01T00:00        2010-01-27      
d       yrxspxgcwgbnjnmqkcido   362.2272        519.383701      9921.1350450
+
diff --git 
a/regression-test/suites/partition_p0/multi_partition/test_range_partition.groovy
 
b/regression-test/suites/partition_p0/multi_partition/test_range_partition.groovy
new file mode 100644
index 0000000000..02f5f1b55b
--- /dev/null
+++ 
b/regression-test/suites/partition_p0/multi_partition/test_range_partition.groovy
@@ -0,0 +1,297 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+suite("test_range_partition", "p0") {
+    def random = new Random()
+
+    def createTable = { String tableName, String partitionInfo, String 
distributionInfo ->
+        sql """DROP TABLE IF EXISTS ${tableName}"""
+        sql """
+        CREATE TABLE IF NOT EXISTS ${tableName} ( 
+            k1 TINYINT NOT NULL, 
+            k2 SMALLINT NOT NULL, 
+            k3 INT NOT NULL, 
+            k4 BIGINT NOT NULL, 
+            k5 LARGEINT NOT NULL,
+            k6 DATETIME NOT NULL, 
+            v1 DATE NOT NULL, 
+            v2 CHAR NOT NULL, 
+            v3 VARCHAR(4096) NOT NULL, 
+            v4 FLOAT NOT NULL, 
+            v5 DOUBLE NOT NULL, 
+            v6 DECIMAL(20,7) NOT NULL ) 
+            DUPLICATE KEY(k1, k2, k3, k4, k5, k6)
+            ${partitionInfo}
+            ${distributionInfo}
+            PROPERTIES("replication_allocation" = "tag.location.default: 1")
+        """
+    }
+    // when partition key is tinyint column, with different distribution type
+    def testTinyintPartition = {
+        def tinyIntPartition = """
+        PARTITION BY RANGE(k1) (
+            PARTITION partition_a VALUES LESS THAN ("-127"), 
+            PARTITION partition_b VALUES LESS THAN ("-1"), 
+            PARTITION partition_c VALUES LESS THAN ("0"), 
+            PARTITION partition_d VALUES LESS THAN ("1"), 
+            PARTITION partition_e VALUES LESS THAN ("126"), 
+            PARTITION partition_f VALUES LESS THAN ("127") 
+        )
+        """
+        def distributions = [
+                "DISTRIBUTED BY RANDOM BUCKETS ${random.nextInt(300) + 1}",
+                "DISTRIBUTED BY HASH(k1) BUCKETS ${random.nextInt(300) + 1}",
+                "DISTRIBUTED BY HASH(k2) BUCKETS ${random.nextInt(300) + 1}",
+                "DISTRIBUTED BY HASH(k3, k4, k5) BUCKETS ${random.nextInt(300) 
+ 1}",
+                "DISTRIBUTED BY HASH(k2, k3, k4, k5) BUCKETS 
${random.nextInt(300) + 1}",
+                "DISTRIBUTED BY HASH(k1, k2, k3, k4, k5) BUCKETS 
${random.nextInt(300) + 1}"
+        ]
+        def idx = 0
+        for (String distributionInfo in distributions) {
+            createTable("tinyint_partition_tb_${idx}", tinyIntPartition, 
distributionInfo)
+            streamLoad {
+                table "tinyint_partition_tb_${idx}"
+                set "column_separator", ","
+                file "partition_table.csv"
+            }
+            test {
+                sql "select * from tinyint_partition_tb_${idx} order by k1, k2"
+                resultFile "partition_table.out"
+            }
+            def result = sql "SHOW PARTITIONS FROM tinyint_partition_tb_${idx}"
+            assertTrue(result.size() == 6)
+            try_sql """DROP TABLE tinyint_partition_tb_${idx}"""
+            idx += 1
+        }
+    }
+
+    // tinyint
+    testTinyintPartition()
+
+    // create table -> stream load -> check -> drop table
+    def testPartitionTbl = { String tableName, String partitionInfo, String 
distributInfo ->
+        createTable(tableName, partitionInfo, distributInfo)
+        streamLoad {
+            table tableName
+            set "column_separator", ","
+            file "partition_table.csv"
+        }
+        test {
+            sql "select * from ${tableName} order by k1, k2"
+            resultFile "partition_table.out"
+        }
+        def result = sql "SHOW PARTITIONS FROM ${tableName}"
+        assertTrue(result.size() > 1)
+        try_sql """DROP TABLE ${tableName}"""
+    }
+
+    // smallint partition key, random distribute
+    testPartitionTbl(
+            "test_smallint_partition_random",
+            """
+            PARTITION BY RANGE(k2) 
+            ( PARTITION partition_a VALUES LESS THAN ("10"), 
+              PARTITION partition_b VALUES LESS THAN ("20"), 
+              PARTITION partition_c VALUES LESS THAN ("30"), 
+              PARTITION partition_d VALUES LESS THAN MAXVALUE) 
+            """,
+            "DISTRIBUTED BY RANDOM BUCKETS 13"
+    )
+    // smallint partition key, hash distribute
+    testPartitionTbl(
+            "test_smallint_partition_hash",
+            """
+            PARTITION BY RANGE(k2) 
+            ( PARTITION partition_a VALUES LESS THAN ("-32767"), 
+              PARTITION partition_b VALUES LESS THAN ("-32766"), 
+              PARTITION partition_c VALUES LESS THAN ("0"), 
+              PARTITION partition_d VALUES LESS THAN ("1"), 
+              PARTITION partition_e VALUES LESS THAN ("32766"), 
+              PARTITION partition_f VALUES LESS THAN ("32767")) 
+            """,
+            "DISTRIBUTED BY hash(k2) BUCKETS 13"
+    )
+    // int partition key, random distribute
+    testPartitionTbl(
+            "test_int_partition_random",
+            """
+            PARTITION BY RANGE(k3) 
+            ( PARTITION partition_a VALUES LESS THAN ("-2147483647"), 
+              PARTITION partition_b VALUES LESS THAN ("-2147483646"), 
+              PARTITION partition_c VALUES LESS THAN ("0"), 
+              PARTITION partition_d VALUES LESS THAN ("1"), 
+              PARTITION partition_e VALUES LESS THAN ("2147483646"), 
+              PARTITION partition_f VALUES LESS THAN ("2147483647"))
+            """,
+            "DISTRIBUTED BY RANDOM BUCKETS 13"
+    )
+    // int partition key, hash distribute
+    testPartitionTbl(
+            "test_int_partition_hash",
+            """
+            PARTITION BY RANGE(k3) 
+            ( PARTITION partition_a VALUES LESS THAN ("100"), 
+              PARTITION partition_b VALUES LESS THAN ("200"), 
+              PARTITION partition_c VALUES LESS THAN ("300"), 
+              PARTITION partition_d VALUES LESS THAN MAXVALUE) 
+            """,
+            "DISTRIBUTED BY hash(k3) BUCKETS 13"
+    )
+    // bigint partition key, random distribute
+    testPartitionTbl(
+            "test_bigint_partition_random",
+            """
+            PARTITION BY RANGE(k4) 
+            ( PARTITION partition_a VALUES LESS THAN ("1000"), 
+              PARTITION partition_b VALUES LESS THAN ("2000"), 
+              PARTITION partition_c VALUES LESS THAN ("3000"), 
+              PARTITION partition_d VALUES LESS THAN MAXVALUE)
+            """,
+            "DISTRIBUTED BY RANDOM BUCKETS 13"
+    )
+    // bigint partition key, hash distribute
+    testPartitionTbl(
+            "test_bigint_partition_hash",
+            """
+            PARTITION BY RANGE(k4) 
+            ( PARTITION partition_a VALUES LESS THAN ("-9223372036854775807"), 
+              PARTITION partition_b VALUES LESS THAN ("-9223372036854775806"), 
+              PARTITION partition_c VALUES LESS THAN ("0"), 
+              PARTITION partition_d VALUES LESS THAN ("1"), 
+              PARTITION partition_e VALUES LESS THAN ("9223372036854775806"), 
+              PARTITION partition_f VALUES LESS THAN ("9223372036854775807")) 
+            """,
+            "DISTRIBUTED BY hash(k4) BUCKETS 13"
+    )
+    // largetint partition key, random distribute
+    testPartitionTbl(
+            "test_largeint_partition_random",
+            """
+            PARTITION BY RANGE(k5) 
+            ( PARTITION partition_a VALUES LESS THAN ("1000"), 
+              PARTITION partition_b VALUES LESS THAN ("2000"), 
+              PARTITION partition_c VALUES LESS THAN ("3000"), 
+              PARTITION partition_d VALUES LESS THAN MAXVALUE)
+            """,
+            "DISTRIBUTED BY RANDOM BUCKETS 13"
+    )
+    // largetint partition key, hash distribute
+    testPartitionTbl(
+            "test_largeint_partition_hash",
+            """
+            PARTITION BY RANGE(k5) 
+            ( PARTITION partition_a VALUES LESS THAN 
("-170141183460469231731687303715884105727"), 
+              PARTITION partition_b VALUES LESS THAN 
("-170141183460469231731687303715884105726"), 
+              PARTITION partition_c VALUES LESS THAN ("0"), 
+              PARTITION partition_d VALUES LESS THAN ("1"), 
+              PARTITION partition_e VALUES LESS THAN 
("170141183460469231731687303715884105726"), 
+              PARTITION partition_f VALUES LESS THAN 
("170141183460469231731687303715884105727")) 
+            """,
+            "DISTRIBUTED BY hash(k5) BUCKETS 13"
+    )
+    // don't support decimal as partition key
+    test {
+        sql """
+            CREATE TABLE test_decimal_err (k1 decimal(9, 3), v1 int) DUPLICATE 
KEY(k1) 
+            PARTITION BY RANGE(k1) 
+            ( PARTITION partition_a VALUES LESS THAN ("100"), 
+              PARTITION partition_b VALUES LESS THAN ("200"), 
+              PARTITION partition_c VALUES LESS THAN ("300"))
+            DISTRIBUTED BY hash(k1) BUCKETS 13
+            """
+        exception "Column[k1] type[DECIMAL32] cannot be a range partition key"
+    }
+    // don't support boolean as partition key
+    test {
+        sql """
+            CREATE TABLE test_boolean_err (k1 boolean, v1 int) DUPLICATE 
KEY(k1) 
+            PARTITION BY RANGE(k1) 
+            ( PARTITION partition_a VALUES LESS THAN ("1"))
+            DISTRIBUTED BY hash(k1) BUCKETS 13
+            """
+        exception "Column[k1] type[BOOLEAN] cannot be a range partition key"
+    }
+    // datetime partition key, random distribute
+    testPartitionTbl(
+            "test_datetime_partition_random",
+            """
+            PARTITION BY RANGE(k6) 
+            ( PARTITION partition_a VALUES LESS THAN ("2017-01-01 00:00:00"), 
+              PARTITION partition_b VALUES LESS THAN ("2027-01-01 00:00:00"), 
+              PARTITION partition_c VALUES LESS THAN ("2039-01-01 00:00:00"), 
+              PARTITION partition_d VALUES LESS THAN MAXVALUE)
+            """,
+            "DISTRIBUTED BY RANDOM BUCKETS 13"
+    )
+    // datetime partition key, hash distribute
+    testPartitionTbl(
+            "test_datetime_partition_hash",
+            """
+            PARTITION BY RANGE(k6) 
+            ( PARTITION partition_a VALUES LESS THAN ("1900-01-01 00:00:00"), 
+            PARTITION partition_b VALUES LESS THAN ("2027-01-01 23:59:59"), 
+            PARTITION partition_c VALUES LESS THAN ("2039-01-01 00:00:00"), 
+            PARTITION partition_d VALUES LESS THAN MAXVALUE) 
+            """,
+            "DISTRIBUTED BY hash(k6) BUCKETS 13"
+    )
+    // don't support char as partition key
+    test {
+        sql """
+            CREATE TABLE test_char_err (k1 char(5), v1 int) DUPLICATE KEY(k1) 
+            PARTITION BY RANGE(k1) 
+            ( PARTITION partition_a VALUES LESS THAN ("12345"))
+            DISTRIBUTED BY hash(k1) BUCKETS 13
+            """
+        exception "Column[k1] type[CHAR] cannot be a range partition key"
+    }
+    // don't support varchar as partition key
+    test {
+        sql """
+            CREATE TABLE test_varchar_err (k1 varchar(5), v1 int) DUPLICATE 
KEY(k1) 
+            PARTITION BY RANGE(k1) 
+            ( PARTITION partition_a VALUES LESS THAN ("12345"))
+            DISTRIBUTED BY hash(k1) BUCKETS 13
+            """
+        exception "Column[k1] type[VARCHAR] cannot be a range partition key"
+    }
+    // date value column as partition key, hash distribute
+    testPartitionTbl(
+            "test_date_value_partition_hash",
+            """
+            PARTITION BY RANGE(v1) 
+            ( PARTITION partition_a VALUES LESS THAN ("2010-01-10"), 
+              PARTITION partition_b VALUES LESS THAN ("2010-01-20"), 
+              PARTITION partition_c VALUES LESS THAN ("2010-01-31"), 
+              PARTITION partition_d VALUES LESS THAN ("2010-12-31"))
+            """,
+            "DISTRIBUTED BY hash(k1) BUCKETS 13"
+    )
+    // date value column as partition key, random distribute
+    testPartitionTbl(
+            "test_date_value_partition_random",
+            """
+            PARTITION BY RANGE(v1) 
+            ( PARTITION partition_a VALUES LESS THAN ("2010-01-10"), 
+              PARTITION partition_b VALUES LESS THAN ("2010-01-20"), 
+              PARTITION partition_c VALUES LESS THAN ("2010-01-31"), 
+              PARTITION partition_d VALUES LESS THAN ("2010-12-31"))
+            """,
+            "DISTRIBUTED BY RANDOM BUCKETS 13"
+    )
+
+}
diff --git 
a/regression-test/suites/partition_p0/test_partition_operation.groovy 
b/regression-test/suites/partition_p0/test_partition_operation.groovy
new file mode 100644
index 0000000000..eae7f5fa38
--- /dev/null
+++ b/regression-test/suites/partition_p0/test_partition_operation.groovy
@@ -0,0 +1,284 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+suite("test_partition_operation", "p1") {
+    def random = new Random()
+    // create table -> load -> check load data
+    def createTableAndLoad = { String tableName, String partitionInfo, String 
distributionInfo ->
+        sql """DROP TABLE IF EXISTS ${tableName}"""
+        sql """
+            CREATE TABLE IF NOT EXISTS ${tableName} ( 
+              k1 TINYINT NOT NULL, 
+              k2 SMALLINT NOT NULL, 
+              k3 INT NOT NULL, 
+              k4 BIGINT NOT NULL, 
+              k5 LARGEINT NOT NULL,
+              k6 DATETIME NOT NULL, 
+              v1 DATE REPLACE NOT NULL, 
+              v2 CHAR REPLACE NOT NULL, 
+              v3 VARCHAR(4096) REPLACE NOT NULL, 
+              v4 FLOAT SUM NOT NULL, 
+              v5 DOUBLE SUM NOT NULL, 
+              v6 DECIMAL(20,7) SUM NOT NULL ) 
+            AGGREGATE KEY(k1,k2,k3,k4,k5,k6) 
+            ${partitionInfo} 
+            ${distributionInfo}
+            PROPERTIES("replication_allocation" = "tag.location.default: 1")
+        """
+        streamLoad {
+            table tableName
+            set "column_separator", ","
+            file "./multi_partition/partition_table.csv"
+        }
+        test {
+            sql "select * from ${tableName} order by k1, k2"
+            resultFile "./multi_partition/partition_table.out"
+        }
+
+    }
+    def checkTablePartitionExists = { String tableName, String partitionName ->
+        def result = sql "SHOW PARTITIONS FROM ${tableName} WHERE 
PartitionName = '${partitionName}'"
+        assertTrue(result.size() == 1)
+    }
+    def  checkTablePartitionNotExists = { String tableName, String 
partitionName ->
+        def result = sql "SHOW PARTITIONS FROM ${tableName} WHERE 
PartitionName = '${partitionName}'"
+        assertTrue(result.size() == 0)
+    }
+    // add partition, insert, check
+    createTableAndLoad(
+            "test_add_partition_1",
+            """
+            PARTITION BY RANGE(k3) ( 
+              PARTITION partition_a VALUES LESS THAN ("50"), 
+              PARTITION partition_b VALUES LESS THAN ("200"), 
+              PARTITION partition_c VALUES LESS THAN ("1000"), 
+              PARTITION partition_d VALUES LESS THAN ("65535000") ) """,
+            "DISTRIBUTED BY HASH(k1) BUCKETS 13"
+    )
+    sql """
+        ALTER TABLE test_add_partition_1 ADD PARTITION add_1 VALUES LESS THAN 
("65536000")
+    """
+    checkTablePartitionExists("test_add_partition_1", "add_1")
+    sql "insert into test_add_partition_1 values (50, 500, 5000, 65535990, 
5000000, '2060-01-01 00:00:00', " +
+            "'2010-02-28', '=', 'asdfg', 50.555, 505.55522, 545.005)"
+    qt_sql1 "select * from test_add_partition_1 order by k1"
+
+    // add partition value overlap
+    test {
+        sql """
+            ALTER TABLE test_add_partition_1 ADD PARTITION add_1_err VALUES 
LESS THAN ("100")
+        """
+        exception "is intersected with range"
+    }
+    test {
+        sql """
+            ALTER TABLE test_add_partition_1 ADD PARTITION add_1_err VALUES 
LESS THAN ("50")
+        """
+        exception "is intersected with range"
+    }
+    // add partition with different bucket num, become bigger,smaller ok
+    sql """ALTER TABLE test_add_partition_1 ADD PARTITION add_2 VALUES LESS 
THAN ("65537000") 
+            DISTRIBUTED BY HASH(k1) BUCKETS 20"""
+    checkTablePartitionExists("test_add_partition_1", "add_2")
+    sql "insert into test_add_partition_1 values(60, 600, 6000, 65536990, 
6000000, '2070-01-01 00:00:00', " +
+            "'2010-03-01', '-', 'qwert', 60.555, 605.55522, 645.005)"
+    qt_sql2 "select * from test_add_partition_1 order by k1"
+    sql """ALTER TABLE test_add_partition_1 ADD PARTITION add_3 VALUES LESS 
THAN ("65538000") 
+            DISTRIBUTED BY HASH(k1) BUCKETS 37"""
+    checkTablePartitionExists("test_add_partition_1", "add_3")
+    sql "insert into test_add_partition_1 values(70, 700, 7000, 65537990, 
7000000, '2080-01-01 00:00:00', " +
+            "'2010-03-02', '+', 'zxcvb', 70.555, 705.55522, 745.005)"
+    qt_sql3 "select * from test_add_partition_1 order by k1"
+    sql """ALTER TABLE test_add_partition_1 ADD PARTITION add_4 VALUES LESS 
THAN ("65540000") 
+            DISTRIBUTED BY HASH(k1) BUCKETS 7"""
+    checkTablePartitionExists("test_add_partition_1", "add_4")
+    sql "insert into test_add_partition_1 values(80, 800, 8000, 65539990, 
8000000, '2090-01-01 00:00:00', " +
+            "'2010-03-03', '>', 'uiopy', 80.555, 805.55522, 845.005)"
+    qt_sql4 "select * from test_add_partition_1 order by k1"
+    // add partition with 0 bucket
+    test {
+        sql """ALTER TABLE test_add_partition_1 ADD PARTITION add_0_err VALUES 
LESS THAN ("2147483647") 
+                DISTRIBUTED BY HASH(k1) BUCKETS 0"""
+        exception "Cannot assign hash distribution buckets less than 1"
+    }
+
+    // add partition with different distribution key
+    // todo err msg need be fixed
+    // ERROR 1105 (HY000): errCode = 2, detailMessage = Cannot assign hash 
distribution with different distribution cols.
+    // new is: [`k1` tinyint(4) NOT NULL, `k2` smallint(6) NOT NULL] default 
is: [`k1` tinyint(4) NOT NULL, `k2` smallint(6) NOT NULL]
+    test {
+        sql """ALTER TABLE test_add_partition_1 ADD PARTITION add_2_err VALUES 
LESS THAN ("2147483647") 
+                DISTRIBUTED BY HASH(k1, k2) BUCKETS 13"""
+        exception "Cannot assign hash distribution with different distribution 
cols"
+    }
+    // add partition with different ditribution type: hash -> random
+    test {
+        sql """ALTER TABLE test_add_partition_1 ADD PARTITION add_2_err VALUES 
LESS THAN ("2147483647") 
+                DISTRIBUTED BY RANDOM BUCKETS 13"""
+        exception "Cannot assign different distribution type. default is: HASH"
+    }
+
+    // test drop partitions
+    createTableAndLoad(
+            "test_drop_partition_1",
+            """
+                PARTITION BY RANGE(k3) ( 
+                  PARTITION partition_a VALUES LESS THAN ("50"), 
+                  PARTITION partition_b VALUES LESS THAN ("200"), 
+                  PARTITION partition_c VALUES LESS THAN ("1000"), 
+                  PARTITION partition_d VALUES LESS THAN ("65535000") )""",
+            "DISTRIBUTED BY HASH(k1) BUCKETS 13"
+    )
+    // drop a not exists partition
+    test {
+        sql """ALTER TABLE test_drop_partition_1 DROP PARTITION 
not_exists_partition"""
+        exception "Error in list of partitions to not_exists_partition"
+    }
+    // drop all exists partition
+    sql """ALTER TABLE test_drop_partition_1 DROP PARTITION partition_a"""
+    checkTablePartitionNotExists("test_drop_partition_1", "partition_a")
+    sql """ALTER TABLE test_drop_partition_1 DROP PARTITION partition_b"""
+    checkTablePartitionNotExists("test_drop_partition_1", "partition_b")
+    sql """ALTER TABLE test_drop_partition_1 DROP PARTITION partition_c"""
+    checkTablePartitionNotExists("test_drop_partition_1", "partition_c")
+    sql """ALTER TABLE test_drop_partition_1 DROP PARTITION partition_d"""
+    checkTablePartitionNotExists("test_drop_partition_1", "partition_d")
+    qt_sql5 "select * from test_drop_partition_1 order by k1, k2"
+    // after drop all partition, add a partiion
+    sql """ALTER TABLE test_drop_partition_1 ADD PARTITION add_1 VALUES LESS 
THAN ("0")"""
+    checkTablePartitionExists("test_drop_partition_1", "add_1")
+
+    createTableAndLoad(
+            "test_drop_partition_2",
+            """
+              PARTITION BY RANGE(k3) ( 
+              PARTITION partition_a VALUES LESS THAN ("300"), 
+              PARTITION partition_b VALUES LESS THAN ("500"), 
+              PARTITION partition_c VALUES LESS THAN ("900"), 
+              PARTITION partition_d VALUES LESS THAN ("2200"), 
+              PARTITION partition_e VALUES LESS THAN ("2300"), 
+              PARTITION partition_f VALUES LESS THAN ("2800"), 
+              PARTITION partition_g VALUES LESS THAN ("4000") ) """,
+            "DISTRIBUTED BY HASH(k1) BUCKETS 13"
+    )
+    // drop partition times
+    sql """ALTER TABLE test_drop_partition_2 DROP PARTITION partition_a"""
+    checkTablePartitionNotExists("test_drop_partition_2", "partition_a")
+    qt_sql6 "select * from test_drop_partition_2 order by k1"
+    sql """ALTER TABLE test_drop_partition_2 ADD PARTITION add_1 VALUES LESS 
THAN ("5000")"""
+    checkTablePartitionExists("test_drop_partition_2", "add_1")
+    sql """ALTER TABLE test_drop_partition_2 ADD PARTITION add_2 VALUES LESS 
THAN ("6000")"""
+    checkTablePartitionExists("test_drop_partition_2", "add_2")
+
+    sql """ALTER TABLE test_drop_partition_2 DROP PARTITION partition_c"""
+    checkTablePartitionNotExists("test_drop_partition_2", "partition_c")
+    qt_sql7 "select * from test_drop_partition_2 order by k1"
+    sql """ALTER TABLE test_drop_partition_2 DROP PARTITION partition_e"""
+    checkTablePartitionNotExists("test_drop_partition_2", "partition_e")
+    qt_sql8 "select * from test_drop_partition_2 order by k1"
+    sql """ALTER TABLE test_drop_partition_2 ADD PARTITION add_3 VALUES LESS 
THAN MAXVALUE"""
+    checkTablePartitionExists("test_drop_partition_2", "add_3")
+
+    sql """ALTER TABLE test_drop_partition_2 DROP PARTITION partition_g"""
+    checkTablePartitionNotExists("test_drop_partition_2", "partition_g")
+    qt_sql9 "select * from test_drop_partition_2 order by k1"
+
+    // drop partition, add partition, times
+    createTableAndLoad(
+            "test_add_drop_partition_times",
+            """
+                PARTITION BY RANGE(k3)( 
+                  PARTITION partition_a VALUES LESS THAN ("300"), 
+                  PARTITION partition_b VALUES LESS THAN ("500"), 
+                  PARTITION partition_c VALUES LESS THAN ("900"), 
+                  PARTITION partition_d VALUES LESS THAN ("2200"), 
+                  PARTITION partition_e VALUES LESS THAN ("2300"), 
+                  PARTITION partition_f VALUES LESS THAN ("3800"), 
+                  PARTITION partition_g VALUES LESS THAN ("4000") )""",
+            "DISTRIBUTED BY HASH(k1) BUCKETS 13"
+    )
+    for (int repeat_times = 0; repeat_times < 10; repeat_times++) {
+        sql "ALTER TABLE test_add_drop_partition_times DROP PARTITION 
partition_g"
+        checkTablePartitionNotExists("test_add_drop_partition_times", 
"partition_g")
+        sql "ALTER TABLE test_add_drop_partition_times ADD PARTITION 
partition_g VALUES LESS THAN ('4000') " +
+                "DISTRIBUTED BY HASH(k1) BUCKETS ${random.nextInt(300) + 1}"
+        checkTablePartitionExists("test_add_drop_partition_times", 
"partition_g")
+    }
+    test {
+        sql "select * from test_add_drop_partition_times order by k1, k2"
+        resultFile "./multi_partition/partition_table.out"
+    }
+
+    // add multi partitions and drop
+    createTableAndLoad(
+            "test_add_drop_partition_times_1",
+            """
+                PARTITION BY RANGE(k3)( 
+                  PARTITION partition_a VALUES LESS THAN ("300"), 
+                  PARTITION partition_b VALUES LESS THAN ("500"), 
+                  PARTITION partition_c VALUES LESS THAN ("900"), 
+                  PARTITION partition_d VALUES LESS THAN ("2200"), 
+                  PARTITION partition_e VALUES LESS THAN ("2300"), 
+                  PARTITION partition_f VALUES LESS THAN ("3800"), 
+                  PARTITION partition_g VALUES LESS THAN ("4000") )""",
+            "DISTRIBUTED BY HASH(k1) BUCKETS 13"
+    )
+    for (int repeat_times = 1; repeat_times < 30; repeat_times++) {
+        sql "ALTER TABLE test_add_drop_partition_times_1 ADD PARTITION 
partition_add_${repeat_times.toString()} " +
+                "VALUES LESS THAN ('${4000 + repeat_times * 10}') " +
+                "DISTRIBUTED BY HASH(k1) BUCKETS ${random.nextInt(300) + 1}"
+        checkTablePartitionExists("test_add_drop_partition_times_1", 
"partition_add_${repeat_times.toString()}")
+    }
+    for (int repeat_times = 1; repeat_times < 30; repeat_times++) {
+        sql "ALTER TABLE test_add_drop_partition_times_1 DROP PARTITION 
partition_add_${repeat_times.toString()}"
+        checkTablePartitionNotExists("test_add_drop_partition_times_1", 
"partition_add_${repeat_times.toString()}")
+    }
+    test {
+        sql "select * from test_add_drop_partition_times_1 order by k1, k2"
+        resultFile "./multi_partition/partition_table.out"
+    }
+
+
+    // add partition to non partition table
+    sql """
+        CREATE TABLE IF NOT EXISTS test_non_partition_tbl ( 
+          k1 TINYINT NOT NULL, 
+          k2 SMALLINT NOT NULL, 
+          k3 INT NOT NULL, 
+          k4 BIGINT NOT NULL, 
+          k5 DATETIME NOT NULL, 
+          v1 DATE REPLACE NOT NULL, 
+          v2 CHAR REPLACE NOT NULL, 
+          v3 VARCHAR(4096) REPLACE NOT NULL, 
+          v4 FLOAT SUM NOT NULL, 
+          v5 DOUBLE SUM NOT NULL, 
+          v6 DECIMAL(20,7) SUM NOT NULL ) 
+        AGGREGATE KEY(k1,k2,k3,k4,k5) DISTRIBUTED BY HASH(k1) BUCKETS 13 
+        PROPERTIES("replication_allocation" = "tag.location.default: 1")
+    """
+    test {
+        sql """ALTER TABLE test_non_partition_tbl ADD PARTITION add_1 VALUES 
LESS THAN ("2147483647") 
+                DISTRIBUTED BY HASH(k1, k2) BUCKETS 13"""
+        exception ""
+    }
+    try_sql "DROP TABLE IF EXISTS test_add_partition_1"
+    try_sql "DROP TABLE IF EXISTS test_drop_partition_1"
+    try_sql "DROP TABLE IF EXISTS test_drop_partition_2"
+    try_sql "DROP TABLE IF EXISTS test_add_drop_partition_times_1"
+    try_sql "DROP TABLE IF EXISTS test_add_drop_partition_times_2"
+    try_sql "DROP TABLE IF EXISTS test_non_partition_tbl"
+}
diff --git 
a/regression-test/suites/partition_p0/test_partition_table_err_msg.groovy 
b/regression-test/suites/partition_p0/test_partition_table_err_msg.groovy
new file mode 100644
index 0000000000..e9a2e7166a
--- /dev/null
+++ b/regression-test/suites/partition_p0/test_partition_table_err_msg.groovy
@@ -0,0 +1,174 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+suite("test_partition_table_err_msg", "p0") {
+    // create partition table errors
+    test {
+        sql """
+            CREATE TABLE err_tb1 ( 
+              k1 TINYINT NOT NULL, 
+              k2 SMALLINT NOT NULL, 
+              k3 INT NOT NULL, 
+              k4 BIGINT NOT NULL, 
+              k5 DATETIME NOT NULL, 
+              v1 DATE REPLACE NOT NULL) 
+              AGGREGATE KEY(k1,k2,k3,k4,k5) 
+            PARTITION BY RANGE(k5) ( 
+              PARTITION partition_a VALUES LESS THAN ("2017-01-01 00:00:00"), 
+              PARTITION partition_b VALUES LESS THAN ("2017-01-01 00:00:00"), 
+              PARTITION partition_c VALUES LESS THAN ("2039-01-01 00:00:00"), 
+              PARTITION partition_d VALUES LESS THAN MAXVALUE ) 
+            DISTRIBUTED BY HASH(k1) BUCKETS 13"""
+        exception "is intersected with range"
+    }
+    test {
+        sql """
+            CREATE TABLE err_tb2 ( 
+              k1 TINYINT NOT NULL, 
+              k2 SMALLINT NOT NULL, 
+              k3 INT NOT NULL, 
+              k4 BIGINT NOT NULL, 
+              k5 DATETIME NOT NULL, 
+              v1 DATE REPLACE NOT NULL ) 
+            AGGREGATE KEY(k1,k2,k3,k4,k5)
+            PARTITION BY RANGE(k5) ( 
+              PARTITION partition_a VALUES LESS THAN ("0000-01-01 00:00:00"), 
+              PARTITION partition_b VALUES LESS THAN ("2027-01-01 23:59:59"), 
+              PARTITION partition_c VALUES LESS THAN ("2039-01-01 00:00:00"), 
+              PARTITION partition_d VALUES LESS THAN MAXVALUE ) 
+            DISTRIBUTED BY HASH(k1) BUCKETS 13;
+        """
+        exception "Partition's upper value should not be MIN VALUE: 
('0000-01-01 00:00:00')"
+    }
+    // datetime overflow
+    test {
+        sql """
+            CREATE TABLE err_tb3 ( 
+              k1 TINYINT NOT NULL, 
+              k2 SMALLINT NOT NULL, 
+              k3 INT NOT NULL, 
+              k4 BIGINT NOT NULL, 
+              k5 DATETIME NOT NULL, 
+              v1 DATE REPLACE NOT NULL)
+            AGGREGATE KEY(k1,k2,k3,k4,k5) 
+            PARTITION BY RANGE(k5) ( 
+              PARTITION partition_a VALUES LESS THAN ("1899-12-31 23:59:59"), 
+              PARTITION partition_b VALUES LESS THAN ("2027-01-01 00:00:00"), 
+              PARTITION partition_c VALUES LESS THAN ("2039-01-01 00:00:00"), 
+              PARTITION partition_d VALUES LESS THAN ("10000-01-01 00:00:00") 
) 
+            DISTRIBUTED BY HASH(k1) BUCKETS 13
+        """
+        exception "Datetime value is out of range"
+    }
+    test {
+        sql """
+            CREATE TABLE err_tb4 ( 
+              k1 TINYINT NOT NULL, 
+              k2 SMALLINT NOT NULL, 
+              k3 INT NOT NULL, 
+              k4 BIGINT NOT NULL, 
+              k5 DATETIME NOT NULL, 
+              v1 DATE REPLACE NOT NULL)
+            AGGREGATE KEY(k1,k2,k3,k4,k5) 
+            PARTITION BY RANGE(k5) ( 
+              PARTITION partition_a VALUES LESS THAN ("1899-12-31 23:59:59"), 
+              PARTITION partition_b VALUES LESS THAN ("2027-01-01 00:00:00"), 
+              PARTITION partition_c VALUES LESS THAN ("2039-01-01 00:00:00"), 
+              PARTITION partition_d VALUES LESS THAN ("9999-12-31 24:00:00") ) 
+            DISTRIBUTED BY HASH(k1) BUCKETS 13
+        """
+        exception "date literal [9999-12-31 24:00:00] is invalid: Text 
'9999-12-31 24:00:00' could not be parsed: " +
+                "Invalid value for HourOfDay (valid values 0 - 23): 24"
+    }
+    test {
+        sql """
+            CREATE TABLE err_tb5 ( 
+              k1 TINYINT NOT NULL, 
+              k2 SMALLINT NOT NULL, 
+              k3 INT NOT NULL, 
+              k4 BIGINT NOT NULL, 
+              k5 DATETIME NOT NULL, 
+              v1 DATE REPLACE NOT NULL ) 
+            AGGREGATE KEY(k1,k2,k3,k4,k5) 
+            PARTITION BY RANGE(k4) ( 
+              PARTITION partition_a VALUES LESS THAN ("2000"), 
+              PARTITION partition_b VALUES LESS THAN ("1000"), 
+              PARTITION partition_c VALUES LESS THAN ("3000"), 
+              PARTITION partition_d VALUES LESS THAN MAXVALUE ) 
+            DISTRIBUTED BY HASH(k1) BUCKETS 13;
+        """
+        exception " is intersected with range"
+    }
+    test {
+        sql """
+            CREATE TABLE err_tb6 ( 
+              k1 TINYINT NOT NULL, 
+              k2 SMALLINT NOT NULL, 
+              k3 INT NOT NULL, 
+              k4 BIGINT NOT NULL, 
+              k5 DATETIME NOT NULL, 
+              v1 DATE REPLACE NOT NULL ) 
+            AGGREGATE KEY(k1,k2,k3,k4,k5) 
+            PARTITION BY RANGE(k1) ( 
+              PARTITION partition_a VALUES LESS THAN ("20"), 
+              PARTITION partition_b VALUES LESS THAN ("100"), 
+              PARTITION partition_c VALUES LESS THAN ("101"), 
+              PARTITION partition_d VALUES LESS THAN ("3000") ) 
+            DISTRIBUTED BY HASH(k1) BUCKETS 13
+        """
+        exception "Invalid range value format: errCode = 2, detailMessage = 
Number out of range[3000]. type: TINYINT"
+    }
+    test {
+        sql """
+            CREATE TABLE err_tb7 ( 
+              k1 TINYINT NOT NULL, 
+              k2 SMALLINT NOT NULL, 
+              k3 INT NOT NULL, 
+              k4 BIGINT NOT NULL, 
+              k5 DATETIME NOT NULL, 
+              v1 DATE REPLACE NOT NULL) 
+            AGGREGATE KEY(k1,k2,k3,k4,k5) 
+            PARTITION BY RANGE(k1) ( 
+              PARTITION partition_a VALUES LESS THAN ("-50.1"), 
+              PARTITION partition_b VALUES LESS THAN ("20.5"), 
+              PARTITION partition_c VALUES LESS THAN ("100.0"), 
+              PARTITION partition_d VALUES LESS THAN ("101") ) 
+            DISTRIBUTED BY HASH(k1) BUCKETS 13
+        """
+        exception "Invalid range value format: errCode = 2, detailMessage = 
Invalid number format: -50.1"
+    }
+    // aggregate table value column can't be partition key
+    test {
+        sql """
+            CREATE TABLE err_tb8 ( 
+              k1 TINYINT NOT NULL, 
+              k2 SMALLINT NOT NULL, 
+              k3 INT NOT NULL, 
+              k4 BIGINT NOT NULL, 
+              k5 DATETIME NOT NULL, 
+              v1 INT REPLACE NOT NULL ) 
+            AGGREGATE KEY(k1,k2,k3,k4,k5) 
+            PARTITION BY RANGE(v1) ( 
+              PARTITION partition_a VALUES LESS THAN ("5"), 
+              PARTITION partition_b VALUES LESS THAN ("20"), 
+              PARTITION partition_c VALUES LESS THAN ("30"), 
+              PARTITION partition_d VALUES LESS THAN MAXVALUE ) 
+            DISTRIBUTED BY HASH(k1) BUCKETS 5
+        """
+        exception "The partition column could not be aggregated column"
+    }
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to