Files
tidb/executor/testdata/prepare_suite_out.json
2022-01-05 19:48:36 +08:00

1294 lines
40 KiB
JSON

[
{
"Name": "TestPlanCacheWithDifferentVariableTypes",
"Cases": [
{
"PrepareStmt": "prepare stmt from \"select ?, ?\"",
"Executes": [
{
"SQL": "execute stmt using @v1, @v2",
"Vars": [
{
"Name": "v1",
"Value": "1"
},
{
"Name": "v2",
"Value": "2"
}
],
"Plan": [
"Projection_3 1.00 root 1->Column#1, 2->Column#2",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"1 2"
]
},
{
"SQL": "execute stmt using @v1, @v2",
"Vars": [
{
"Name": "v1",
"Value": "1"
},
{
"Name": "v2",
"Value": "\"abc\""
}
],
"Plan": [
"Projection_3 1.00 root 1->Column#1, abc->Column#2",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"1 abc"
]
},
{
"SQL": "execute stmt using @v1, @v2",
"Vars": [
{
"Name": "v1",
"Value": "10"
},
{
"Name": "v2",
"Value": "\"cba\""
}
],
"Plan": [
"Projection_3 1.00 root 10->Column#1, cba->Column#2",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"10 cba"
]
}
]
},
{
"PrepareStmt": "prepare stmt from \"select a from t1 where t1.b = ?\"",
"Executes": [
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "3"
}
],
"Plan": [
"Projection_4 10.00 root test.t1.a",
"└─Selection_7 10.00 root eq(test.t1.b, 3)",
" └─IndexReader_6 10.00 root index:IndexRangeScan_5",
" └─IndexRangeScan_5 10.00 cop[tikv] table:t1, index:b(b, a) range:[3,3], keep order:false, stats:pseudo"
],
"LastPlanUseCache": "0",
"Result": [
"3"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "2"
}
],
"Plan": [
"Projection_4 10.00 root test.t1.a",
"└─Selection_7 10.00 root eq(test.t1.b, 2)",
" └─IndexReader_6 10.00 root index:IndexRangeScan_5",
" └─IndexRangeScan_5 10.00 cop[tikv] table:t1, index:b(b, a) range:[2,2], keep order:false, stats:pseudo"
],
"LastPlanUseCache": "1",
"Result": [
"2"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "-200"
}
],
"Plan": [
"Projection_4 10.00 root test.t1.a",
"└─Selection_7 10.00 root eq(test.t1.b, -200)",
" └─IndexReader_6 10.00 root index:IndexRangeScan_5",
" └─IndexRangeScan_5 10.00 cop[tikv] table:t1, index:b(b, a) range:[-200,-200], keep order:false, stats:pseudo"
],
"LastPlanUseCache": "1",
"Result": null
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"abc\""
}
],
"Plan": [
"Projection_4 10.00 root test.t1.a",
"└─IndexReader_6 10.00 root index:IndexRangeScan_5",
" └─IndexRangeScan_5 10.00 cop[tikv] table:t1, index:b(b, a) range:[0,0], keep order:false, stats:pseudo"
],
"LastPlanUseCache": "0",
"Result": null
}
]
},
{
"PrepareStmt": "prepare stmt from \"select t1.c, t2.c from t1 join t2 on t1.b = t2.b and t1.a = t2.a where t1.b = ?\"",
"Executes": [
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "1"
}
],
"Plan": [
"HashJoin_38 6387.21 root inner join, equal:[eq(test.t1.b, test.t2.b) eq(test.t1.a, test.t2.a)]",
"├─Selection_69(Build) 79.92 root eq(test.t2.b, 1), not(isnull(test.t2.a)), not(isnull(test.t2.b))",
"│ └─IndexLookUp_68 99.80 root ",
"│ ├─Selection_67(Build) 99.80 cop[tikv] not(isnull(test.t2.b))",
"│ │ └─IndexRangeScan_65 99.90 cop[tikv] table:t2, index:b(b, a) range:[1 -inf,1 +inf], keep order:false, stats:pseudo",
"│ └─TableRowIDScan_66(Probe) 99.80 cop[tikv] table:t2 keep order:false, stats:pseudo",
"└─Selection_60(Probe) 79.92 root eq(test.t1.b, 1), not(isnull(test.t1.a)), not(isnull(test.t1.b))",
" └─IndexLookUp_59 99.80 root ",
" ├─Selection_58(Build) 99.80 cop[tikv] not(isnull(test.t1.b))",
" │ └─IndexRangeScan_56 99.90 cop[tikv] table:t1, index:b(b, a) range:[1 -inf,1 +inf], keep order:false, stats:pseudo",
" └─TableRowIDScan_57(Probe) 99.80 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"LastPlanUseCache": "0",
"Result": null
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "2"
}
],
"Plan": [
"HashJoin_38 6387.21 root inner join, equal:[eq(test.t1.b, test.t2.b) eq(test.t1.a, test.t2.a)]",
"├─Selection_69(Build) 79.92 root eq(test.t2.b, 2), not(isnull(test.t2.a)), not(isnull(test.t2.b))",
"│ └─IndexLookUp_68 99.80 root ",
"│ ├─Selection_67(Build) 99.80 cop[tikv] not(isnull(test.t2.b))",
"│ │ └─IndexRangeScan_65 99.90 cop[tikv] table:t2, index:b(b, a) range:[2 -inf,2 +inf], keep order:false, stats:pseudo",
"│ └─TableRowIDScan_66(Probe) 99.80 cop[tikv] table:t2 keep order:false, stats:pseudo",
"└─Selection_60(Probe) 79.92 root eq(test.t1.b, 2), not(isnull(test.t1.a)), not(isnull(test.t1.b))",
" └─IndexLookUp_59 99.80 root ",
" ├─Selection_58(Build) 99.80 cop[tikv] not(isnull(test.t1.b))",
" │ └─IndexRangeScan_56 99.90 cop[tikv] table:t1, index:b(b, a) range:[2 -inf,2 +inf], keep order:false, stats:pseudo",
" └─TableRowIDScan_57(Probe) 99.80 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"LastPlanUseCache": "1",
"Result": [
"222 222"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"abc\""
}
],
"Plan": [
"HashJoin_36 124.88 root inner join, equal:[eq(test.t1.a, test.t2.a)]",
"├─IndexLookUp_57(Build) 99.90 root ",
"│ ├─IndexRangeScan_55(Build) 99.90 cop[tikv] table:t2, index:b(b, a) range:[0 -inf,0 +inf], keep order:false, stats:pseudo",
"│ └─TableRowIDScan_56(Probe) 99.90 cop[tikv] table:t2 keep order:false, stats:pseudo",
"└─IndexLookUp_51(Probe) 99.90 root ",
" ├─IndexRangeScan_49(Build) 99.90 cop[tikv] table:t1, index:b(b, a) range:[0 -inf,0 +inf], keep order:false, stats:pseudo",
" └─TableRowIDScan_50(Probe) 99.90 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"LastPlanUseCache": "0",
"Result": null
}
]
},
{
"PrepareStmt": "prepare stmt from \"select cast(? as decimal)\"",
"Executes": [
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"123456789.0123456789012345678901234567890123456789\""
}
],
"Plan": [
"Projection_3 1.00 root cast(123456789.0123456789012345678901234567890123456789, decimal(len:78)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"123456789"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"1234567.1234567\""
}
],
"Plan": [
"Projection_3 1.00 root cast(1234567.1234567, decimal(10,0) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"1234567"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"0.99999\""
}
],
"Plan": [
"Projection_3 1.00 root cast(0.99999, decimal(10,0) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"1"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"99999.0\""
}
],
"Plan": [
"Projection_3 1.00 root cast(99999.0, decimal(10,0) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"99999"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-123456789.0123456789012345678901234567890123456789\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-123456789.0123456789012345678901234567890123456789, decima(len:79)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-123456789"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-1234567.1234567\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-1234567.1234567, decimal(10,0) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-1234567"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-0.99999\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-0.99999, decimal(10,0) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-1"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-99999.0\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-99999.0, decimal(10,0) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-99999"
]
}
]
},
{
"PrepareStmt": "prepare stmt from \"select cast(? as decimal(10,0))\"",
"Executes": [
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"123456789.0123456789012345678901234567890123456789\""
}
],
"Plan": [
"Projection_3 1.00 root cast(123456789.0123456789012345678901234567890123456789, decimal(len:78)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"123456789"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"1234567.1234567\""
}
],
"Plan": [
"Projection_3 1.00 root cast(1234567.1234567, decimal(10,0) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"1234567"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"0.99999\""
}
],
"Plan": [
"Projection_3 1.00 root cast(0.99999, decimal(10,0) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"1"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"99999.0\""
}
],
"Plan": [
"Projection_3 1.00 root cast(99999.0, decimal(10,0) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"99999"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-123456789.0123456789012345678901234567890123456789\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-123456789.0123456789012345678901234567890123456789, decima(len:79)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-123456789"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-1234567.1234567\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-1234567.1234567, decimal(10,0) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-1234567"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-0.99999\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-0.99999, decimal(10,0) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-1"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-99999.0\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-99999.0, decimal(10,0) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-99999"
]
}
]
},
{
"PrepareStmt": "prepare stmt from \"select cast(? as decimal(5,4))\"",
"Executes": [
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"123456789.0123456789012345678901234567890123456789\""
}
],
"Plan": [
"Projection_3 1.00 root cast(123456789.0123456789012345678901234567890123456789, decimal(len:77)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"9.9999"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"1234567.1234567\""
}
],
"Plan": [
"Projection_3 1.00 root cast(1234567.1234567, decimal(5,4) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"9.9999"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"0.99999\""
}
],
"Plan": [
"Projection_3 1.00 root cast(0.99999, decimal(5,4) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"1.0000"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"99999.0\""
}
],
"Plan": [
"Projection_3 1.00 root cast(99999.0, decimal(5,4) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"9.9999"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-123456789.0123456789012345678901234567890123456789\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-123456789.0123456789012345678901234567890123456789, decima(len:78)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-9.9999"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-1234567.1234567\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-1234567.1234567, decimal(5,4) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-9.9999"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-0.99999\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-0.99999, decimal(5,4) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-1.0000"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-99999.0\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-99999.0, decimal(5,4) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-9.9999"
]
}
]
},
{
"PrepareStmt": "prepare stmt from \"select cast(? as decimal(64, 30))\"",
"Executes": [
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"123456789.0123456789012345678901234567890123456789\""
}
],
"Plan": [
"Projection_3 1.00 root cast(123456789.0123456789012345678901234567890123456789, decimal(len:79)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"123456789.012345678901234567890123456789"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"1234567.1234567\""
}
],
"Plan": [
"Projection_3 1.00 root cast(1234567.1234567, decimal(64,30) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"1234567.123456700000000000000000000000"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"0.99999\""
}
],
"Plan": [
"Projection_3 1.00 root cast(0.99999, decimal(64,30) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"0.999990000000000000000000000000"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"99999.0\""
}
],
"Plan": [
"Projection_3 1.00 root cast(99999.0, decimal(64,30) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"99999.000000000000000000000000000000"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-123456789.0123456789012345678901234567890123456789\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-123456789.0123456789012345678901234567890123456789, decima(len:80)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-123456789.012345678901234567890123456789"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-1234567.1234567\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-1234567.1234567, decimal(64,30) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-1234567.123456700000000000000000000000"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-0.99999\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-0.99999, decimal(64,30) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-0.999990000000000000000000000000"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-99999.0\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-99999.0, decimal(64,30) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-99999.000000000000000000000000000000"
]
}
]
},
{
"PrepareStmt": "prepare stmt from \"select cast(? as decimal(15,5))\"",
"Executes": [
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"123456789.0123456789012345678901234567890123456789\""
}
],
"Plan": [
"Projection_3 1.00 root cast(123456789.0123456789012345678901234567890123456789, decimal(len:78)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"123456789.01235"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"1234567.1234567\""
}
],
"Plan": [
"Projection_3 1.00 root cast(1234567.1234567, decimal(15,5) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"1234567.12346"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"0.99999\""
}
],
"Plan": [
"Projection_3 1.00 root cast(0.99999, decimal(15,5) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"0.99999"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"99999.0\""
}
],
"Plan": [
"Projection_3 1.00 root cast(99999.0, decimal(15,5) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"99999.00000"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-123456789.0123456789012345678901234567890123456789\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-123456789.0123456789012345678901234567890123456789, decima(len:79)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-123456789.01235"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-1234567.1234567\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-1234567.1234567, decimal(15,5) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-1234567.12346"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-0.99999\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-0.99999, decimal(15,5) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-0.99999"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-99999.0\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-99999.0, decimal(15,5) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-99999.00000"
]
}
]
},
{
"PrepareStmt": "prepare stmt from \"select cast(? as decimal(5,5))\"",
"Executes": [
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"123456789.0123456789012345678901234567890123456789\""
}
],
"Plan": [
"Projection_3 1.00 root cast(123456789.0123456789012345678901234567890123456789, decimal(len:77)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"0.99999"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"1234567.1234567\""
}
],
"Plan": [
"Projection_3 1.00 root cast(1234567.1234567, decimal(5,5) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"0.99999"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"0.99999\""
}
],
"Plan": [
"Projection_3 1.00 root cast(0.99999, decimal(5,5) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"0.99999"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"99999.0\""
}
],
"Plan": [
"Projection_3 1.00 root cast(99999.0, decimal(5,5) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"0.99999"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-123456789.0123456789012345678901234567890123456789\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-123456789.0123456789012345678901234567890123456789, decima(len:78)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-0.99999"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-1234567.1234567\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-1234567.1234567, decimal(5,5) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-0.99999"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-0.99999\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-0.99999, decimal(5,5) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-0.99999"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"-99999.0\""
}
],
"Plan": [
"Projection_3 1.00 root cast(-99999.0, decimal(5,5) BINARY)->Column#1",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"-0.99999"
]
}
]
}
]
},
{
"Name": "TestParameterPushDown",
"Cases": [
{
"Result": null,
"Plan": null,
"FromCache": ""
},
{
"Result": [
"2",
"3",
"4",
"5",
"6"
],
"Plan": [
"Selection_8 8000.00 root gt(plus(test.t.a, 0), 1)",
"└─IndexReader_7 8000.00 root index:Selection_6",
" └─Selection_6 8000.00 cop[tikv] gt(plus(test.t.a, 0), 1)",
" └─IndexFullScan_5 10000.00 cop[tikv] table:t, index:a(a) keep order:false, stats:pseudo"
],
"FromCache": "0"
},
{
"Result": [
"6"
],
"Plan": [
"Selection_8 8000.00 root gt(plus(test.t.a, 0), 5)",
"└─IndexReader_7 8000.00 root index:Selection_6",
" └─Selection_6 8000.00 cop[tikv] gt(plus(test.t.a, 0), 5)",
" └─IndexFullScan_5 10000.00 cop[tikv] table:t, index:a(a) keep order:false, stats:pseudo"
],
"FromCache": "1"
},
{
"Result": null,
"Plan": null,
"FromCache": ""
},
{
"Result": [
"2 2 2",
"3 3 3",
"4 4 4",
"5 5 5",
"6 6 6"
],
"Plan": [
"Selection_8 3333.33 root gt(test.t.b, 1)",
"└─TableReader_7 3333.33 root data:Selection_6",
" └─Selection_6 3333.33 cop[tikv] gt(test.t.b, 1)",
" └─TableFullScan_5 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
],
"FromCache": "0"
},
{
"Result": [
"6 6 6"
],
"Plan": [
"Selection_8 3333.33 root gt(test.t.b, 5)",
"└─TableReader_7 3333.33 root data:Selection_6",
" └─Selection_6 3333.33 cop[tikv] gt(test.t.b, 5)",
" └─TableFullScan_5 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
],
"FromCache": "1"
},
{
"Result": null,
"Plan": null,
"FromCache": ""
},
{
"Result": [
"2 2 2",
"3 3 3",
"4 4 4",
"5 5 5",
"6 6 6"
],
"Plan": [
"Selection_10 2666.67 root gt(plus(test.t.a, 0), 1), gt(test.t.b, 1)",
"└─IndexLookUp_9 2666.67 root ",
" ├─Selection_7(Build) 8000.00 cop[tikv] gt(plus(test.t.a, 0), 1)",
" │ └─IndexFullScan_5 10000.00 cop[tikv] table:t, index:a(a) keep order:false, stats:pseudo",
" └─Selection_8(Probe) 2666.67 cop[tikv] gt(test.t.b, 1)",
" └─TableRowIDScan_6 8000.00 cop[tikv] table:t keep order:false, stats:pseudo"
],
"FromCache": "0"
},
{
"Result": [
"6 6 6"
],
"Plan": [
"Selection_10 2666.67 root gt(plus(test.t.a, 0), 5), gt(test.t.b, 5)",
"└─IndexLookUp_9 2666.67 root ",
" ├─Selection_7(Build) 8000.00 cop[tikv] gt(plus(test.t.a, 0), 5)",
" │ └─IndexFullScan_5 10000.00 cop[tikv] table:t, index:a(a) keep order:false, stats:pseudo",
" └─Selection_8(Probe) 2666.67 cop[tikv] gt(test.t.b, 5)",
" └─TableRowIDScan_6 8000.00 cop[tikv] table:t keep order:false, stats:pseudo"
],
"FromCache": "1"
},
{
"Result": null,
"Plan": null,
"FromCache": ""
},
{
"Result": [
"1 1 1",
"2 2 2",
"3 3 3",
"4 4 4",
"5 5 5",
"6 6 6"
],
"Plan": [
"Limit_7 10.00 root offset:0, count:10",
"└─TableReader_11 10.00 root data:Limit_10",
" └─Limit_10 10.00 cop[tikv] offset:0, count:10",
" └─TableFullScan_9 10.00 cop[tikv] table:t keep order:false, stats:pseudo"
],
"FromCache": "0"
},
{
"Result": [
"1 1 1",
"2 2 2",
"3 3 3",
"4 4 4",
"5 5 5",
"6 6 6"
],
"Plan": [
"Limit_7 20.00 root offset:0, count:20",
"└─TableReader_11 20.00 root data:Limit_10",
" └─Limit_10 20.00 cop[tikv] offset:0, count:20",
" └─TableFullScan_9 20.00 cop[tikv] table:t keep order:false, stats:pseudo"
],
"FromCache": "0"
},
{
"Result": null,
"Plan": null,
"FromCache": ""
},
{
"Result": [
"1 1 1"
],
"Plan": [
"TopN_7 1.00 root test.t.b, offset:0, count:1",
"└─TableReader_14 1.00 root data:TopN_13",
" └─TopN_13 1.00 cop[tikv] test.t.b, offset:0, count:1",
" └─TableFullScan_12 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
],
"FromCache": "0"
},
{
"Result": [
"1 1 1",
"2 2 2",
"3 3 3",
"4 4 4",
"5 5 5"
],
"Plan": [
"TopN_7 5.00 root test.t.b, offset:0, count:5",
"└─TableReader_14 5.00 root data:TopN_13",
" └─TopN_13 5.00 cop[tikv] test.t.b, offset:0, count:5",
" └─TableFullScan_12 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
],
"FromCache": "0"
},
{
"Result": null,
"Plan": null,
"FromCache": ""
},
{
"Result": [
"1 2",
"2 3",
"3 4",
"4 5",
"5 6",
"6 7"
],
"Plan": [
"Projection_4 8000.00 root test.t.b, Column#5",
"└─HashAgg_9 8000.00 root group by:test.t.b, funcs:sum(Column#6)->Column#5, funcs:firstrow(test.t.b)->test.t.b",
" └─TableReader_10 8000.00 root data:HashAgg_5",
" └─HashAgg_5 8000.00 cop[tikv] group by:test.t.b, funcs:sum(plus(test.t.c, 1))->Column#6",
" └─TableFullScan_8 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
],
"FromCache": "0"
},
{
"Result": [
"1 6",
"2 7",
"3 8",
"4 9",
"5 10",
"6 11"
],
"Plan": [
"Projection_4 8000.00 root test.t.b, Column#5",
"└─HashAgg_9 8000.00 root group by:test.t.b, funcs:sum(Column#6)->Column#5, funcs:firstrow(test.t.b)->test.t.b",
" └─TableReader_10 8000.00 root data:HashAgg_5",
" └─HashAgg_5 8000.00 cop[tikv] group by:test.t.b, funcs:sum(plus(test.t.c, 5))->Column#6",
" └─TableFullScan_8 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
],
"FromCache": "1"
}
]
}
]