Files
openGauss-server/src/test/regress/sql/string_digit_to_numeric.sql
2020-06-30 17:38:27 +08:00

87 lines
3.6 KiB
SQL

create schema string_digit_to_numeric;
set current_schema = string_digit_to_numeric;
create table test1 (c1 int, c2 varchar) ;
create table test2 (c1 char, c2 varchar, c3 nvarchar2, c4 text) ;
create table test3 (c1 int1, c2 int2, c3 int4, c4 int8, c5 float4, c6 float8, c7 numeric) ;
insert into test1 values (2, '1.1');
insert into test2 values (2, 1.1, 1.01, 1.001);
insert into test3 values (1, 1, 1, 1, 1, 1, 1);
analyze test1;
analyze test2;
analyze test3;
select * from test1 where c2 > 1;
explain (verbose on, costs off) select * from test1 where c2 > 1;
select * from test2 join test3 on test2.c1 > test3.c1;
explain (verbose on, costs off) select * from test2 join test3 on test2.c1 > test3.c1;
select * from test2 join test3 on test2.c2 > test3.c2;
explain (verbose on, costs off) select * from test2 join test3 on test2.c2 > test3.c2;
select * from test2 join test3 on test2.c3 > test3.c3;
explain (verbose on, costs off) select * from test2 join test3 on test2.c3 > test3.c3;
select * from test2 join test3 on test2.c4 > test3.c4;
explain (verbose on, costs off) select * from test2 join test3 on test2.c4 > test3.c4;
select * from test2 join test3 on test2.c4 > test3.c5;
explain (verbose on, costs off) select * from test2 join test3 on test2.c4 > test3.c5;
select * from test2 join test3 on test2.c4 > test3.c6;
explain (verbose on, costs off) select * from test2 join test3 on test2.c4 > test3.c6;
select * from test2 join test3 on test2.c4 > test3.c7;
explain (verbose on, costs off) select * from test2 join test3 on test2.c4 > test3.c7;
create view v1 as select c7 from test2 join test3 on test2.c1 > test3.c1 and test2.c2 > test3.c2 and test2.c3 > test3.c3 and test2.c4 > test3.c4 and test2.c4 > test3.c5 and test2.c4 > test3.c6 and test2.c4 > test3.c7;
select * from v1;
explain (verbose on, costs off) select * from v1;
set behavior_compat_options = 'convert_string_digit_to_numeric';
select * from test1 where c2 > 1;
explain (verbose on, costs off) select * from test1 where c2 > 1;
select * from test2 join test3 on test2.c1 > test3.c1;
explain (verbose on, costs off) select * from test2 join test3 on test2.c1 > test3.c1;
select * from test2 join test3 on test2.c2 > test3.c2;
explain (verbose on, costs off) select * from test2 join test3 on test2.c2 > test3.c2;
select * from test2 join test3 on test2.c3 > test3.c3;
explain (verbose on, costs off) select * from test2 join test3 on test2.c3 > test3.c3;
select * from test2 join test3 on test2.c4 > test3.c4;
explain (verbose on, costs off) select * from test2 join test3 on test2.c4 > test3.c4;
select * from test2 join test3 on test2.c4 > test3.c5;
explain (verbose on, costs off) select * from test2 join test3 on test2.c4 > test3.c5;
select * from test2 join test3 on test2.c4 > test3.c6;
explain (verbose on, costs off) select * from test2 join test3 on test2.c4 > test3.c6;
select * from test2 join test3 on test2.c4 > test3.c7;
explain (verbose on, costs off) select * from test2 join test3 on test2.c4 > test3.c7;
select * from v1;
explain (verbose on, costs off) select * from v1;
create view v2 as select c7 from test2 join test3 on test2.c1 > test3.c1 and test2.c2 > test3.c2 and test2.c3 > test3.c3 and test2.c4 > test3.c4 and test2.c4 > test3.c5 and test2.c4 > test3.c6 and test2.c4 > test3.c7;
select * from v2;
explain (verbose on, costs off) select * from v2;
set behavior_compat_options = '';
select * from v1;
explain (verbose on, costs off) select * from v1;
select * from v2;
explain (verbose on, costs off) select * from v2;
drop view v1;
drop view v2;
drop table test1;
drop table test2;
drop table test3;
drop schema string_digit_to_numeric cascade;