Files
tidb/executor/testdata/executor_suite_out.json

6505 lines
167 KiB
JSON

[
{
"Name": "TestSetOperation",
"Cases": [
{
"SQL": "select * from t3 union select * from t1",
"Plan": [
"HashAgg_9 16000.00 root group by:Column#5, funcs:firstrow(Column#5)->Column#5",
"└─Union_10 20000.00 root ",
" ├─TableReader_13 10000.00 root data:TableFullScan_12",
" │ └─TableFullScan_12 10000.00 cop[tikv] table:t3 keep order:false, stats:pseudo",
" └─TableReader_16 10000.00 root data:TableFullScan_15",
" └─TableFullScan_15 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"Res": [
"1",
"2",
"3",
"<nil>"
]
},
{
"SQL": "select * from t2 union all select * from t1",
"Plan": [
"Union_8 20000.00 root ",
"├─TableReader_11 10000.00 root data:TableFullScan_10",
"│ └─TableFullScan_10 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo",
"└─TableReader_14 10000.00 root data:TableFullScan_13",
" └─TableFullScan_13 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"Res": [
"1",
"1",
"1",
"2",
"2",
"3",
"<nil>",
"<nil>",
"<nil>"
]
},
{
"SQL": "select * from t1 except select * from t3",
"Plan": [
"HashJoin_7 6400.00 root anti semi join, equal:[nulleq(test.t1.a, test.t3.a)]",
"├─TableReader_18(Build) 10000.00 root data:TableFullScan_17",
"│ └─TableFullScan_17 10000.00 cop[tikv] table:t3 keep order:false, stats:pseudo",
"└─HashAgg_12(Probe) 8000.00 root group by:test.t1.a, funcs:firstrow(test.t1.a)->test.t1.a",
" └─TableReader_13 8000.00 root data:HashAgg_8",
" └─HashAgg_8 8000.00 cop[tikv] group by:test.t1.a, ",
" └─TableFullScan_11 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"Res": [
"1",
"<nil>"
]
},
{
"SQL": "select * from t1 intersect select * from t2",
"Plan": [
"HashJoin_7 6400.00 root semi join, equal:[nulleq(test.t1.a, test.t2.a)]",
"├─TableReader_18(Build) 10000.00 root data:TableFullScan_17",
"│ └─TableFullScan_17 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo",
"└─HashAgg_12(Probe) 8000.00 root group by:test.t1.a, funcs:firstrow(test.t1.a)->test.t1.a",
" └─TableReader_13 8000.00 root data:HashAgg_8",
" └─HashAgg_8 8000.00 cop[tikv] group by:test.t1.a, ",
" └─TableFullScan_11 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"Res": [
"1",
"2",
"<nil>"
]
},
{
"SQL": "select * from t1 union all select * from t2 union all select * from t3",
"Plan": [
"Union_11 30000.00 root ",
"├─TableReader_14 10000.00 root data:TableFullScan_13",
"│ └─TableFullScan_13 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo",
"├─TableReader_17 10000.00 root data:TableFullScan_16",
"│ └─TableFullScan_16 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo",
"└─TableReader_20 10000.00 root data:TableFullScan_19",
" └─TableFullScan_19 10000.00 cop[tikv] table:t3 keep order:false, stats:pseudo"
],
"Res": [
"1",
"1",
"1",
"2",
"2",
"2",
"3",
"3",
"<nil>",
"<nil>",
"<nil>"
]
},
{
"SQL": "select * from t1 union all select * from t2 except select * from t3",
"Plan": [
"HashJoin_12 12800.00 root anti semi join, equal:[nulleq(Column#7, test.t3.a)]",
"├─TableReader_23(Build) 10000.00 root data:TableFullScan_22",
"│ └─TableFullScan_22 10000.00 cop[tikv] table:t3 keep order:false, stats:pseudo",
"└─HashAgg_13(Probe) 16000.00 root group by:Column#7, funcs:firstrow(Column#7)->Column#7",
" └─Union_14 20000.00 root ",
" ├─TableReader_17 10000.00 root data:TableFullScan_16",
" │ └─TableFullScan_16 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo",
" └─TableReader_20 10000.00 root data:TableFullScan_19",
" └─TableFullScan_19 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo"
],
"Res": [
"1",
"<nil>"
]
},
{
"SQL": "select * from t1 intersect select * from t2 intersect select * from t1",
"Plan": [
"HashJoin_12 5120.00 root semi join, equal:[nulleq(test.t1.a, test.t1.a)]",
"├─TableReader_27(Build) 10000.00 root data:TableFullScan_26",
"│ └─TableFullScan_26 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo",
"└─HashJoin_14(Probe) 6400.00 root semi join, equal:[nulleq(test.t1.a, test.t2.a)]",
" ├─TableReader_24(Build) 10000.00 root data:TableFullScan_23",
" │ └─TableFullScan_23 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo",
" └─HashAgg_19(Probe) 8000.00 root group by:test.t1.a, funcs:firstrow(test.t1.a)->test.t1.a",
" └─TableReader_20 8000.00 root data:HashAgg_15",
" └─HashAgg_15 8000.00 cop[tikv] group by:test.t1.a, ",
" └─TableFullScan_18 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"Res": [
"1",
"2",
"<nil>"
]
},
{
"SQL": "select * from t1 union all select * from t2 intersect select * from t3",
"Plan": [
"Union_12 16400.00 root ",
"├─TableReader_15 10000.00 root data:TableFullScan_14",
"│ └─TableFullScan_14 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo",
"└─HashJoin_17 6400.00 root semi join, equal:[nulleq(test.t2.a, test.t3.a)]",
" ├─TableReader_27(Build) 10000.00 root data:TableFullScan_26",
" │ └─TableFullScan_26 10000.00 cop[tikv] table:t3 keep order:false, stats:pseudo",
" └─HashAgg_22(Probe) 8000.00 root group by:test.t2.a, funcs:firstrow(test.t2.a)->test.t2.a",
" └─TableReader_23 8000.00 root data:HashAgg_18",
" └─HashAgg_18 8000.00 cop[tikv] group by:test.t2.a, ",
" └─TableFullScan_21 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo"
],
"Res": [
"1",
"1",
"2",
"2",
"3",
"<nil>"
]
},
{
"SQL": "select * from t1 except select * from t2 intersect select * from t3",
"Plan": [
"HashJoin_11 6400.00 root anti semi join, equal:[nulleq(test.t1.a, test.t2.a)]",
"├─HashJoin_20(Build) 6400.00 root semi join, equal:[nulleq(test.t2.a, test.t3.a)]",
"│ ├─TableReader_31(Build) 10000.00 root data:TableFullScan_30",
"│ │ └─TableFullScan_30 10000.00 cop[tikv] table:t3 keep order:false, stats:pseudo",
"│ └─HashAgg_25(Probe) 8000.00 root group by:test.t2.a, funcs:firstrow(test.t2.a)->test.t2.a",
"│ └─TableReader_26 8000.00 root data:HashAgg_21",
"│ └─HashAgg_21 8000.00 cop[tikv] group by:test.t2.a, ",
"│ └─TableFullScan_24 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo",
"└─HashAgg_16(Probe) 8000.00 root group by:test.t1.a, funcs:firstrow(test.t1.a)->test.t1.a",
" └─TableReader_17 8000.00 root data:HashAgg_12",
" └─HashAgg_12 8000.00 cop[tikv] group by:test.t1.a, ",
" └─TableFullScan_15 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"Res": [
"1",
"3",
"<nil>"
]
},
{
"SQL": "select * from t1 intersect (select * from t2 except (select * from t3))",
"Plan": [
"HashJoin_11 6400.00 root semi join, equal:[nulleq(test.t1.a, test.t2.a)]",
"├─HashJoin_20(Build) 6400.00 root anti semi join, equal:[nulleq(test.t2.a, test.t3.a)]",
"│ ├─TableReader_31(Build) 10000.00 root data:TableFullScan_30",
"│ │ └─TableFullScan_30 10000.00 cop[tikv] table:t3 keep order:false, stats:pseudo",
"│ └─HashAgg_25(Probe) 8000.00 root group by:test.t2.a, funcs:firstrow(test.t2.a)->test.t2.a",
"│ └─TableReader_26 8000.00 root data:HashAgg_21",
"│ └─HashAgg_21 8000.00 cop[tikv] group by:test.t2.a, ",
"│ └─TableFullScan_24 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo",
"└─HashAgg_16(Probe) 8000.00 root group by:test.t1.a, funcs:firstrow(test.t1.a)->test.t1.a",
" └─TableReader_17 8000.00 root data:HashAgg_12",
" └─HashAgg_12 8000.00 cop[tikv] group by:test.t1.a, ",
" └─TableFullScan_15 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"Res": [
"1",
"<nil>"
]
},
{
"SQL": "select * from t1 union all (select * from t2 except select * from t3)",
"Plan": [
"Union_12 16400.00 root ",
"├─TableReader_15 10000.00 root data:TableFullScan_14",
"│ └─TableFullScan_14 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo",
"└─HashJoin_17 6400.00 root anti semi join, equal:[nulleq(test.t2.a, test.t3.a)]",
" ├─TableReader_27(Build) 10000.00 root data:TableFullScan_26",
" │ └─TableFullScan_26 10000.00 cop[tikv] table:t3 keep order:false, stats:pseudo",
" └─HashAgg_22(Probe) 8000.00 root group by:test.t2.a, funcs:firstrow(test.t2.a)->test.t2.a",
" └─TableReader_23 8000.00 root data:HashAgg_18",
" └─HashAgg_18 8000.00 cop[tikv] group by:test.t2.a, ",
" └─TableFullScan_21 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo"
],
"Res": [
"1",
"1",
"1",
"2",
"3",
"<nil>",
"<nil>"
]
},
{
"SQL": "select * from t1 union (select * from t2 union all select * from t3)",
"Plan": [
"HashAgg_14 24000.00 root group by:Column#8, funcs:firstrow(Column#8)->Column#8",
"└─Union_15 30000.00 root ",
" ├─TableReader_18 10000.00 root data:TableFullScan_17",
" │ └─TableFullScan_17 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo",
" └─Union_20 20000.00 root ",
" ├─TableReader_23 10000.00 root data:TableFullScan_22",
" │ └─TableFullScan_22 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo",
" └─TableReader_26 10000.00 root data:TableFullScan_25",
" └─TableFullScan_25 10000.00 cop[tikv] table:t3 keep order:false, stats:pseudo"
],
"Res": [
"1",
"2",
"3",
"<nil>"
]
},
{
"SQL": "(select * from t1 intersect select * from t1) except (select * from t2 union select * from t3)",
"Plan": [
"HashJoin_18 5120.00 root anti semi join, equal:[nulleq(test.t1.a, Column#9)]",
"├─HashAgg_31(Build) 16000.00 root group by:Column#9, funcs:firstrow(Column#9)->Column#9",
"│ └─Union_32 20000.00 root ",
"│ ├─TableReader_35 10000.00 root data:TableFullScan_34",
"│ │ └─TableFullScan_34 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo",
"│ └─TableReader_38 10000.00 root data:TableFullScan_37",
"│ └─TableFullScan_37 10000.00 cop[tikv] table:t3 keep order:false, stats:pseudo",
"└─HashJoin_20(Probe) 6400.00 root semi join, equal:[nulleq(test.t1.a, test.t1.a)]",
" ├─TableReader_30(Build) 10000.00 root data:TableFullScan_29",
" │ └─TableFullScan_29 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo",
" └─HashAgg_25(Probe) 8000.00 root group by:test.t1.a, funcs:firstrow(test.t1.a)->test.t1.a",
" └─TableReader_26 8000.00 root data:HashAgg_21",
" └─HashAgg_21 8000.00 cop[tikv] group by:test.t1.a, ",
" └─TableFullScan_24 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"Res": null
}
]
},
{
"Name": "TestSetOperationOnDiffColType",
"Cases": [
{
"SQL": "select * from t3 union select * from t1",
"Plan": [
"HashAgg_9 16000.00 root group by:Column#7, Column#8, funcs:firstrow(Column#7)->Column#7, funcs:firstrow(Column#8)->Column#8",
"└─Union_10 20000.00 root ",
" ├─TableReader_13 10000.00 root data:TableFullScan_12",
" │ └─TableFullScan_12 10000.00 cop[tikv] table:t3 keep order:false, stats:pseudo",
" └─Projection_14 10000.00 root test.t1.a->Column#7, cast(test.t1.b, decimal(30,10) BINARY)->Column#8",
" └─TableReader_16 10000.00 root data:TableFullScan_15",
" └─TableFullScan_15 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"Res": [
"1 1.0000000000",
"2 2.0000000000",
"2 2.1000000000",
"3 3.0000000000",
"<nil> <nil>"
]
},
{
"SQL": "select * from t2 union all select * from t1",
"Plan": [
"Union_8 20000.00 root ",
"├─TableReader_11 10000.00 root data:TableFullScan_10",
"│ └─TableFullScan_10 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo",
"└─Projection_12 10000.00 root test.t1.a->Column#7, cast(test.t1.b, varchar(20) BINARY CHARACTER SET utf8mb4 COLLATE utf8mb4_bin)->Column#8",
" └─TableReader_14 10000.00 root data:TableFullScan_13",
" └─TableFullScan_13 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"Res": [
"1 1",
"1 1",
"1 1",
"2 2",
"2 2",
"3 3",
"<nil> 3",
"<nil> <nil>",
"<nil> <nil>"
]
},
{
"SQL": "select * from t1 except select * from t3",
"Plan": [
"HashJoin_7 6400.00 root anti semi join, equal:[nulleq(test.t1.a, test.t3.a)], other cond:nulleq(cast(test.t1.b, decimal(10,0) BINARY), test.t3.b)",
"├─TableReader_18(Build) 10000.00 root data:TableFullScan_17",
"│ └─TableFullScan_17 10000.00 cop[tikv] table:t3 keep order:false, stats:pseudo",
"└─HashAgg_12(Probe) 8000.00 root group by:test.t1.a, test.t1.b, funcs:firstrow(test.t1.a)->test.t1.a, funcs:firstrow(test.t1.b)->test.t1.b",
" └─TableReader_13 8000.00 root data:HashAgg_8",
" └─HashAgg_8 8000.00 cop[tikv] group by:test.t1.a, test.t1.b, ",
" └─TableFullScan_11 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"Res": [
"1 1",
"2 2",
"<nil> <nil>"
]
},
{
"SQL": "select * from t1 intersect select * from t2",
"Plan": [
"HashJoin_7 6400.00 root semi join, equal:[nulleq(test.t1.a, test.t2.a)], other cond:nulleq(cast(test.t1.b, double BINARY), cast(test.t2.b, double BINARY))",
"├─TableReader_18(Build) 10000.00 root data:TableFullScan_17",
"│ └─TableFullScan_17 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo",
"└─HashAgg_12(Probe) 8000.00 root group by:test.t1.a, test.t1.b, funcs:firstrow(test.t1.a)->test.t1.a, funcs:firstrow(test.t1.b)->test.t1.b",
" └─TableReader_13 8000.00 root data:HashAgg_8",
" └─HashAgg_8 8000.00 cop[tikv] group by:test.t1.a, test.t1.b, ",
" └─TableFullScan_11 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"Res": [
"1 1",
"2 2",
"<nil> <nil>"
]
},
{
"SQL": "select * from t1 union all select * from t2 union all select * from t3",
"Plan": [
"Union_11 30000.00 root ",
"├─Projection_12 10000.00 root test.t1.a->Column#10, cast(test.t1.b, varchar(30) BINARY CHARACTER SET utf8mb4 COLLATE utf8mb4_bin)->Column#11",
"│ └─TableReader_14 10000.00 root data:TableFullScan_13",
"│ └─TableFullScan_13 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo",
"├─Projection_15 10000.00 root test.t2.a->Column#10, cast(test.t2.b, varchar(30) BINARY CHARACTER SET utf8mb4 COLLATE utf8mb4_bin)->Column#11",
"│ └─TableReader_17 10000.00 root data:TableFullScan_16",
"│ └─TableFullScan_16 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo",
"└─Projection_18 10000.00 root test.t3.a->Column#10, cast(test.t3.b, varchar(30) BINARY CHARACTER SET utf8mb4 COLLATE utf8mb4_bin)->Column#11",
" └─TableReader_20 10000.00 root data:TableFullScan_19",
" └─TableFullScan_19 10000.00 cop[tikv] table:t3 keep order:false, stats:pseudo"
],
"Res": [
"1 1",
"1 1",
"1 1",
"2 2",
"2 2",
"2 2.1000000000",
"3 3",
"3 3.0000000000",
"<nil> 3",
"<nil> <nil>",
"<nil> <nil>"
]
},
{
"SQL": "select * from t1 union all select * from t2 except select * from t3",
"Plan": [
"HashJoin_12 12800.00 root anti semi join, equal:[nulleq(Column#10, test.t3.a)], other cond:nulleq(cast(Column#11, double BINARY), cast(test.t3.b, double BINARY))",
"├─TableReader_23(Build) 10000.00 root data:TableFullScan_22",
"│ └─TableFullScan_22 10000.00 cop[tikv] table:t3 keep order:false, stats:pseudo",
"└─HashAgg_13(Probe) 16000.00 root group by:Column#10, Column#11, funcs:firstrow(Column#10)->Column#10, funcs:firstrow(Column#11)->Column#11",
" └─Union_14 20000.00 root ",
" ├─Projection_15 10000.00 root test.t1.a->Column#10, cast(test.t1.b, varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin)->Column#11",
" │ └─TableReader_17 10000.00 root data:TableFullScan_16",
" │ └─TableFullScan_16 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo",
" └─TableReader_20 10000.00 root data:TableFullScan_19",
" └─TableFullScan_19 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo"
],
"Res": [
"1 1",
"2 2",
"<nil> 3",
"<nil> <nil>"
]
},
{
"SQL": "select * from t1 intersect select * from t2 intersect select * from t1",
"Plan": [
"HashJoin_12 5120.00 root semi join, equal:[nulleq(test.t1.a, test.t1.a) nulleq(test.t1.b, test.t1.b)]",
"├─TableReader_27(Build) 10000.00 root data:TableFullScan_26",
"│ └─TableFullScan_26 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo",
"└─HashJoin_14(Probe) 6400.00 root semi join, equal:[nulleq(test.t1.a, test.t2.a)], other cond:nulleq(cast(test.t1.b, double BINARY), cast(test.t2.b, double BINARY))",
" ├─TableReader_24(Build) 10000.00 root data:TableFullScan_23",
" │ └─TableFullScan_23 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo",
" └─HashAgg_19(Probe) 8000.00 root group by:test.t1.a, test.t1.b, funcs:firstrow(test.t1.a)->test.t1.a, funcs:firstrow(test.t1.b)->test.t1.b",
" └─TableReader_20 8000.00 root data:HashAgg_15",
" └─HashAgg_15 8000.00 cop[tikv] group by:test.t1.a, test.t1.b, ",
" └─TableFullScan_18 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"Res": [
"1 1",
"2 2",
"<nil> <nil>"
]
},
{
"SQL": "select * from t1 union all select * from t2 intersect select * from t3",
"Plan": [
"Union_12 16400.00 root ",
"├─Projection_13 10000.00 root test.t1.a->Column#10, cast(test.t1.b, varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin)->Column#11",
"│ └─TableReader_15 10000.00 root data:TableFullScan_14",
"│ └─TableFullScan_14 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo",
"└─HashJoin_17 6400.00 root semi join, equal:[nulleq(test.t2.a, test.t3.a)], other cond:nulleq(cast(test.t2.b, double BINARY), cast(test.t3.b, double BINARY))",
" ├─TableReader_27(Build) 10000.00 root data:TableFullScan_26",
" │ └─TableFullScan_26 10000.00 cop[tikv] table:t3 keep order:false, stats:pseudo",
" └─HashAgg_22(Probe) 8000.00 root group by:test.t2.a, test.t2.b, funcs:firstrow(test.t2.a)->test.t2.a, funcs:firstrow(test.t2.b)->test.t2.b",
" └─TableReader_23 8000.00 root data:HashAgg_18",
" └─HashAgg_18 8000.00 cop[tikv] group by:test.t2.a, test.t2.b, ",
" └─TableFullScan_21 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo"
],
"Res": [
"1 1",
"1 1",
"2 2",
"3 3",
"<nil> <nil>"
]
},
{
"SQL": "select * from t1 except select * from t2 intersect select * from t3",
"Plan": [
"HashJoin_11 6400.00 root anti semi join, equal:[nulleq(test.t1.a, test.t2.a)], other cond:nulleq(cast(test.t1.b, double BINARY), cast(test.t2.b, double BINARY))",
"├─HashJoin_20(Build) 6400.00 root semi join, equal:[nulleq(test.t2.a, test.t3.a)], other cond:nulleq(cast(test.t2.b, double BINARY), cast(test.t3.b, double BINARY))",
"│ ├─TableReader_31(Build) 10000.00 root data:TableFullScan_30",
"│ │ └─TableFullScan_30 10000.00 cop[tikv] table:t3 keep order:false, stats:pseudo",
"│ └─HashAgg_25(Probe) 8000.00 root group by:test.t2.a, test.t2.b, funcs:firstrow(test.t2.a)->test.t2.a, funcs:firstrow(test.t2.b)->test.t2.b",
"│ └─TableReader_26 8000.00 root data:HashAgg_21",
"│ └─HashAgg_21 8000.00 cop[tikv] group by:test.t2.a, test.t2.b, ",
"│ └─TableFullScan_24 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo",
"└─HashAgg_16(Probe) 8000.00 root group by:test.t1.a, test.t1.b, funcs:firstrow(test.t1.a)->test.t1.a, funcs:firstrow(test.t1.b)->test.t1.b",
" └─TableReader_17 8000.00 root data:HashAgg_12",
" └─HashAgg_12 8000.00 cop[tikv] group by:test.t1.a, test.t1.b, ",
" └─TableFullScan_15 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"Res": [
"1 1",
"2 2",
"3 3",
"<nil> <nil>"
]
}
]
},
{
"Name": "TestNaturalJoin",
"Cases": [
{
"SQL": "select * from t1 natural join t2",
"Plan": [
"HashJoin 12487.50 root inner join, equal:[eq(test.t1.a, test.t2.a)]",
"├─TableReader(Build) 9990.00 root data:Selection",
"│ └─Selection 9990.00 cop[tikv] not(isnull(test.t2.a))",
"│ └─TableFullScan 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo",
"└─TableReader(Probe) 9990.00 root data:Selection",
" └─Selection 9990.00 cop[tikv] not(isnull(test.t1.a))",
" └─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"Res": [
"0 0 0",
"1 2 3"
]
},
{
"SQL": "select * from t1 natural left join t2 order by a",
"Plan": [
"Sort 12487.50 root test.t1.a",
"└─HashJoin 12487.50 root left outer join, equal:[eq(test.t1.a, test.t2.a)]",
" ├─TableReader(Build) 9990.00 root data:Selection",
" │ └─Selection 9990.00 cop[tikv] not(isnull(test.t2.a))",
" │ └─TableFullScan 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo",
" └─TableReader(Probe) 10000.00 root data:TableFullScan",
" └─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"Res": [
"0 0 0",
"1 2 3",
"10 20 <nil>"
]
},
{
"SQL": "select * from t1 natural right join t2 order by a",
"Plan": [
"Sort 12487.50 root test.t2.a",
"└─Projection 12487.50 root test.t2.a, test.t2.c, test.t1.b",
" └─HashJoin 12487.50 root right outer join, equal:[eq(test.t1.a, test.t2.a)]",
" ├─TableReader(Build) 9990.00 root data:Selection",
" │ └─Selection 9990.00 cop[tikv] not(isnull(test.t1.a))",
" │ └─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo",
" └─TableReader(Probe) 10000.00 root data:TableFullScan",
" └─TableFullScan 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo"
],
"Res": [
"0 0 0",
"1 3 2",
"100 200 <nil>"
]
},
{
"SQL": "SELECT * FROM t1 NATURAL LEFT JOIN t2 WHERE not(t1.a <=> t2.a)",
"Plan": [
"Projection 9990.00 root test.t1.a, test.t1.b, test.t2.c",
"└─Selection 9990.00 root not(nulleq(test.t1.a, test.t2.a))",
" └─HashJoin 12487.50 root left outer join, equal:[eq(test.t1.a, test.t2.a)]",
" ├─TableReader(Build) 9990.00 root data:Selection",
" │ └─Selection 9990.00 cop[tikv] not(isnull(test.t2.a))",
" │ └─TableFullScan 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo",
" └─TableReader(Probe) 10000.00 root data:TableFullScan",
" └─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"Res": [
"10 20 <nil>"
]
}
]
},
{
"Name": "TestUsingAndNaturalJoinSchema",
"Cases": [
{
"SQL": "select t1.*, t2.*, t3.*, t4.* from (t1 natural join t2) natural join (t3 natural join t4);",
"Res": [
"3 1 2 1 1 3 11 3",
"3 1 2 1 1 3 2 3"
]
},
{
"SQL": "select t1.*, t2.*, t3.*, t4.* from (t1 natural join t2) join (t3 natural join t4) using (b);",
"Res": [
"10 1 2 1 1 3 11 3",
"10 1 2 1 1 3 2 3",
"3 1 2 1 1 3 11 3",
"3 1 2 1 1 3 2 3"
]
},
{
"SQL": "select t1.*, t2.*, t3.*, t4.* from (t1 natural join t2) join (t3 natural join t4) using (c);",
"Res": [
"3 1 2 1 1 3 11 3",
"3 1 2 1 1 3 2 3"
]
},
{
"SQL": "select t1.*, t2.*, t3.*, t4.* from (t1 natural join t2) join (t3 natural join t4) using (c,b);",
"Res": [
"3 1 2 1 1 3 11 3",
"3 1 2 1 1 3 2 3"
]
},
{
"SQL": "select t1.*, t2.*, t3.*, t4.* from (t1 natural join t2) left outer join (t3 natural join t4) using (b);",
"Res": [
"10 1 2 1 1 3 11 3",
"10 1 2 1 1 3 2 3",
"3 1 2 1 1 3 11 3",
"3 1 2 1 1 3 2 3"
]
},
{
"SQL": "select t1.*, t2.*, t3.*, t4.* from (t1 natural join t2) left outer join (t3 natural join t4) using (c);",
"Res": [
"10 1 2 1 <nil> <nil> <nil> <nil>",
"3 1 2 1 1 3 11 3",
"3 1 2 1 1 3 2 3"
]
},
{
"SQL": "select t1.*, t2.*, t3.*, t4.* from (t1 natural join t2) left outer join (t3 natural join t4) using (c,b);",
"Res": [
"10 1 2 1 <nil> <nil> <nil> <nil>",
"3 1 2 1 1 3 11 3",
"3 1 2 1 1 3 2 3"
]
},
{
"SQL": "select t1.*, t2.*, t3.*, t4.* from (t1 natural join t2) right outer join (t3 natural join t4) using (b);",
"Res": [
"10 1 2 1 1 3 11 3",
"10 1 2 1 1 3 2 3",
"3 1 2 1 1 3 11 3",
"3 1 2 1 1 3 2 3"
]
},
{
"SQL": "select t1.*, t2.*, t3.*, t4.* from (t1 natural join t2) right outer join (t3 natural join t4) using (c);",
"Res": [
"3 1 2 1 1 3 11 3",
"3 1 2 1 1 3 2 3"
]
},
{
"SQL": "select t1.*, t2.*, t3.*, t4.* from (t1 natural join t2) right outer join (t3 natural join t4) using (c,b);",
"Res": [
"3 1 2 1 1 3 11 3",
"3 1 2 1 1 3 2 3"
]
},
{
"SQL": "select * from (t1 natural join t2) natural join (t3 natural join t4);",
"Res": [
"1 3 2 11",
"1 3 2 2"
]
},
{
"SQL": "select * from (t1 natural join t2) join (t3 natural join t4) using (b);",
"Res": [
"1 10 2 3 11",
"1 10 2 3 2",
"1 3 2 3 11",
"1 3 2 3 2"
]
},
{
"SQL": "select * from (t1 natural join t2) left outer join (t3 natural join t4) using (b);",
"Res": [
"1 10 2 3 11",
"1 10 2 3 2",
"1 3 2 3 11",
"1 3 2 3 2"
]
},
{
"SQL": "select * from (t1 natural join t2) right outer join (t3 natural join t4) using (c,b);",
"Res": [
"3 1 11 2",
"3 1 2 2"
]
}
]
},
{
"Name": "TestIndexScanWithYearCol",
"Cases": [
{
"SQL": "select t1.c1, t2.c1 from t as t1 inner join t as t2 on t1.c1 = t2.c1 where t1.c1 != NULL",
"Plan": [
"MergeJoin 0.00 root inner join, left key:test.t.c1, right key:test.t.c1",
"├─TableDual(Build) 0.00 root rows:0",
"└─TableDual(Probe) 0.00 root rows:0"
],
"Res": null
},
{
"SQL": "select * from t as t1 inner join t as t2 on t1.c1 = t2.c1 where t1.c1 != NULL",
"Plan": [
"MergeJoin 0.00 root inner join, left key:test.t.c1, right key:test.t.c1",
"├─TableDual(Build) 0.00 root rows:0",
"└─TableDual(Probe) 0.00 root rows:0"
],
"Res": null
},
{
"SQL": "select count(*) from t as t1 inner join t as t2 on t1.c1 = t2.c1 where t1.c1 != NULL",
"Plan": [
"StreamAgg 1.00 root funcs:count(1)->Column#7",
"└─MergeJoin 0.00 root inner join, left key:test.t.c1, right key:test.t.c1",
" ├─TableDual(Build) 0.00 root rows:0",
" └─TableDual(Probe) 0.00 root rows:0"
],
"Res": [
"0"
]
},
{
"SQL": "select t1.c1, t2.c1 from t as t1 left join t as t2 on t1.c1 = t2.c1 where t1.c1 != NULL",
"Plan": [
"MergeJoin 0.00 root left outer join, left key:test.t.c1, right key:test.t.c1",
"├─TableDual(Build) 0.00 root rows:0",
"└─TableDual(Probe) 0.00 root rows:0"
],
"Res": null
},
{
"SQL": "select * from t as t1 left join t as t2 on t1.c1 = t2.c1 where t1.c1 != NULL",
"Plan": [
"MergeJoin 0.00 root left outer join, left key:test.t.c1, right key:test.t.c1",
"├─TableDual(Build) 0.00 root rows:0",
"└─TableDual(Probe) 0.00 root rows:0"
],
"Res": null
},
{
"SQL": "select count(*) from t as t1 left join t as t2 on t1.c1 = t2.c1 where t1.c1 != NULL",
"Plan": [
"StreamAgg 1.00 root funcs:count(1)->Column#7",
"└─MergeJoin 0.00 root left outer join, left key:test.t.c1, right key:test.t.c1",
" ├─TableDual(Build) 0.00 root rows:0",
" └─TableDual(Probe) 0.00 root rows:0"
],
"Res": [
"0"
]
},
{
"SQL": "select * from t as t1 left join t as t2 on t1.c1 = t2.c1 where t1.c1 is not NULL",
"Plan": [
"HashJoin 12487.50 root left outer join, equal:[eq(test.t.c1, test.t.c1)]",
"├─TableReader(Build) 9990.00 root data:Selection",
"│ └─Selection 9990.00 cop[tikv] not(isnull(test.t.c1))",
"│ └─TableFullScan 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo",
"└─TableReader(Probe) 9990.00 root data:Selection",
" └─Selection 9990.00 cop[tikv] not(isnull(test.t.c1))",
" └─TableFullScan 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"Res": [
"2001 1 2001 1"
]
}
]
},
{
"Name": "TestRangePartitionBoundariesEq",
"Cases": [
{
"SQL": "INSERT INTO t VALUES (999998, '999998 Filler ...'), (999999, '999999 Filler ...'), (1000000, '1000000 Filler ...'), (1000001, '1000001 Filler ...'), (1000002, '1000002 Filler ...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (1999998, '1999998 Filler ...'), (1999999, '1999999 Filler ...'), (2000000, '2000000 Filler ...'), (2000001, '2000001 Filler ...'), (2000002, '2000002 Filler ...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (2999998, '2999998 Filler ...'), (2999999, '2999999 Filler ...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (-2147483648, 'MIN_INT filler...'), (0, '0 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "ANALYZE TABLE t",
"Plan": null,
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a = -2147483648",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a IN (-2147483648)",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a = 0",
"Plan": [
"p0"
],
"Res": [
"0 0 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a IN (0)",
"Plan": [
"p0"
],
"Res": [
"0 0 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a = 999998",
"Plan": [
"p0"
],
"Res": [
"999998 999998 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a IN (999998)",
"Plan": [
"p0"
],
"Res": [
"999998 999998 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a = 999999",
"Plan": [
"p0"
],
"Res": [
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a IN (999999)",
"Plan": [
"p0"
],
"Res": [
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a = 1000000",
"Plan": [
"p1"
],
"Res": [
"1000000 1000000 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a IN (1000000)",
"Plan": [
"p1"
],
"Res": [
"1000000 1000000 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a = 1000001",
"Plan": [
"p1"
],
"Res": [
"1000001 1000001 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a IN (1000001)",
"Plan": [
"p1"
],
"Res": [
"1000001 1000001 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a = 1000002",
"Plan": [
"p1"
],
"Res": [
"1000002 1000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a IN (1000002)",
"Plan": [
"p1"
],
"Res": [
"1000002 1000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a = 3000000",
"Plan": null,
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a IN (3000000)",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a = 3000001",
"Plan": null,
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a IN (3000001)",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a IN (-2147483648, -2147483647)",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a IN (-2147483647, -2147483646)",
"Plan": [
"p0"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a IN (999997, 999998, 999999)",
"Plan": [
"p0"
],
"Res": [
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a IN (999998, 999999, 1000000)",
"Plan": [
"p0 p1"
],
"Res": [
"1000000 1000000 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a IN (999999, 1000000, 1000001)",
"Plan": [
"p0 p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a IN (1000000, 1000001, 1000002)",
"Plan": [
"p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a IN (1999997, 1999998, 1999999)",
"Plan": [
"p1"
],
"Res": [
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a IN (1999998, 1999999, 2000000)",
"Plan": [
"p1 p2"
],
"Res": [
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a IN (1999999, 2000000, 2000001)",
"Plan": [
"p1 p2"
],
"Res": [
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a IN (2000000, 2000001, 2000002)",
"Plan": [
"p2"
],
"Res": [
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a IN (2999997, 2999998, 2999999)",
"Plan": [
"p2"
],
"Res": [
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a IN (2999998, 2999999, 3000000)",
"Plan": [
"p2"
],
"Res": [
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a IN (2999999, 3000000, 3000001)",
"Plan": [
"p2"
],
"Res": [
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a IN (3000000, 3000001, 3000002)",
"Plan": [
"dual"
],
"Res": null
}
]
},
{
"Name": "TestRangePartitionBoundariesNe",
"Cases": [
{
"SQL": "INSERT INTO t VALUES (0, '0 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (1, '1 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (2, '2 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (3, '3 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (4, '4 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (5, '5 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (6, '6 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "ANALYZE TABLE t",
"Plan": null,
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a != -1",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE 1 = 1 AND a != -1",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a NOT IN (-2, -1)",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE 1 = 0 OR a = -1",
"Plan": [
"p0"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a != 0",
"Plan": [
"all"
],
"Res": [
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE 1 = 1 AND a != -1 AND a != 0",
"Plan": [
"all"
],
"Res": [
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a NOT IN (-2, -1, 0)",
"Plan": [
"all"
],
"Res": [
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE 1 = 0 OR a = -1 OR a = 0",
"Plan": [
"p0"
],
"Res": [
"0 0 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a != 1",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE 1 = 1 AND a != -1 AND a != 0 AND a != 1",
"Plan": [
"all"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a NOT IN (-2, -1, 0, 1)",
"Plan": [
"all"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE 1 = 0 OR a = -1 OR a = 0 OR a = 1",
"Plan": [
"p0 p1"
],
"Res": [
"0 0 Filler...",
"1 1 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a != 2",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE 1 = 1 AND a != -1 AND a != 0 AND a != 1 AND a != 2",
"Plan": [
"all"
],
"Res": [
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a NOT IN (-2, -1, 0, 1, 2)",
"Plan": [
"all"
],
"Res": [
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE 1 = 0 OR a = -1 OR a = 0 OR a = 1 OR a = 2",
"Plan": [
"p0 p1 p2"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a != 3",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE 1 = 1 AND a != -1 AND a != 0 AND a != 1 AND a != 2 AND a != 3",
"Plan": [
"all"
],
"Res": [
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a NOT IN (-2, -1, 0, 1, 2, 3)",
"Plan": [
"all"
],
"Res": [
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE 1 = 0 OR a = -1 OR a = 0 OR a = 1 OR a = 2 OR a = 3",
"Plan": [
"p0 p1 p2 p3"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a != 4",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE 1 = 1 AND a != -1 AND a != 0 AND a != 1 AND a != 2 AND a != 3 AND a != 4",
"Plan": [
"all"
],
"Res": [
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a NOT IN (-2, -1, 0, 1, 2, 3, 4)",
"Plan": [
"all"
],
"Res": [
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE 1 = 0 OR a = -1 OR a = 0 OR a = 1 OR a = 2 OR a = 3 OR a = 4",
"Plan": [
"p0 p1 p2 p3 p4"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a != 5",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE 1 = 1 AND a != -1 AND a != 0 AND a != 1 AND a != 2 AND a != 3 AND a != 4 AND a != 5",
"Plan": [
"all"
],
"Res": [
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a NOT IN (-2, -1, 0, 1, 2, 3, 4, 5)",
"Plan": [
"all"
],
"Res": [
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE 1 = 0 OR a = -1 OR a = 0 OR a = 1 OR a = 2 OR a = 3 OR a = 4 OR a = 5",
"Plan": [
"p0 p1 p2 p3 p4 p5"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a != 6",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE 1 = 1 AND a != -1 AND a != 0 AND a != 1 AND a != 2 AND a != 3 AND a != 4 AND a != 5 AND a != 6",
"Plan": [
"all"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a NOT IN (-2, -1, 0, 1, 2, 3, 4, 5, 6)",
"Plan": [
"all"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE 1 = 0 OR a = -1 OR a = 0 OR a = 1 OR a = 2 OR a = 3 OR a = 4 OR a = 5 OR a = 6",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a != 7",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE 1 = 1 AND a != -1 AND a != 0 AND a != 1 AND a != 2 AND a != 3 AND a != 4 AND a != 5 AND a != 6 AND a != 7",
"Plan": [
"all"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a NOT IN (-2, -1, 0, 1, 2, 3, 4, 5, 6, 7)",
"Plan": [
"all"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE 1 = 0 OR a = -1 OR a = 0 OR a = 1 OR a = 2 OR a = 3 OR a = 4 OR a = 5 OR a = 6 OR a = 7",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
}
]
},
{
"Name": "TestRangePartitionBoundariesBetweenM",
"Cases": [
{
"SQL": "INSERT INTO t VALUES (999998, '999998 Filler ...'), (999999, '999999 Filler ...'), (1000000, '1000000 Filler ...'), (1000001, '1000001 Filler ...'), (1000002, '1000002 Filler ...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (1999998, '1999998 Filler ...'), (1999999, '1999999 Filler ...'), (2000000, '2000000 Filler ...'), (2000001, '2000001 Filler ...'), (2000002, '2000002 Filler ...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (2999998, '2999998 Filler ...'), (2999999, '2999999 Filler ...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (-2147483648, 'MIN_INT filler...'), (0, '0 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "ANALYZE TABLE t",
"Plan": null,
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2147483649",
"Plan": [
"p0"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2147483648",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2147483647",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2147483646",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2147483638",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2146483650",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2146483649",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2146483648",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2146483647",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN -2147483648 AND -2146483646",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 0 AND -1",
"Plan": [
"p0"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 0 AND 0",
"Plan": [
"p0"
],
"Res": [
"0 0 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 0 AND 1",
"Plan": [
"p0"
],
"Res": [
"0 0 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 0 AND 2",
"Plan": [
"p0"
],
"Res": [
"0 0 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 0 AND 10",
"Plan": [
"p0"
],
"Res": [
"0 0 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 0 AND 999998",
"Plan": [
"p0"
],
"Res": [
"0 0 Filler...",
"999998 999998 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 0 AND 999999",
"Plan": [
"p0"
],
"Res": [
"0 0 Filler...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 0 AND 1000000",
"Plan": [
"p0 p1"
],
"Res": [
"0 0 Filler...",
"1000000 1000000 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 0 AND 1000001",
"Plan": [
"p0 p1"
],
"Res": [
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 0 AND 1000002",
"Plan": [
"p0 p1"
],
"Res": [
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999998 AND 999997",
"Plan": [
"p0"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999998 AND 999998",
"Plan": [
"p0"
],
"Res": [
"999998 999998 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999998 AND 999999",
"Plan": [
"p0"
],
"Res": [
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999998 AND 1000000",
"Plan": [
"p0 p1"
],
"Res": [
"1000000 1000000 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999998 AND 1000008",
"Plan": [
"p0 p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999998 AND 1999996",
"Plan": [
"p0 p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999998 AND 1999997",
"Plan": [
"p0 p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999998 AND 1999998",
"Plan": [
"p0 p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999998 AND 1999999",
"Plan": [
"p0 p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999998 AND 2000000",
"Plan": [
"all"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999999 AND 999998",
"Plan": [
"p0"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999999 AND 999999",
"Plan": [
"p0"
],
"Res": [
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999999 AND 1000000",
"Plan": [
"p0 p1"
],
"Res": [
"1000000 1000000 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999999 AND 1000001",
"Plan": [
"p0 p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999999 AND 1000009",
"Plan": [
"p0 p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999999 AND 1999997",
"Plan": [
"p0 p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999999 AND 1999998",
"Plan": [
"p0 p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999999 AND 1999999",
"Plan": [
"p0 p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999999 AND 2000000",
"Plan": [
"all"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 999999 AND 2000001",
"Plan": [
"all"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000000 AND 999999",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000000 AND 1000000",
"Plan": [
"p1"
],
"Res": [
"1000000 1000000 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000000 AND 1000001",
"Plan": [
"p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000000 AND 1000002",
"Plan": [
"p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000000 AND 1000010",
"Plan": [
"p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000000 AND 1999998",
"Plan": [
"p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000000 AND 1999999",
"Plan": [
"p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000000 AND 2000000",
"Plan": [
"p1 p2"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000000 AND 2000001",
"Plan": [
"p1 p2"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000000 AND 2000002",
"Plan": [
"p1 p2"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000001 AND 1000000",
"Plan": [
"p1"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000001 AND 1000001",
"Plan": [
"p1"
],
"Res": [
"1000001 1000001 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000001 AND 1000002",
"Plan": [
"p1"
],
"Res": [
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000001 AND 1000003",
"Plan": [
"p1"
],
"Res": [
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000001 AND 1000011",
"Plan": [
"p1"
],
"Res": [
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000001 AND 1999999",
"Plan": [
"p1"
],
"Res": [
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000001 AND 2000000",
"Plan": [
"p1 p2"
],
"Res": [
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000001 AND 2000001",
"Plan": [
"p1 p2"
],
"Res": [
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000001 AND 2000002",
"Plan": [
"p1 p2"
],
"Res": [
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000001 AND 2000003",
"Plan": [
"p1 p2"
],
"Res": [
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000002 AND 1000001",
"Plan": [
"p1"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000002 AND 1000002",
"Plan": [
"p1"
],
"Res": [
"1000002 1000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000002 AND 1000003",
"Plan": [
"p1"
],
"Res": [
"1000002 1000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000002 AND 1000004",
"Plan": [
"p1"
],
"Res": [
"1000002 1000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000002 AND 1000012",
"Plan": [
"p1"
],
"Res": [
"1000002 1000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000002 AND 2000000",
"Plan": [
"p1 p2"
],
"Res": [
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000002 AND 2000001",
"Plan": [
"p1 p2"
],
"Res": [
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000002 AND 2000002",
"Plan": [
"p1 p2"
],
"Res": [
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000002 AND 2000003",
"Plan": [
"p1 p2"
],
"Res": [
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1000002 AND 2000004",
"Plan": [
"p1 p2"
],
"Res": [
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000000 AND 2999999",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000000 AND 3000000",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000000 AND 3000001",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000000 AND 3000002",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000000 AND 3000010",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000000 AND 3999998",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000000 AND 3999999",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000000 AND 4000000",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000000 AND 4000001",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000000 AND 4000002",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000001 AND 3000000",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000001 AND 3000001",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000001 AND 3000002",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000001 AND 3000003",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000001 AND 3000011",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000001 AND 3999999",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000001 AND 4000000",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000001 AND 4000001",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000001 AND 4000002",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3000001 AND 4000003",
"Plan": [
"dual"
],
"Res": null
}
]
},
{
"Name": "TestRangePartitionBoundariesBetweenS",
"Cases": [
{
"SQL": "INSERT INTO t VALUES (0, '0 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (1, '1 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (2, '2 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (3, '3 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (4, '4 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (5, '5 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (6, '6 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "ANALYZE TABLE t",
"Plan": null,
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 2 AND -1",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN -1 AND 4",
"Plan": [
"p0 p1 p2 p3 p4"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 2 AND 0",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 0 AND 4",
"Plan": [
"p0 p1 p2 p3 p4"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 2 AND 1",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 1 AND 4",
"Plan": [
"p1 p2 p3 p4"
],
"Res": [
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 2 AND 2",
"Plan": [
"p2"
],
"Res": [
"2 2 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 2 AND 4",
"Plan": [
"p2 p3 p4"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 2 AND 3",
"Plan": [
"p2 p3"
],
"Res": [
"2 2 Filler...",
"3 3 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 3 AND 4",
"Plan": [
"p3 p4"
],
"Res": [
"3 3 Filler...",
"4 4 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 2 AND 4",
"Plan": [
"p2 p3 p4"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 4 AND 4",
"Plan": [
"p4"
],
"Res": [
"4 4 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 2 AND 5",
"Plan": [
"p2 p3 p4 p5"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 5 AND 4",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 2 AND 6",
"Plan": [
"p2 p3 p4 p5 p6"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 6 AND 4",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 2 AND 7",
"Plan": [
"p2 p3 p4 p5 p6"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a BETWEEN 7 AND 4",
"Plan": [
"dual"
],
"Res": null
}
]
},
{
"Name": "TestRangePartitionBoundariesLtM",
"Cases": [
{
"SQL": "INSERT INTO t VALUES (999998, '999998 Filler ...'), (999999, '999999 Filler ...'), (1000000, '1000000 Filler ...'), (1000001, '1000001 Filler ...'), (1000002, '1000002 Filler ...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (1999998, '1999998 Filler ...'), (1999999, '1999999 Filler ...'), (2000000, '2000000 Filler ...'), (2000001, '2000001 Filler ...'), (2000002, '2000002 Filler ...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (2999998, '2999998 Filler ...'), (2999999, '2999999 Filler ...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (-2147483648, 'MIN_INT filler...'), (0, '0 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "ANALYZE TABLE t",
"Plan": null,
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a < -2147483648",
"Plan": [
"p0"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a > -2147483648",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= -2147483648",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= -2147483648",
"Plan": [
"all"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 0",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 0",
"Plan": [
"all"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 0",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 0",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 999998",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 999998",
"Plan": [
"all"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 999998",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"999998 999998 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 999998",
"Plan": [
"all"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 999999",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"999998 999998 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 999999",
"Plan": [
"p1 p2"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 999999",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 999999",
"Plan": [
"all"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 1000000",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1000000",
"Plan": [
"p1 p2"
],
"Res": [
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 1000000",
"Plan": [
"p0 p1"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 1000000",
"Plan": [
"p1 p2"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 1000001",
"Plan": [
"p0 p1"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1000001",
"Plan": [
"p1 p2"
],
"Res": [
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 1000001",
"Plan": [
"p0 p1"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 1000001",
"Plan": [
"p1 p2"
],
"Res": [
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 1000002",
"Plan": [
"p0 p1"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1000002",
"Plan": [
"p1 p2"
],
"Res": [
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 1000002",
"Plan": [
"p0 p1"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 1000002",
"Plan": [
"p1 p2"
],
"Res": [
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 3000000",
"Plan": [
"all"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 3000000",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a <= 3000000",
"Plan": [
"all"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 3000000",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a < 3000001",
"Plan": [
"all"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 3000001",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a <= 3000001",
"Plan": [
"all"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 3000001",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a < 999997",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 999997",
"Plan": [
"all"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 999997",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 999997",
"Plan": [
"all"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 999997 AND a <= 999999",
"Plan": [
"p0"
],
"Res": [
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 999997 AND a <= 999999",
"Plan": [
"p0"
],
"Res": [
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 999997 AND a < 999999",
"Plan": [
"p0"
],
"Res": [
"999998 999998 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 999997 AND a <= 999999",
"Plan": [
"p0"
],
"Res": [
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 999998",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 999998",
"Plan": [
"all"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 999998",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"999998 999998 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 999998",
"Plan": [
"all"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 999998 AND a <= 1000000",
"Plan": [
"p0 p1"
],
"Res": [
"1000000 1000000 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 999998 AND a <= 1000000",
"Plan": [
"p0 p1"
],
"Res": [
"1000000 1000000 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 999998 AND a < 1000000",
"Plan": [
"p0"
],
"Res": [
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 999998 AND a <= 1000000",
"Plan": [
"p0 p1"
],
"Res": [
"1000000 1000000 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 999999",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"999998 999998 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 999999",
"Plan": [
"p1 p2"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 999999",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 999999",
"Plan": [
"all"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 999999 AND a <= 1000001",
"Plan": [
"p0 p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 999999 AND a <= 1000001",
"Plan": [
"p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 999999 AND a < 1000001",
"Plan": [
"p1"
],
"Res": [
"1000000 1000000 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 999999 AND a <= 1000001",
"Plan": [
"p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 1000000",
"Plan": [
"p0"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1000000",
"Plan": [
"p1 p2"
],
"Res": [
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 1000000",
"Plan": [
"p0 p1"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 1000000",
"Plan": [
"p1 p2"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 1000000 AND a <= 1000002",
"Plan": [
"p1"
],
"Res": [
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1000000 AND a <= 1000002",
"Plan": [
"p1"
],
"Res": [
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1000000 AND a < 1000002",
"Plan": [
"p1"
],
"Res": [
"1000001 1000001 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1000000 AND a <= 1000002",
"Plan": [
"p1"
],
"Res": [
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 1999997",
"Plan": [
"p0 p1"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1999997",
"Plan": [
"p1 p2"
],
"Res": [
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 1999997",
"Plan": [
"p0 p1"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 1999997",
"Plan": [
"p1 p2"
],
"Res": [
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 1999997 AND a <= 1999999",
"Plan": [
"p1"
],
"Res": [
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1999997 AND a <= 1999999",
"Plan": [
"p1"
],
"Res": [
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1999997 AND a < 1999999",
"Plan": [
"p1"
],
"Res": [
"1999998 1999998 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1999997 AND a <= 1999999",
"Plan": [
"p1"
],
"Res": [
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 1999998",
"Plan": [
"p0 p1"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1999998",
"Plan": [
"p1 p2"
],
"Res": [
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 1999998",
"Plan": [
"p0 p1"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 1999998",
"Plan": [
"p1 p2"
],
"Res": [
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 1999998 AND a <= 2000000",
"Plan": [
"p1 p2"
],
"Res": [
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1999998 AND a <= 2000000",
"Plan": [
"p1 p2"
],
"Res": [
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1999998 AND a < 2000000",
"Plan": [
"p1"
],
"Res": [
"1999999 1999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1999998 AND a <= 2000000",
"Plan": [
"p1 p2"
],
"Res": [
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 1999999",
"Plan": [
"p0 p1"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1999999",
"Plan": [
"p2"
],
"Res": [
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 1999999",
"Plan": [
"p0 p1"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 1999999",
"Plan": [
"p1 p2"
],
"Res": [
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 1999999 AND a <= 2000001",
"Plan": [
"p1 p2"
],
"Res": [
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1999999 AND a <= 2000001",
"Plan": [
"p2"
],
"Res": [
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1999999 AND a < 2000001",
"Plan": [
"p2"
],
"Res": [
"2000000 2000000 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1999999 AND a <= 2000001",
"Plan": [
"p2"
],
"Res": [
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2000000",
"Plan": [
"p0 p1"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2000000",
"Plan": [
"p2"
],
"Res": [
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2000000",
"Plan": [
"all"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2000000",
"Plan": [
"p2"
],
"Res": [
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2000000 AND a <= 2000002",
"Plan": [
"p2"
],
"Res": [
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2000000 AND a <= 2000002",
"Plan": [
"p2"
],
"Res": [
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2000000 AND a < 2000002",
"Plan": [
"p2"
],
"Res": [
"2000001 2000001 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2000000 AND a <= 2000002",
"Plan": [
"p2"
],
"Res": [
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2999997",
"Plan": [
"all"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2999997",
"Plan": [
"p2"
],
"Res": [
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2999997",
"Plan": [
"all"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2999997",
"Plan": [
"p2"
],
"Res": [
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2999997 AND a <= 2999999",
"Plan": [
"p2"
],
"Res": [
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2999997 AND a <= 2999999",
"Plan": [
"p2"
],
"Res": [
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2999997 AND a < 2999999",
"Plan": [
"p2"
],
"Res": [
"2999998 2999998 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2999997 AND a <= 2999999",
"Plan": [
"p2"
],
"Res": [
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2999998",
"Plan": [
"all"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2999998",
"Plan": [
"p2"
],
"Res": [
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2999998",
"Plan": [
"all"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2999998",
"Plan": [
"p2"
],
"Res": [
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2999998 AND a <= 3000000",
"Plan": [
"p2"
],
"Res": [
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2999998 AND a <= 3000000",
"Plan": [
"p2"
],
"Res": [
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2999998 AND a < 3000000",
"Plan": [
"p2"
],
"Res": [
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2999998 AND a <= 3000000",
"Plan": [
"p2"
],
"Res": [
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2999999",
"Plan": [
"all"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2999999",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a <= 2999999",
"Plan": [
"all"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2999999",
"Plan": [
"p2"
],
"Res": [
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2999999 AND a <= 3000001",
"Plan": [
"p2"
],
"Res": [
"2999999 2999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2999999 AND a <= 3000001",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a > 2999999 AND a < 3000001",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a > 2999999 AND a <= 3000001",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a < 3000000",
"Plan": [
"all"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 3000000",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a <= 3000000",
"Plan": [
"all"
],
"Res": [
"-2147483648 MIN_INT filler...",
"0 0 Filler...",
"1000000 1000000 Filler ...",
"1000001 1000001 Filler ...",
"1000002 1000002 Filler ...",
"1999998 1999998 Filler ...",
"1999999 1999999 Filler ...",
"2000000 2000000 Filler ...",
"2000001 2000001 Filler ...",
"2000002 2000002 Filler ...",
"2999998 2999998 Filler ...",
"2999999 2999999 Filler ...",
"999998 999998 Filler ...",
"999999 999999 Filler ..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 3000000",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a >= 3000000 AND a <= 3000002",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a > 3000000 AND a <= 3000002",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a > 3000000 AND a < 3000002",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a > 3000000 AND a <= 3000002",
"Plan": [
"dual"
],
"Res": null
}
]
},
{
"Name": "TestRangePartitionBoundariesLtS",
"Cases": [
{
"SQL": "INSERT INTO t VALUES (0, '0 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (1, '1 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (2, '2 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (3, '3 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (4, '4 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (5, '5 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "INSERT INTO t VALUES (6, '6 Filler...')",
"Plan": null,
"Res": null
},
{
"SQL": "ANALYZE TABLE t",
"Plan": null,
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a < -1",
"Plan": [
"p0"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a > -1",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= -1",
"Plan": [
"p0"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a >= -1",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2 OR a > -1",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2 AND a < -1",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a < 2 OR a > -1)",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a > 2 AND a < -1)",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2 OR a >= -1",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2 AND a < -1",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a < 2 OR a >= -1)",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a >= 2 AND a < -1)",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2 OR a > -1",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2 AND a <= -1",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a <= 2 OR a > -1)",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a > 2 AND a <= -1)",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2 OR a >= -1",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2 AND a <= -1",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a <= 2 OR a >= -1)",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a >= 2 AND a <= -1)",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 0",
"Plan": [
"p0"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a > 0",
"Plan": [
"p1 p2 p3 p4 p5 p6"
],
"Res": [
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 0",
"Plan": [
"p0"
],
"Res": [
"0 0 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 0",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2 OR a > 0",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2 AND a < 0",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a < 2 OR a > 0)",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a > 2 AND a < 0)",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2 OR a >= 0",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2 AND a < 0",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a < 2 OR a >= 0)",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a >= 2 AND a < 0)",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2 OR a > 0",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2 AND a <= 0",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a <= 2 OR a > 0)",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a > 2 AND a <= 0)",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2 OR a >= 0",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2 AND a <= 0",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a <= 2 OR a >= 0)",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a >= 2 AND a <= 0)",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 1",
"Plan": [
"p0"
],
"Res": [
"0 0 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 1",
"Plan": [
"p2 p3 p4 p5 p6"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 1",
"Plan": [
"p0 p1"
],
"Res": [
"0 0 Filler...",
"1 1 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 1",
"Plan": [
"p1 p2 p3 p4 p5 p6"
],
"Res": [
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2 OR a > 1",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2 AND a < 1",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a < 2 OR a > 1)",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a > 2 AND a < 1)",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2 OR a >= 1",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2 AND a < 1",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a < 2 OR a >= 1)",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a >= 2 AND a < 1)",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2 OR a > 1",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2 AND a <= 1",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a <= 2 OR a > 1)",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a > 2 AND a <= 1)",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2 OR a >= 1",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2 AND a <= 1",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a <= 2 OR a >= 1)",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a >= 2 AND a <= 1)",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2",
"Plan": [
"p0 p1"
],
"Res": [
"0 0 Filler...",
"1 1 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2",
"Plan": [
"p3 p4 p5 p6"
],
"Res": [
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2",
"Plan": [
"p0 p1 p2"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2",
"Plan": [
"p2 p3 p4 p5 p6"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2 OR a > 2",
"Plan": [
"p0 p1 p3 p4 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2 AND a < 2",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a < 2 OR a > 2)",
"Plan": [
"p2"
],
"Res": [
"2 2 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a > 2 AND a < 2)",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2 OR a >= 2",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2 AND a < 2",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a < 2 OR a >= 2)",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a >= 2 AND a < 2)",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2 OR a > 2",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2 AND a <= 2",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a <= 2 OR a > 2)",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a > 2 AND a <= 2)",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2 OR a >= 2",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2 AND a <= 2",
"Plan": [
"p2"
],
"Res": [
"2 2 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a <= 2 OR a >= 2)",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a >= 2 AND a <= 2)",
"Plan": [
"p0 p1 p3 p4 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 3",
"Plan": [
"p0 p1 p2"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 3",
"Plan": [
"p4 p5 p6"
],
"Res": [
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 3",
"Plan": [
"p0 p1 p2 p3"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 3",
"Plan": [
"p3 p4 p5 p6"
],
"Res": [
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2 OR a > 3",
"Plan": [
"p0 p1 p4 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2 AND a < 3",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a < 2 OR a > 3)",
"Plan": [
"p2 p3"
],
"Res": [
"2 2 Filler...",
"3 3 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a > 2 AND a < 3)",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2 OR a >= 3",
"Plan": [
"p0 p1 p3 p4 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2 AND a < 3",
"Plan": [
"p2"
],
"Res": [
"2 2 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a < 2 OR a >= 3)",
"Plan": [
"p2"
],
"Res": [
"2 2 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a >= 2 AND a < 3)",
"Plan": [
"p0 p1 p3 p4 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2 OR a > 3",
"Plan": [
"p0 p1 p2 p4 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2 AND a <= 3",
"Plan": [
"p3"
],
"Res": [
"3 3 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a <= 2 OR a > 3)",
"Plan": [
"p3"
],
"Res": [
"3 3 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a > 2 AND a <= 3)",
"Plan": [
"p0 p1 p2 p4 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2 OR a >= 3",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2 AND a <= 3",
"Plan": [
"p2 p3"
],
"Res": [
"2 2 Filler...",
"3 3 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a <= 2 OR a >= 3)",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE NOT (a >= 2 AND a <= 3)",
"Plan": [
"p0 p1 p4 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 4",
"Plan": [
"p0 p1 p2 p3"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 4",
"Plan": [
"p5 p6"
],
"Res": [
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 4",
"Plan": [
"p0 p1 p2 p3 p4"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 4",
"Plan": [
"p4 p5 p6"
],
"Res": [
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2 OR a > 4",
"Plan": [
"p0 p1 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2 AND a < 4",
"Plan": [
"p3"
],
"Res": [
"3 3 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a < 2 OR a > 4)",
"Plan": [
"p2 p3 p4"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a > 2 AND a < 4)",
"Plan": [
"p0 p1 p2 p4 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2 OR a >= 4",
"Plan": [
"p0 p1 p4 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2 AND a < 4",
"Plan": [
"p2 p3"
],
"Res": [
"2 2 Filler...",
"3 3 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a < 2 OR a >= 4)",
"Plan": [
"p2 p3"
],
"Res": [
"2 2 Filler...",
"3 3 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a >= 2 AND a < 4)",
"Plan": [
"p0 p1 p4 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2 OR a > 4",
"Plan": [
"p0 p1 p2 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2 AND a <= 4",
"Plan": [
"p3 p4"
],
"Res": [
"3 3 Filler...",
"4 4 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a <= 2 OR a > 4)",
"Plan": [
"p3 p4"
],
"Res": [
"3 3 Filler...",
"4 4 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a > 2 AND a <= 4)",
"Plan": [
"p0 p1 p2 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2 OR a >= 4",
"Plan": [
"p0 p1 p2 p4 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2 AND a <= 4",
"Plan": [
"p2 p3 p4"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a <= 2 OR a >= 4)",
"Plan": [
"p3"
],
"Res": [
"3 3 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a >= 2 AND a <= 4)",
"Plan": [
"p0 p1 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 5",
"Plan": [
"p0 p1 p2 p3 p4"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 5",
"Plan": [
"p6"
],
"Res": [
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 5",
"Plan": [
"p0 p1 p2 p3 p4 p5"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 5",
"Plan": [
"p5 p6"
],
"Res": [
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2 OR a > 5",
"Plan": [
"p0 p1 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2 AND a < 5",
"Plan": [
"p3 p4"
],
"Res": [
"3 3 Filler...",
"4 4 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a < 2 OR a > 5)",
"Plan": [
"p2 p3 p4 p5"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a > 2 AND a < 5)",
"Plan": [
"p0 p1 p2 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2 OR a >= 5",
"Plan": [
"p0 p1 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2 AND a < 5",
"Plan": [
"p2 p3 p4"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a < 2 OR a >= 5)",
"Plan": [
"p2 p3 p4"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a >= 2 AND a < 5)",
"Plan": [
"p0 p1 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2 OR a > 5",
"Plan": [
"p0 p1 p2 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2 AND a <= 5",
"Plan": [
"p3 p4 p5"
],
"Res": [
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a <= 2 OR a > 5)",
"Plan": [
"p3 p4 p5"
],
"Res": [
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a > 2 AND a <= 5)",
"Plan": [
"p0 p1 p2 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2 OR a >= 5",
"Plan": [
"p0 p1 p2 p5 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2 AND a <= 5",
"Plan": [
"p2 p3 p4 p5"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a <= 2 OR a >= 5)",
"Plan": [
"p3 p4"
],
"Res": [
"3 3 Filler...",
"4 4 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a >= 2 AND a <= 5)",
"Plan": [
"p0 p1 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 6",
"Plan": [
"p0 p1 p2 p3 p4 p5"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 6",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a <= 6",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 6",
"Plan": [
"p6"
],
"Res": [
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2 OR a > 6",
"Plan": [
"p0 p1"
],
"Res": [
"0 0 Filler...",
"1 1 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2 AND a < 6",
"Plan": [
"p3 p4 p5"
],
"Res": [
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a < 2 OR a > 6)",
"Plan": [
"p2 p3 p4 p5 p6"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a > 2 AND a < 6)",
"Plan": [
"p0 p1 p2 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2 OR a >= 6",
"Plan": [
"p0 p1 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2 AND a < 6",
"Plan": [
"p2 p3 p4 p5"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a < 2 OR a >= 6)",
"Plan": [
"p2 p3 p4 p5"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a >= 2 AND a < 6)",
"Plan": [
"p0 p1 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2 OR a > 6",
"Plan": [
"p0 p1 p2"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2 AND a <= 6",
"Plan": [
"p3 p4 p5 p6"
],
"Res": [
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a <= 2 OR a > 6)",
"Plan": [
"p3 p4 p5 p6"
],
"Res": [
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a > 2 AND a <= 6)",
"Plan": [
"p0 p1 p2"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2 OR a >= 6",
"Plan": [
"p0 p1 p2 p6"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2 AND a <= 6",
"Plan": [
"p2 p3 p4 p5 p6"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a <= 2 OR a >= 6)",
"Plan": [
"p3 p4 p5"
],
"Res": [
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a >= 2 AND a <= 6)",
"Plan": [
"p0 p1"
],
"Res": [
"0 0 Filler...",
"1 1 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 7",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 7",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a <= 7",
"Plan": [
"all"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 7",
"Plan": [
"dual"
],
"Res": null
},
{
"SQL": "SELECT * FROM t WHERE a < 2 OR a > 7",
"Plan": [
"p0 p1"
],
"Res": [
"0 0 Filler...",
"1 1 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2 AND a < 7",
"Plan": [
"p3 p4 p5 p6"
],
"Res": [
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a < 2 OR a > 7)",
"Plan": [
"p2 p3 p4 p5 p6"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a > 2 AND a < 7)",
"Plan": [
"p0 p1 p2"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a < 2 OR a >= 7",
"Plan": [
"p0 p1"
],
"Res": [
"0 0 Filler...",
"1 1 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2 AND a < 7",
"Plan": [
"p2 p3 p4 p5 p6"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a < 2 OR a >= 7)",
"Plan": [
"p2 p3 p4 p5 p6"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a >= 2 AND a < 7)",
"Plan": [
"p0 p1"
],
"Res": [
"0 0 Filler...",
"1 1 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2 OR a > 7",
"Plan": [
"p0 p1 p2"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a > 2 AND a <= 7",
"Plan": [
"p3 p4 p5 p6"
],
"Res": [
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a <= 2 OR a > 7)",
"Plan": [
"p3 p4 p5 p6"
],
"Res": [
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a > 2 AND a <= 7)",
"Plan": [
"p0 p1 p2"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a <= 2 OR a >= 7",
"Plan": [
"p0 p1 p2"
],
"Res": [
"0 0 Filler...",
"1 1 Filler...",
"2 2 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE a >= 2 AND a <= 7",
"Plan": [
"p2 p3 p4 p5 p6"
],
"Res": [
"2 2 Filler...",
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a <= 2 OR a >= 7)",
"Plan": [
"p3 p4 p5 p6"
],
"Res": [
"3 3 Filler...",
"4 4 Filler...",
"5 5 Filler...",
"6 6 Filler..."
]
},
{
"SQL": "SELECT * FROM t WHERE NOT (a >= 2 AND a <= 7)",
"Plan": [
"p0 p1"
],
"Res": [
"0 0 Filler...",
"1 1 Filler..."
]
}
]
}
]