# case sensitivity statement ok create table t(v1 int) statement ok insert into T values (1) query I select V1 from T ---- 1 statement ok drop table T statement ok create table t(v1 int not null, v2 int not null, v3 int not null) statement ok insert into t values(1,4,2), (2,3,3), (3,4,4), (4,3,5) # SimpleTest query III rowsort select * from t ---- 1 4 2 2 3 3 3 4 4 4 3 5 query II select v1, v2 from t ---- 1 4 2 3 3 4 4 3 query I select v1 + v2 from t ---- 5 5 7 7 query II select sum(v1), sum(v2) from t ---- 10 14 # HashAggregateTest query IIII rowsort select sum(v1), count(v3), min(v3), max(v1) from t group by v2, v2 ---- 4 2 2 3 6 2 3 4 # AggregateWithProjectionTest0 query B rowsort select count(v3) = min(v3) from t group by v2 ---- false true # AggregateWithProjectionTest1 query II rowsort select count(v3), v2 from t group by v2 ---- 2 3 2 4 # AggregateWithProjectionTest2 query II rowsort select v2 from t group by v2 ---- 3 4 # implicit type cast query I select 1 + 0.1 ---- 1.1 # FIXME: pass the following tests halt # NestedAggregateTest0 # TODO: Postgres returns 42803 query error pgcode 42601 select count(sum(v3)) from t # NestedAggregateTest1 # TODO: Postgres returns 42803 query error pgcode 42000 select count(sum(v3) = 2) from t # InvalidAggregateTest # TODO: Postgres returns 42803 query error pgcode 42000 select v2, count(v3) from t # SubqueryTableRefTest query I select v2 from (select 1, 2::int) as t(v1, v2) ---- 2 # SelectionExpressionTest1 query I select 1+2 ---- 3 # FilterTest query III select * from t where v1 = 3 ---- 3 4 4 # AggregatorSumFilterTest query I select sum(v1) from t where v1 > 3 ---- 4 query I select sum(v1) from t where v1 > 4 ---- 0 # SelectConstantFromTableTest query I select 1 from t ---- 1 1 1 1 statement ok drop table t subtest PersistTwiceTest statement ok create table t(v1 int not null) statement ok insert into t values(1), (2) statement ok insert into t values(3), (4) query I rowsort select v1 from t ---- 1 2 3 4 statement ok drop table t subtest TimestampTest statement ok create table t(v1 timestamp, v2 timestamp) statement ok insert into t values('2007-02-01 15:04:05', '2007-02-01 15:04:05'), ('2007-02-02 15:04:05', '2007-02-02 15:04:05'), ('2007-02-03 15:04:05', '2007-02-03 15:04:05') query TT select * from t ---- 2007-02-01 15:04:05 +0000 +0000 2007-02-01 15:04:05 +0000 +0000 2007-02-02 15:04:05 +0000 +0000 2007-02-02 15:04:05 +0000 +0000 2007-02-03 15:04:05 +0000 +0000 2007-02-03 15:04:05 +0000 +0000 statement ok drop table t subtest SelectDistinctTest statement ok create table t(v1 int not null, v2 int not null, v3 int not null) statement ok insert into t values(1,1,2), (1,1,4), (1,2,4), (2,2,2) query I rowsort select v1 from t group by v1 ---- 1 2 query I rowsort select distinct v1 from t ---- 1 2 query II rowsort select v1, v2 from t group by v1, v2 ---- 1 1 1 2 2 2 query II rowsort select distinct v1, v2 from t ---- 1 1 1 2 2 2 query II rowsort select v1, v2 from t where v3 > 2 group by v1, v2 ---- 1 1 1 2 query II rowsort select distinct v1, v2 from t where v3 > 2 ---- 1 1 1 2 query I rowsort select distinct min(v2) from t group by v1 ---- 2 1 query I select distinct min(v2) from t where v2 > 1 group by v1 ---- 2 query I select distinct min(v2) from t where v1 > 1 group by v1 ---- 2 query I rowsort select distinct min(v2)+1 from t group by v1 ---- 2 3 query I rowsort select distinct min(v2+1) from t group by v1 ---- 2 3 statement ok drop table t subtest SelectionAdditionOverflowTest1 statement ok create table t(v1 smallint not null, v2 smallint not null) statement ok insert into t values(22222, 22222) # Postgres returns "22003 smallint out of range" query error pgcode 22000 select v1 + v2 from t statement ok drop table t subtest SelectionArithmetic query I select 10000 + 10000 ---- 20000 query I select 10000 - 1000000 ---- -990000 query I select 123 * 654321::int ---- 80481483 query I select 12345 / 321 ---- 38 # Postgres returns "22003 integer out of range" query error pgcode 22000 select 12345 / 0 # Postgres returns "22003 integer out of range" query error pgcode 22000 select 2147483647::int + 1::int # Postgres returns "22003 integer out of range" query error pgcode 22000 select 1147483648 * 1147483648 # Postgres returns "22003 integer out of range" query error pgcode 22000 select -2147483647 - 2 query R select 10000.00 + 234.567 ---- 10234.567 query R select 10000.00 - 234.56 ---- 9765.44 query R select 654.321 * 123.456 ---- 80779.853376 query R select 100.0 / 8.0 ---- 12.5 # TODO: Postgres returns "22012 division by zero" query error pgcode 22000 select 3.402823466e+38 / 0.0000 # TODO: Postgres returns "22012 division by zero" query error pgcode 22000 select 1.702823466e+308 + 1.702823466e+308 query error pgcode 22000 select -1.702823466e+308 -1.702823466e+308 query error pgcode 22000 select 1.702823466e+308 * 1.702823466e+308 subtest NullType statement ok create table t(v1 int null) statement ok insert into t values(null) query T select * from t ---- NULL statement ok drop table t