6505 lines
167 KiB
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..."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|