create schema empty_value_lists;
set current_schema to 'empty_value_lists';

create table test1(num int);
create table test2(num int default 3);
create table test3(num int not null);
create table test4(num numeric not null);
create table test5(num bool not null);
create table test6(num bytea not null);
create table test7(num char not null);
create table test8(num name not null);
create table test9(num int8 not null);
create table test10(num text not null);
create table test11(num raw not null);
create table test12(num blob not null);
create table test13(num clob not null);
create table test14(num json not null);
create table test15(num jsonb not null);
create table test16(num point not null);
create table test17(num lseg not null);
create table test18(num path not null);
create table test19(num box not null);
create table test20(num polygon not null);
create table test21(num hash16 not null);
create table test22(num float4 not null);
create table test23(num abstime not null);
create table test24(num reltime not null);
create table test25(num tinterval not null);
create table test26(num circle not null);
create table test27(num money not null);
create table test28(num bpchar not null);
create table test29(num varchar not null);
create table test30(num nvarchar2 not null);
create table test31(num date not null);
create table test32(num time not null);
create table test33(num timestamp not null);
create table test34(num timestamptz not null);
create table test35(num interval not null);
create table test36(num timetz not null);
create table test37(num bit not null);
create table test38(num varbit not null);
create table test39(num numeric not null);
create table test40(num uuid not null);
create table test41(num smalldatetime not null);

--strict_all_tables mode
insert into test1 values(),();
insert into test2 values(),();
insert into test3 values(),();
insert into test4 values(),();
insert into test5 values(),();
insert into test6 values(),();
insert into test7 values(),();
insert into test8 values(),();
insert into test9 values(),();
insert into test10 values(),();
insert into test11 values(),();
insert into test12 values(),();
insert into test13 values(),();
insert into test14 values(),();    
insert into test15 values(),();    
insert into test16 values(),();
insert into test17 values(),();
insert into test18 values(),();
insert into test19 values(),();
insert into test20 values(),();
insert into test21 values(),();
insert into test22 values(),();
insert into test23 values(),();
insert into test24 values(),();
insert into test25 values(),();
insert into test26 values(),();
insert into test27 values(),();
insert into test28 values(),();
insert into test29 values(),();
insert into test30 values(),();
insert into test31 values(),();
insert into test32 values(),();
insert into test33 values(),();
insert into test34 values(),();
insert into test35 values(),();
insert into test36 values(),();
insert into test37 values(),();
insert into test38 values(),();
insert into test39 values(),();
insert into test40 values(),();
insert into test41 values(),();

--not strict_all_tables mode
set dolphin.sql_mode = 'pad_char_to_full_length';
insert into test1 values(),();
select *from test1;
insert into test2 values(),();
select *from test2;
insert into test3 values(),();
select *from test3;
insert into test4 values(),();
select *from test4;
insert into test5 values(),();
select *from test5;
insert into test6 values(),();
select *from test6;
insert into test7 values(),();
select *from test7;
insert into test8 values(),();
select *from test8;
insert into test9 values(),();
select *from test9;
insert into test10 values(),();
select *from test10;
insert into test11 values(),();
select *from test11;
insert into test12 values(),();
select *from test12;
insert into test13 values(),();
select *from test13;
insert into test14 values(),();
select *from test14;
insert into test15 values(),();
select *from test15;
insert into test16 values(),();
select *from test16;
insert into test17 values(),();
select *from test17;
insert into test18 values(),();
select *from test18;
insert into test19 values(),();
select *from test19;
insert into test20 values(),();
select *from test20;
insert into test21 values(),();
select *from test21;
insert into test22 values(),();
select *from test22;
insert into test23 values(),();
select *from test23;
insert into test24 values(),();
select *from test24;
insert into test25 values(),();
select *from test25;
insert into test26 values(),();
select *from test26;
insert into test27 values(),();
select *from test27;
insert into test28 values(),();
select *from test28;
insert into test29 values(),();
select *from test29;
insert into test30 values(),();
select *from test30;
insert into test31 values(),();
select *from test31;
insert into test32 values(),();
select *from test32;
insert into test33 values(),();
select *from test33;
insert into test34 values(),();
select *from test34;
insert into test35 values(),();
select *from test35;
set timezone to 'PRC';
insert into test36 values(),();
reset timezone;
show timezone;
select *from test36;
insert into test37 values(),();
select *from test37;
insert into test38 values(),();
select *from test38;
insert into test39 values(),();
select *from test39;
insert into test40 values(),();
select *from test40;
insert into test41 values(),();
select *from test41;

--multiple type test
create table m1(a int not null, b int, c int default 3, d int default 3 not null);
create table m2(a date not null, b datetime, c datetime default '2020-01-01', d datetime default '2020-01-01' not null);
create table m3(a box not null, b path, c circle default '0,0,3', d box default '1,2,3,4' not null);
create table m4(a text not null, b char, c nvarchar2 default 'abc', d bpchar default 'bcd' not null);
insert into m1 values(),();
select * from m1;
insert into m2 values(),();
select * from m2;
insert into m3 values(),();
select * from m3;
insert into m4 values(),();
select * from m4;

drop schema empty_value_lists cascade;
reset current_schema;