Added a test for merge join key condition with big int & decimal 02526_merge_join_int_decimal

This commit is contained in:
Smita Kulkarni 2023-01-12 15:29:17 +01:00
parent 50eb9fca67
commit 72547d29e4
2 changed files with 35 additions and 0 deletions

View File

@ -0,0 +1,8 @@
3 3
1 4
1 4
1 4
1 4
7 0 -9223372036854775807
7 0 -9223372036854775807

View File

@ -0,0 +1,27 @@
DROP TABLE IF EXISTS foo;
DROP TABLE IF EXISTS foo1;
DROP TABLE IF EXISTS foo_merge;
DROP TABLE IF EXISTS t2;
CREATE TABLE foo(Id Int32, Val Int32) Engine=MergeTree PARTITION BY Val ORDER BY Id;
CREATE TABLE foo1(Id Int32, Val Decimal32(9)) Engine=MergeTree PARTITION BY Val ORDER BY Id;
INSERT INTO foo SELECT number, number%5 FROM numbers(100000);
INSERT INTO foo1 SELECT number, 1 FROM numbers(100000);
CREATE TABLE foo_merge as foo ENGINE=Merge(currentDatabase(), '^foo');
CREATE TABLE t2 (Id Int32, Val Int64, X UInt256) Engine=Memory;
INSERT INTO t2 values (4, 3, 4);
SELECT * FROM foo_merge WHERE Val = 3 AND Id = 3;
SELECT count(), X FROM foo_merge JOIN t2 USING Val WHERE Val = 3 AND Id = 3 AND t2.X == 4 GROUP BY X;
SELECT count(), X FROM foo_merge JOIN t2 USING Val WHERE Val = 3 AND (Id = 3 AND t2.X == 4) GROUP BY X;
SELECT count(), X FROM foo_merge JOIN t2 USING Val WHERE Val = 3 AND Id = 3 GROUP BY X;
SELECT count(), X FROM (SELECT * FROM foo_merge) f JOIN t2 USING Val WHERE Val = 3 AND Id = 3 GROUP BY X;
SELECT 7, count(1000.0001), -9223372036854775807 FROM foo_merge INNER JOIN t2 USING (Val) WHERE (((NULL AND -2 AND (Val = NULL)) AND (Id = NULL) AND (Val = NULL) AND (Id = NULL)) AND (Id = NULL) AND Val AND NULL) AND ((3 AND NULL AND -2147483648 AND (Val = NULL)) AND (Id = NULL) AND (Val = NULL)) AND ((NULL AND -2 AND (Val = NULL)) AND (Id = NULL) AND (Val = NULL)) AND 2147483647 WITH TOTALS;
DROP TABLE IF EXISTS foo;
DROP TABLE IF EXISTS foo1;
DROP TABLE IF EXISTS foo_merge;
DROP TABLE IF EXISTS t2;