SERVER-121502 Fallback JOO if STP is rooted \$or (#54099)
GitOrigin-RevId: f67473e9d12e6406695aacb23bcbaced1ce0baa5
This commit is contained in:
parent
0cc5ead7c1
commit
b0d52c74d7
@ -407,4 +407,94 @@ runTestCaseEligiblePipeline({
|
||||
expectedCount: 1,
|
||||
});
|
||||
|
||||
// Rooted $ors on the base collection disqualify the query completely.
|
||||
runTestCaseIneligiblePipeline({
|
||||
pipeline: [
|
||||
{$match: {$or: [{a: 1}, {a: 2}, {a: {$gt: 12}}]}},
|
||||
{
|
||||
$lookup: {
|
||||
from: coll12.getName(),
|
||||
localField: "a",
|
||||
foreignField: "a",
|
||||
as: "coll12",
|
||||
},
|
||||
},
|
||||
{$unwind: "$coll12"},
|
||||
],
|
||||
expectedCount: 1,
|
||||
});
|
||||
|
||||
// Same goes for a rooted $or on the first collection we're joining on.
|
||||
runTestCaseIneligiblePipeline({
|
||||
pipeline: [
|
||||
{
|
||||
$lookup: {
|
||||
from: coll12.getName(),
|
||||
localField: "a",
|
||||
foreignField: "a",
|
||||
as: "coll12",
|
||||
pipeline: [{$match: {$or: [{a: 1}, {a: 2}, {a: {$gt: 12}}]}}],
|
||||
},
|
||||
},
|
||||
{$unwind: "$coll12"},
|
||||
],
|
||||
expectedCount: 1,
|
||||
});
|
||||
|
||||
// But, we will permit a prefix to a rooted-$or query.
|
||||
runTestCaseIneligibleSuffix({
|
||||
pipeline: [
|
||||
{
|
||||
$lookup: {
|
||||
from: coll12.getName(),
|
||||
localField: "a",
|
||||
foreignField: "a",
|
||||
as: "coll12",
|
||||
},
|
||||
},
|
||||
{$unwind: "$coll12"},
|
||||
{
|
||||
$lookup: {
|
||||
from: coll13.getName(),
|
||||
let: {
|
||||
"a": "$a",
|
||||
},
|
||||
pipeline: [{$match: {$or: [{a: 1}, {a: 2}, {a: {$gt: 12}}], $expr: {$eq: ["$$a", "$a"]}}}],
|
||||
as: "coll13",
|
||||
},
|
||||
},
|
||||
{$unwind: "$coll13"},
|
||||
],
|
||||
expectedCount: 1,
|
||||
expectedJoinNodesInPrefix: 1,
|
||||
});
|
||||
|
||||
// We don't bail out if our predicate is too complex to run as a rooted-$or.
|
||||
runTestCaseIneligibleSuffix({
|
||||
pipeline: [
|
||||
{
|
||||
$lookup: {
|
||||
from: coll12.getName(),
|
||||
localField: "a",
|
||||
foreignField: "a",
|
||||
as: "coll12",
|
||||
},
|
||||
},
|
||||
{$unwind: "$coll12"},
|
||||
{
|
||||
$lookup: {
|
||||
from: coll13.getName(),
|
||||
let: {
|
||||
"a": "$a",
|
||||
},
|
||||
pipeline: [{$match: {$or: [{a: 1}, {a: 2}, {a: {$gt: 12}}], $expr: {$eq: ["$$a", "$a"]}, d: "foo"}}],
|
||||
as: "coll13",
|
||||
},
|
||||
},
|
||||
{$unwind: "$coll13"},
|
||||
],
|
||||
expectedCount: 1,
|
||||
expectedJoinNodesInPrefix: 2,
|
||||
});
|
||||
|
||||
MongoRunner.stopMongod(conn);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -20,19 +20,13 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$and":[{"p_type":"LARGE BURNISHED NICKEL"},{"p_retailprice":{"$gt":1699.79}}]}}],"cursor":{},"idx":1},
|
||||
"winningPlan": [
|
||||
"NLJ nation_s.n_regionkey = r_regionkey",
|
||||
" -> [none] NLJ supplier.s_nationkey = n_nationkey",
|
||||
" -> [none] INLJ partsupp.ps_suppkey = s_suppkey",
|
||||
" -> [none] INLJ p_partkey = ps_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'$and':[{'p_type':{'$eq':'LARGE BURNISHED NICKEL'}},{'p_retailprice':{'$gt':1699.79}}]} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'$or':[{'ps_supplycost':{'$lt':68.15}},{'ps_comment':{'$regex':'^ ab'}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_partkey_1",
|
||||
" -> [supplier] FETCH: plan_stability_tpch_fuzzed.supplier {'$or':[{'s_name':{'$eq':'Supplier#000000255'}},{'s_acctbal':{'$lte':7307.62}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.supplier s_suppkey_1",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$or':[{'n_name':{'$eq':'BRAZIL'}},{'n_name':{'$not':{'$in':['CHINA','GERMANY']}}}]} ",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'$nor':[{'r_name':{'$eq':'EUROPE'}},{'r_name':{'$eq':'AFRICA'}}]}"],
|
||||
"keys" : 124,
|
||||
"docs" : 20244,
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.part {'$and':[{'p_type':{'$eq':'LARGE BURNISHED NICKEL'}},{'p_retailprice':{'$gt':1699.79}}]} ",
|
||||
"$lookup partsupp ps_partkey_1",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 132,
|
||||
"docs" : 20132,
|
||||
"rows" : 3,
|
||||
"csum" : "3faef6da4d2dd39c"},
|
||||
|
||||
@ -293,19 +287,18 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$and":[{"p_name":{"$regex":{"$regex":"^d","$options":""}}}]}}],"cursor":{},"idx":12},
|
||||
"winningPlan": [
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
"HJ p_partkey = partsupp.ps_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_name':{'$regex':'^d'}} ",
|
||||
" -> [none] INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] HJ r_regionkey = n_regionkey",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'$or':[{'r_name':{'$eq':'AMERICA'}},{'r_regionkey':{'$eq':2}}]} ",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'n_name':{'$not':{'$in':['CHINA','KENYA']}}} ",
|
||||
" -> [none] HJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'n_name':{'$not':{'$in':['CHINA','KENYA']}}} ",
|
||||
" -> [supplier] FETCH: plan_stability_tpch_fuzzed.supplier ",
|
||||
" -> IXSCAN: plan_stability_tpch_fuzzed.supplier s_nationkey_1 {'s_nationkey':['[9.0, 9.0]']}",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_availqty':{'$gt':6300}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_name':{'$regex':'^d'}}"],
|
||||
"keys" : 3645,
|
||||
"docs" : 23675,
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 3711,
|
||||
"docs" : 23736,
|
||||
"rows" : 66,
|
||||
"csum" : "c54513aa70219efe"},
|
||||
|
||||
@ -397,18 +390,15 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$or":[{"region_s.r_regionkey":1},{"region_s.r_regionkey":0},{"supplier.o_totalprice":{"$eq":162171.78}}]}}],"cursor":{},"idx":16},
|
||||
"winningPlan": [
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] HJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] HJ r_regionkey = n_regionkey",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'$nor':[{'r_regionkey':{'$eq':0}},{'r_regionkey':{'$eq':4}},{'r_regionkey':{'$eq':4}}]} ",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$or':[{'n_name':{'$eq':'UNITED STATES'}},{'n_name':{'$in':['IRAQ','MOZAMBIQUE']}},{'n_name':{'$not':{'$in':['JAPAN','MOROCCO']}}}]} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$or':[{'s_name':{'$eq':'Supplier#000000577'}},{'s_nationkey':{'$eq':5}},{'s_acctbal':{'$lte':7448.46}},{'s_acctbal':{'$lt':958.07}}]} ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$and':[{'ps_supplycost':{'$lt':397.14}},{'ps_availqty':{'$gt':8620}},{'ps_supplycost':{'$gt':299.69}},{'ps_comment':{'$not':{'$regex':'^ons.'}}}]} ",
|
||||
"HJ ps_partkey = p_partkey",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$and':[{'ps_supplycost':{'$lt':397.14}},{'ps_availqty':{'$gt':8620}},{'ps_supplycost':{'$gt':299.69}},{'ps_comment':{'$not':{'$regex':'^ons.'}}}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part ",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1",
|
||||
"$match"],
|
||||
"keys" : 0,
|
||||
"docs" : 101030,
|
||||
"keys" : 2710,
|
||||
"docs" : 102710,
|
||||
"rows" : 135,
|
||||
"csum" : "96d5ff5f658062ff"},
|
||||
|
||||
@ -503,12 +493,11 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$nor":[{"region_s.r_name":"AMERICA"},{"s_acctbal":{"$lt":1922.82}}]}}],"cursor":{},"idx":20},
|
||||
"winningPlan": [
|
||||
"HJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$or':[{'n_regionkey':{'$eq':4}},{'n_name':{'$not':{'$in':['IRAQ','JORDAN']}}}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$not':{'$lt':1922.82}}} ",
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$not':{'$lt':1922.82}}} ",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 730,
|
||||
"docs" : 1755,
|
||||
"keys" : 1460,
|
||||
"docs" : 2460,
|
||||
"rows" : 148,
|
||||
"csum" : "4bf4dd258a4db8a1"},
|
||||
|
||||
@ -682,15 +671,12 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$nor":[{"region_s.r_name":"EUROPE"}]}}],"cursor":{},"idx":27},
|
||||
"winningPlan": [
|
||||
"INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$nor':[{'n_name':{'$eq':'KENYA'}},{'n_regionkey':{'$eq':2}}]} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$or':[{'s_nationkey':{'$eq':23}},{'s_name':{'$in':['Supplier#000000103','Supplier#000000478','Supplier#000000785']}}]} ",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.partsupp ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.partsupp ",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 6720,
|
||||
"docs" : 7745,
|
||||
"keys" : 86720,
|
||||
"docs" : 166720,
|
||||
"rows" : 80,
|
||||
"csum" : "784f2d6b6e456a00"},
|
||||
|
||||
@ -825,12 +811,11 @@
|
||||
{"$unwind":"$lineitem"},
|
||||
{"$match":{"$and":[{"lineitem.l_suppkey":824},{"p_type":{"$regex":{"$regex":"^STANDARD","$options":""}}}]}}],"cursor":{},"idx":33},
|
||||
"winningPlan": [
|
||||
"HJ p_partkey = ps_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_type':{'$regex':'^STANDARD'}} ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$or':[{'ps_availqty':{'$eq':2039}},{'ps_availqty':{'$gte':2977}}]} ",
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.part {'p_type':{'$regex':'^STANDARD'}} ",
|
||||
"$lookup partsupp ps_partkey_1",
|
||||
"$lookup lineitem l_partkey_1_l_suppkey_1"],
|
||||
"keys" : 253,
|
||||
"docs" : 100253,
|
||||
"keys" : 13385,
|
||||
"docs" : 33385,
|
||||
"rows" : 39,
|
||||
"csum" : "62515fc5699c3f0f"},
|
||||
|
||||
@ -885,17 +870,16 @@
|
||||
{"$match":{"$or":[{"ps_comment":{"$regex":{"$regex":"^. ","$options":""}}}]}}],"cursor":{},"idx":36},
|
||||
"winningPlan": [
|
||||
"INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] INLJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] NLJ n_regionkey = r_regionkey",
|
||||
" -> [nation_s] FETCH: plan_stability_tpch_fuzzed.nation {'n_name':{'$eq':'CANADA'}} ",
|
||||
" -> IXSCAN: plan_stability_tpch_fuzzed.nation n_regionkey_1 {'n_regionkey':['[1.0, 1.0]']}",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'$or':[{'r_regionkey':{'$eq':1}},{'r_name':{'$in':['AFRICA','EUROPE']}}]} ",
|
||||
" -> [none] INLJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] FETCH: plan_stability_tpch_fuzzed.nation {'n_name':{'$eq':'CANADA'}} ",
|
||||
" -> IXSCAN: plan_stability_tpch_fuzzed.nation n_regionkey_1 {'n_regionkey':['[1.0, 1.0]']}",
|
||||
" -> [supplier] FETCH: plan_stability_tpch_fuzzed.supplier {'$and':[{'s_name':{'$not':{'$eq':'Supplier#000000448'}}},{'$nor':[{'s_acctbal':{'$lte':6537.07}},{'s_acctbal':{'$gt':7174.74}}]}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.supplier s_nationkey_1",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^. '}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1"],
|
||||
"keys" : 362,
|
||||
"docs" : 367,
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 395,
|
||||
"docs" : 395,
|
||||
"rows" : 33,
|
||||
"csum" : "a86f18ab05ee13f8"},
|
||||
|
||||
@ -961,13 +945,12 @@
|
||||
{"$unwind":"$nation_s"},
|
||||
{"$match":{"$or":[{"ps_comment":{"$regex":{"$regex":"^th","$options":""}}}]}}],"cursor":{},"idx":39},
|
||||
"winningPlan": [
|
||||
"HJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$or':[{'n_name':{'$eq':'INDIA'}},{'n_regionkey':{'$eq':1}},{'n_name':{'$in':['PERU','VIETNAM']}}]} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$and':[{'s_acctbal':{'$gte':1084.18}},{'$nor':[{'s_acctbal':{'$eq':7337.45}},{'s_nationkey':{'$eq':13}}]}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^th'}}"],
|
||||
"keys" : 0,
|
||||
"docs" : 81025,
|
||||
"HJ s_suppkey = ps_suppkey",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$and':[{'s_acctbal':{'$gte':1084.18}},{'$nor':[{'s_acctbal':{'$eq':7337.45}},{'s_nationkey':{'$eq':13}}]}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^th'}} ",
|
||||
"$lookup nation n_nationkey_1"],
|
||||
"keys" : 1034,
|
||||
"docs" : 82034,
|
||||
"rows" : 285,
|
||||
"csum" : "377ad8e48b15c1c3"},
|
||||
|
||||
@ -1004,15 +987,13 @@
|
||||
{"$unwind":"$supplier"},
|
||||
{"$match":{"$or":[{"p_name":"blanched sky rose chocolate royal"},{"supplier.o_orderpriority":"5-LOW"}]}}],"cursor":{},"idx":41},
|
||||
"winningPlan": [
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] INLJ s_suppkey = ps_suppkey",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$or':[{'s_name':{'$eq':'Supplier#000000860'}},{'s_nationkey':{'$eq':1}}]} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$not':{'$regex':'^qu'}}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
"HJ p_partkey = ps_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$not':{'$regex':'^qu'}}} ",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$match"],
|
||||
"keys" : 3120,
|
||||
"docs" : 24120,
|
||||
"keys" : 79446,
|
||||
"docs" : 179446,
|
||||
"rows" : 1,
|
||||
"csum" : "420a686e1364aa2d"},
|
||||
|
||||
@ -1072,14 +1053,12 @@
|
||||
{"$unwind":"$nation_s"},
|
||||
{"$match":{"$or":[{"nation_s.n_regionkey":2},{"ps_comment":{"$regex":{"$regex":"^ea","$options":""}}}]}}],"cursor":{},"idx":44},
|
||||
"winningPlan": [
|
||||
"HJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$and':[{'n_regionkey':{'$not':{'$eq':4}}},{'$nor':[{'n_name':{'$eq':'IRAN'}},{'n_regionkey':{'$eq':2}}]}]} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$or':[{'s_name':{'$eq':'Supplier#000000920'}},{'s_acctbal':{'$lt':9537.73}}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.partsupp ",
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.partsupp ",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$match"],
|
||||
"keys" : 0,
|
||||
"docs" : 81025,
|
||||
"keys" : 156400,
|
||||
"docs" : 236400,
|
||||
"rows" : 192,
|
||||
"csum" : "370f31332f473ae6"},
|
||||
|
||||
@ -1337,16 +1316,13 @@
|
||||
{"$unwind":"$nation_s"},
|
||||
{"$match":{"$nor":[{"p_container":{"$nin":["LG PACK","WRAP BOX"]}}]}}],"cursor":{},"idx":54},
|
||||
"winningPlan": [
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ s_nationkey = n_nationkey",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$or':[{'s_acctbal':{'$lt':-942.73}},{'s_name':{'$in':['Supplier#000000543','Supplier#000000643']}}]} ",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$and':[{'n_regionkey':{'$in':[1,4]}},{'n_name':{'$not':{'$in':['ALGERIA','BRAZIL']}}}]} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'$nor':[{'ps_supplycost':{'$gt':528.21}},{'ps_comment':{'$regex':'^gula'}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'$nor':[{'p_container':{'$not':{'$in':['LG PACK','WRAP BOX']}}}]}"],
|
||||
"keys" : 240,
|
||||
"docs" : 21265,
|
||||
"HJ p_partkey = ps_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'$nor':[{'p_container':{'$not':{'$in':['LG PACK','WRAP BOX']}}}]} ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$nor':[{'ps_supplycost':{'$gt':528.21}},{'ps_comment':{'$regex':'^gula'}}]} ",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1"],
|
||||
"keys" : 2142,
|
||||
"docs" : 102142,
|
||||
"rows" : 5,
|
||||
"csum" : "93ac795e4f7ba211"},
|
||||
|
||||
@ -1382,13 +1358,11 @@
|
||||
{"$unwind":"$nation_s"},
|
||||
{"$match":{"$nor":[{"nation_s.n_regionkey":3}]}}],"cursor":{},"idx":56},
|
||||
"winningPlan": [
|
||||
"INLJ s_suppkey = ps_suppkey",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$or':[{'s_acctbal':{'$eq':-111.84}},{'s_acctbal':{'$gte':8562.82}}]} ",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.partsupp ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.partsupp ",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1"],
|
||||
"keys" : 22400,
|
||||
"docs" : 23400,
|
||||
"keys" : 91200,
|
||||
"docs" : 171200,
|
||||
"rows" : 560,
|
||||
"csum" : "8b420cc6846132c1"},
|
||||
|
||||
@ -1404,16 +1378,12 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$or":[{"ps_comment":{"$regex":{"$regex":"^in","$options":""}}}]}}],"cursor":{},"idx":57},
|
||||
"winningPlan": [
|
||||
"INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] HJ r_regionkey = n_regionkey",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'r_regionkey':{'$not':{'$eq':1}}} ",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'n_name':{'$not':{'$eq':'MOROCCO'}}} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$or':[{'s_nationkey':{'$eq':15}},{'s_acctbal':{'$gt':9747.16}},{'s_name':{'$in':['Supplier#000000439','Supplier#000000517']}}]} ",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^in'}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1"],
|
||||
"keys" : 1520,
|
||||
"docs" : 2550,
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^in'}} ",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 1398,
|
||||
"docs" : 81398,
|
||||
"rows" : 24,
|
||||
"csum" : "c7276510279f3443"},
|
||||
|
||||
@ -1451,16 +1421,12 @@
|
||||
{"$unwind":"$nation_s"},
|
||||
{"$match":{"$nor":[{"p_type":"SMALL BRUSHED NICKEL"}]}}],"cursor":{},"idx":59},
|
||||
"winningPlan": [
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$and':[{'n_regionkey':{'$not':{'$eq':4}}},{'n_regionkey':{'$not':{'$eq':3}}},{'$nor':[{'n_regionkey':{'$eq':1}},{'n_name':{'$in':['CANADA','MOZAMBIQUE','VIETNAM']}}]}]} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$or':[{'s_name':{'$eq':'Supplier#000000676'}},{'s_nationkey':{'$eq':21}}]} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'$or':[{'ps_availqty':{'$eq':2826}},{'ps_supplycost':{'$gt':240.39}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_type':{'$not':{'$eq':'SMALL BRUSHED NICKEL'}}}"],
|
||||
"keys" : 80,
|
||||
"docs" : 21105,
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.part {'p_type':{'$not':{'$eq':'SMALL BRUSHED NICKEL'}}} ",
|
||||
"$lookup partsupp ps_partkey_1",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1"],
|
||||
"keys" : 142138,
|
||||
"docs" : 162138,
|
||||
"rows" : 59,
|
||||
"csum" : "4196cb6b6a10038c"},
|
||||
|
||||
@ -1542,16 +1508,12 @@
|
||||
{"$unwind":"$supplier"},
|
||||
{"$match":{"$or":[{"supplier.s_acctbal":{"$lt":6113.96}},{"p_mfgr":"Manufacturer#2"},{"partsupp.ps_availqty":{"$gt":3930}}]}}],"cursor":{},"idx":63},
|
||||
"winningPlan": [
|
||||
"INLJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] INLJ s_suppkey = ps_suppkey",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_name':{'$eq':'Supplier#000000949'}} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'$or':[{'ps_availqty':{'$gt':789}},{'ps_availqty':{'$gte':7969}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.part ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.part p_partkey_1",
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.part ",
|
||||
"$lookup partsupp ps_partkey_1",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$match"],
|
||||
"keys" : 154,
|
||||
"docs" : 1154,
|
||||
"keys" : 153703,
|
||||
"docs" : 173703,
|
||||
"rows" : 74,
|
||||
"csum" : "d9f0d11bbf4cc47a"},
|
||||
|
||||
@ -1667,12 +1629,11 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$nor":[{"region_s.r_regionkey":3},{"s_name":"Supplier#000000250"}]}}],"cursor":{},"idx":68},
|
||||
"winningPlan": [
|
||||
"HJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$or':[{'n_regionkey':{'$eq':0}},{'n_name':{'$in':['INDIA','IRAN']}}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_name':{'$not':{'$eq':'Supplier#000000250'}}} ",
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_name':{'$not':{'$eq':'Supplier#000000250'}}} ",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 266,
|
||||
"docs" : 1291,
|
||||
"keys" : 1265,
|
||||
"docs" : 2265,
|
||||
"rows" : 40,
|
||||
"csum" : "f13d1ba1a3b88b18"},
|
||||
|
||||
@ -1762,19 +1723,14 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$or":[{"region_s.r_name":"MIDDLE EAST"},{"partsupp.ps_supplycost":{"$lte":804.73}}]}}],"cursor":{},"idx":72},
|
||||
"winningPlan": [
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] NLJ r_regionkey = n_regionkey",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'$and':[{'r_name':{'$eq':'AMERICA'}},{'$nor':[{'r_name':{'$eq':'MIDDLE EAST'}},{'r_name':{'$eq':'ASIA'}}]}]} ",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'n_regionkey':{'$in':[1,2,3]}} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$and':[{'$or':[{'s_nationkey':{'$eq':13}},{'s_acctbal':{'$lt':2461.11}},{'s_name':{'$in':['Supplier#000000119','Supplier#000000517']}}]},{'s_acctbal':{'$lte':8436.92}},{'s_acctbal':{'$gt':2060.13}},{'$nor':[{'s_name':{'$eq':'Supplier#000000319'}},{'s_acctbal':{'$gte':8210.13}},{'s_acctbal':{'$gte':6835.16}}]}]} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'$or':[{'ps_availqty':{'$lte':9607}},{'ps_availqty':{'$lt':2592}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part ",
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.part ",
|
||||
"$lookup partsupp ps_partkey_1",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1",
|
||||
"$match"],
|
||||
"keys" : 720,
|
||||
"docs" : 21750,
|
||||
"keys" : 163332,
|
||||
"docs" : 183332,
|
||||
"rows" : 570,
|
||||
"csum" : "496e921496902881"},
|
||||
|
||||
@ -1891,15 +1847,12 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$or":[{"ps_comment":{"$regex":{"$regex":"^req","$options":""}}}]}}],"cursor":{},"idx":77},
|
||||
"winningPlan": [
|
||||
"HJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] HJ r_regionkey = n_regionkey",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'$and':[{'r_name':{'$not':{'$eq':'AMERICA'}}},{'r_regionkey':{'$not':{'$eq':3}}},{'$nor':[{'r_name':{'$eq':'AFRICA'}},{'r_name':{'$eq':'EUROPE'}},{'r_regionkey':{'$eq':3}}]}]} ",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'n_regionkey':{'$not':{'$eq':2}}} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$or':[{'s_name':{'$eq':'Supplier#000000719'}},{'s_nationkey':{'$eq':19}},{'s_acctbal':{'$lt':9681.99}},{'s_acctbal':{'$gte':7627.85}}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^req'}}"],
|
||||
"keys" : 0,
|
||||
"docs" : 81030,
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^req'}} ",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 873,
|
||||
"docs" : 80873,
|
||||
"rows" : 68,
|
||||
"csum" : "a7755f6f557608a3"},
|
||||
|
||||
@ -2413,14 +2366,12 @@
|
||||
{"$unwind":"$nation_s"},
|
||||
{"$match":{"$nor":[{"nation_s.n_name":"INDIA"},{"nation_s.n_name":{"$in":["BRAZIL","KENYA"]}},{"p_type":{"$regex":{"$regex":"^ECONOMY","$options":""}}}]}}],"cursor":{},"idx":99},
|
||||
"winningPlan": [
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] HJ s_suppkey = ps_suppkey",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$not':{'$gt':7162.15}}} ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$or':[{'ps_supplycost':{'$eq':675.61}},{'ps_comment':{'$in':[{'$regex':'^no','$options':''},{'$regex':'^r','$options':''}]}}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_type':{'$not':{'$regex':'^ECONOMY'}}} ",
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.part {'p_type':{'$not':{'$regex':'^ECONOMY'}}} ",
|
||||
"$lookup partsupp ps_partkey_1",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1"],
|
||||
"keys" : 2410,
|
||||
"docs" : 103410,
|
||||
"keys" : 72261,
|
||||
"docs" : 92261,
|
||||
"rows" : 131,
|
||||
"csum" : "c36a3697a6c7b5bf"},
|
||||
|
||||
@ -2433,13 +2384,11 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$or":[{"s_acctbal":{"$gt":8924.02}}]}}],"cursor":{},"idx":100},
|
||||
"winningPlan": [
|
||||
"HJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] HJ r_regionkey = n_regionkey",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'$nor':[{'r_name':{'$eq':'EUROPE'}},{'r_name':{'$eq':'AFRICA'}},{'r_regionkey':{'$eq':2}}]} ",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$or':[{'n_name':{'$eq':'IRAN'}},{'n_regionkey':{'$in':[1,3]}}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$gt':8924.02}}"],
|
||||
"keys" : 0,
|
||||
"docs" : 1030,
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$gt':8924.02}} ",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 153,
|
||||
"docs" : 1153,
|
||||
"rows" : 29,
|
||||
"csum" : "13b0dc41869a67c8"},
|
||||
|
||||
@ -2647,16 +2596,15 @@
|
||||
{"$match":{"$and":[{"ps_comment":{"$regex":{"$regex":"^slyl","$options":""}}}]}}],"cursor":{},"idx":109},
|
||||
"winningPlan": [
|
||||
"INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] INLJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] NLJ r_regionkey = n_regionkey",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'$or':[{'r_name':{'$eq':'AFRICA'}},{'r_regionkey':{'$eq':0}}]} ",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$nor':[{'n_regionkey':{'$eq':3}},{'n_name':{'$not':{'$in':['ALGERIA','UNITED STATES']}}}]} ",
|
||||
" -> [none] INLJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$nor':[{'n_regionkey':{'$eq':3}},{'n_name':{'$not':{'$in':['ALGERIA','UNITED STATES']}}}]} ",
|
||||
" -> [supplier] FETCH: plan_stability_tpch_fuzzed.supplier {'$nor':[{'s_name':{'$eq':'Supplier#000000832'}},{'s_nationkey':{'$eq':19}},{'s_acctbal':{'$gte':6835.16}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.supplier s_nationkey_1",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^slyl'}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1"],
|
||||
"keys" : 1876,
|
||||
"docs" : 1906,
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 3931,
|
||||
"docs" : 3956,
|
||||
"rows" : 13,
|
||||
"csum" : "072992462d8d04f5"},
|
||||
|
||||
@ -2694,17 +2642,15 @@
|
||||
{"$match":{"$or":[{"ps_availqty":{"$lt":5779}}]}}],"cursor":{},"idx":111},
|
||||
"winningPlan": [
|
||||
"INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] INLJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] INLJ r_regionkey = n_regionkey",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'$or':[{'r_name':{'$eq':'AFRICA'}},{'r_regionkey':{'$in':[0,4]}}]} ",
|
||||
" -> [nation_s] FETCH: plan_stability_tpch_fuzzed.nation {'$and':[{'n_regionkey':{'$eq':0}},{'n_name':{'$not':{'$eq':'RUSSIA'}}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.nation n_regionkey_1",
|
||||
" -> [supplier] FETCH: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$lte':10.33}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.supplier s_nationkey_1",
|
||||
" -> [none] HJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] FETCH: plan_stability_tpch_fuzzed.nation {'n_name':{'$not':{'$eq':'RUSSIA'}}} ",
|
||||
" -> IXSCAN: plan_stability_tpch_fuzzed.nation n_regionkey_1 {'n_regionkey':['[0.0, 0.0]']}",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$lte':10.33}} ",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_availqty':{'$lt':5779}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1"],
|
||||
"keys" : 1229,
|
||||
"docs" : 1234,
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 1611,
|
||||
"docs" : 2611,
|
||||
"rows" : 566,
|
||||
"csum" : "be211d57436f1d68"},
|
||||
|
||||
@ -2898,18 +2844,15 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$nor":[{"p_partkey":12630}]}}],"cursor":{},"idx":119},
|
||||
"winningPlan": [
|
||||
"INLJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] HJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] HJ r_regionkey = n_regionkey",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'$nor':[{'r_regionkey':{'$eq':0}},{'r_regionkey':{'$eq':3}},{'r_regionkey':{'$eq':1}}]} ",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$or':[{'n_regionkey':{'$eq':2}},{'n_name':{'$not':{'$in':['ROMANIA','UNITED STATES']}}}]} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$and':[{'$or':[{'s_acctbal':{'$gte':2781.03}},{'s_acctbal':{'$gte':7182.24}}]},{'s_nationkey':{'$not':{'$eq':20}}}]} ",
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] HJ ps_suppkey = s_suppkey",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$and':[{'ps_comment':{'$regex':'^blit'}},{'ps_availqty':{'$not':{'$eq':3385}}}]} ",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.part {'p_partkey':{'$not':{'$eq':12630}}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.part p_partkey_1"],
|
||||
"keys" : 80,
|
||||
"docs" : 81110,
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$and':[{'$or':[{'s_acctbal':{'$gte':2781.03}},{'s_acctbal':{'$gte':7182.24}}]},{'s_nationkey':{'$not':{'$eq':20}}}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_partkey':{'$not':{'$eq':12630}}} ",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 422,
|
||||
"docs" : 101422,
|
||||
"rows" : 80,
|
||||
"csum" : "8a2a5a4633f75a6b"},
|
||||
|
||||
@ -3009,13 +2952,12 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$or":[{"s_acctbal":{"$gte":8797.4}},{"s_name":"Supplier#000000676"}]}}],"cursor":{},"idx":124},
|
||||
"winningPlan": [
|
||||
"HJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] HJ r_regionkey = n_regionkey",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'r_name':{'$not':{'$eq':'AMERICA'}}} ",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$or':[{'n_name':{'$eq':'VIETNAM'}},{'n_regionkey':{'$eq':4}}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$or':[{'s_name':{'$eq':'Supplier#000000676'}},{'s_acctbal':{'$gte':8797.4}}]}"],
|
||||
"keys" : 0,
|
||||
"docs" : 1030,
|
||||
"SUBPLAN",
|
||||
" -> COLLSCAN: undefined {'$or':[{'s_name':{'$eq':'Supplier#000000676'}},{'s_acctbal':{'$gte':8797.4}}]} ",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 145,
|
||||
"docs" : 1145,
|
||||
"rows" : 26,
|
||||
"csum" : "e5eb71d7398e6a49"},
|
||||
|
||||
@ -3028,12 +2970,12 @@
|
||||
{"$unwind":"$supplier"},
|
||||
{"$match":{"$nor":[{"p_partkey":4487},{"supplier.o_shippriority":{"$gte":0}}]}}],"cursor":{},"idx":125},
|
||||
"winningPlan": [
|
||||
"HJ ps_partkey = p_partkey",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$or':[{'ps_supplycost':{'$eq':27.55}},{'ps_comment':{'$regex':'^ pa'}}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_partkey':{'$not':{'$eq':4487}}} ",
|
||||
"FETCH: plan_stability_tpch_fuzzed.part ",
|
||||
" -> IXSCAN: plan_stability_tpch_fuzzed.part p_partkey_1 {'p_partkey':['[MinKey, 4487.0)','(4487.0, MaxKey]']}",
|
||||
"$lookup partsupp ps_partkey_1",
|
||||
"$lookup supplier s_suppkey_1"],
|
||||
"keys" : 341,
|
||||
"docs" : 100341,
|
||||
"keys" : 100337,
|
||||
"docs" : 100336,
|
||||
"rows" : 257,
|
||||
"csum" : "e3eab48a4346849d"},
|
||||
|
||||
@ -3259,18 +3201,15 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$and":[{"p_comment":{"$regex":{"$regex":"^egu","$options":""}}}]}}],"cursor":{},"idx":136},
|
||||
"winningPlan": [
|
||||
"HJ p_partkey = partsupp.ps_partkey",
|
||||
"INLJ p_partkey = ps_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_comment':{'$regex':'^egu'}} ",
|
||||
" -> [none] INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] HJ r_regionkey = n_regionkey",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'$or':[{'r_name':{'$eq':'ASIA'}},{'r_regionkey':{'$eq':0}}]} ",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$or':[{'n_regionkey':{'$eq':2}},{'n_name':{'$in':['ARGENTINA','ROMANIA','UNITED KINGDOM']}}]} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$or':[{'s_name':{'$eq':'Supplier#000000924'}},{'s_acctbal':{'$gte':8797.4}}]} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'$and':[{'ps_availqty':{'$lt':9209}},{'ps_supplycost':{'$lt':255.03}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1"],
|
||||
"keys" : 2400,
|
||||
"docs" : 23430,
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'$and':[{'ps_availqty':{'$lt':9209}},{'ps_supplycost':{'$lt':255.03}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_partkey_1",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 575,
|
||||
"docs" : 20575,
|
||||
"rows" : 5,
|
||||
"csum" : "d7995bc077b14aa6"},
|
||||
|
||||
@ -3288,13 +3227,12 @@
|
||||
{"$unwind":"$nation_s"},
|
||||
{"$match":{"$nor":[{"supplier.o_orderdate":{"$lte":"1992-01-24T00:00:00.000Z"}},{"nation_s.n_regionkey":3},{"p_container":{"$in":["JUMBO JAR","MED JAR","MED CASE"]}}]}}],"cursor":{},"idx":137},
|
||||
"winningPlan": [
|
||||
"HJ ps_partkey = p_partkey",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$or':[{'ps_supplycost':{'$lt':161.52}},{'ps_comment':{'$regex':'^y e'}}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_container':{'$not':{'$in':['JUMBO JAR','MED CASE','MED JAR']}}} ",
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.part {'p_container':{'$not':{'$in':['JUMBO JAR','MED CASE','MED JAR']}}} ",
|
||||
"$lookup partsupp ps_partkey_1",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1"],
|
||||
"keys" : 13835,
|
||||
"docs" : 113835,
|
||||
"keys" : 87571,
|
||||
"docs" : 107571,
|
||||
"rows" : 243,
|
||||
"csum" : "267627988ce3c1d9"},
|
||||
|
||||
@ -3357,15 +3295,14 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$nor":[{"p_name":"blanched ghost cream azure tomato"},{"nation_s.n_regionkey":3}]}}],"cursor":{},"idx":140},
|
||||
"winningPlan": [
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] HJ s_suppkey = ps_suppkey",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$or':[{'s_nationkey':{'$eq':0}},{'s_acctbal':{'$gt':5046.81}},{'s_name':{'$in':['Supplier#000000225','Supplier#000000469']}}]} ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$nor':[{'ps_availqty':{'$lte':9209}},{'ps_comment':{'$regex':'^en'}}]} ",
|
||||
"HJ ps_partkey = p_partkey",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$nor':[{'ps_availqty':{'$lte':9209}},{'ps_comment':{'$regex':'^en'}}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_name':{'$not':{'$eq':'blanched ghost cream azure tomato'}}} ",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 3643,
|
||||
"docs" : 104643,
|
||||
"keys" : 9895,
|
||||
"docs" : 109895,
|
||||
"rows" : 495,
|
||||
"csum" : "225df9211332b40a"},
|
||||
|
||||
@ -3451,15 +3388,13 @@
|
||||
{"$unwind":"$nation_s"},
|
||||
{"$match":{"$nor":[{"p_comment":{"$regex":{"$regex":"^eans","$options":""}}},{"nation_s.n_regionkey":4}]}}],"cursor":{},"idx":144},
|
||||
"winningPlan": [
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] INLJ s_suppkey = ps_suppkey",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$or':[{'s_name':{'$eq':'Supplier#000000119'}},{'s_acctbal':{'$lt':-111.84}}]} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_availqty':{'$not':{'$eq':4022}}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
"HJ p_partkey = ps_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_comment':{'$not':{'$regex':'^eans'}}} ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_availqty':{'$not':{'$eq':4022}}} ",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1"],
|
||||
"keys" : 12952,
|
||||
"docs" : 33952,
|
||||
"keys" : 86316,
|
||||
"docs" : 186316,
|
||||
"rows" : 239,
|
||||
"csum" : "6257a65b8addd1c8"},
|
||||
|
||||
@ -3592,16 +3527,14 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$nor":[{"region_s.r_regionkey":4}]}}],"cursor":{},"idx":150},
|
||||
"winningPlan": [
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] HJ n_nationkey = supplier.s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'n_regionkey':{'$not':{'$eq':1}}} ",
|
||||
" -> [none] HJ ps_suppkey = s_suppkey",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^ bl'}} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$or':[{'s_acctbal':{'$lte':6938.43}},{'s_acctbal':{'$gt':7937.31}}]} ",
|
||||
"HJ ps_partkey = p_partkey",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^ bl'}} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part ",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 264,
|
||||
"docs" : 101289,
|
||||
"keys" : 921,
|
||||
"docs" : 100921,
|
||||
"rows" : 200,
|
||||
"csum" : "506a6d941e387a08"},
|
||||
|
||||
@ -3710,14 +3643,13 @@
|
||||
{"$unwind":"$nation_s"},
|
||||
{"$match":{"$and":[{"ps_comment":{"$regex":{"$regex":"^ly s","$options":""}}}]}}],"cursor":{},"idx":155},
|
||||
"winningPlan": [
|
||||
"INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$or':[{'n_name':{'$eq':'KENYA'}},{'n_name':{'$in':['CANADA','FRANCE','MOZAMBIQUE']}}]} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$gt':8724.42}} ",
|
||||
"INLJ s_suppkey = ps_suppkey",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$gt':8724.42}} ",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^ly s'}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1"],
|
||||
"keys" : 1040,
|
||||
"docs" : 2065,
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
"$lookup nation n_nationkey_1"],
|
||||
"keys" : 9627,
|
||||
"docs" : 10627,
|
||||
"rows" : 1,
|
||||
"csum" : "2cdd1bcd366008e1"},
|
||||
|
||||
@ -3738,15 +3670,14 @@
|
||||
{"$match":{"$and":[{"region_s.r_regionkey":3}]}}],"cursor":{},"idx":156},
|
||||
"winningPlan": [
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] HJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$or':[{'n_name':{'$in':['PERU','RUSSIA']}},{'n_regionkey':{'$in':[1,3]}}]} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$nor':[{'s_acctbal':{'$eq':-609.59}},{'s_nationkey':{'$eq':6}},{'s_nationkey':{'$eq':6}}]} ",
|
||||
" -> [none] HJ s_suppkey = ps_suppkey",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$nor':[{'s_acctbal':{'$eq':-609.59}},{'s_nationkey':{'$eq':6}},{'s_nationkey':{'$eq':6}}]} ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$and':[{'ps_availqty':{'$lte':6504}},{'ps_supplycost':{'$lt':37.64}}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part ",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 682,
|
||||
"docs" : 101707,
|
||||
"keys" : 2506,
|
||||
"docs" : 103506,
|
||||
"rows" : 330,
|
||||
"csum" : "f3070128eb6a057b"},
|
||||
|
||||
@ -3803,13 +3734,12 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$nor":[{"ps_availqty":{"$gt":298}},{"nation_s.n_name":{"$in":["JAPAN","FRANCE"]}}]}}],"cursor":{},"idx":159},
|
||||
"winningPlan": [
|
||||
"HJ s_suppkey = ps_suppkey",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$or':[{'s_name':{'$eq':'Supplier#000000766'}},{'s_acctbal':{'$lt':1589.13}}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_availqty':{'$not':{'$gt':298}}} ",
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_availqty':{'$not':{'$gt':298}}} ",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 848,
|
||||
"docs" : 81848,
|
||||
"keys" : 3290,
|
||||
"docs" : 83290,
|
||||
"rows" : 86,
|
||||
"csum" : "4599975814c6be72"},
|
||||
|
||||
@ -4135,17 +4065,16 @@
|
||||
{"$match":{"$or":[{"nation_s.n_name":"ALGERIA"},{"partsupp.ps_comment":{"$regex":{"$regex":"^ a","$options":""}}},{"p_mfgr":"Manufacturer#3"},{"supplier.s_acctbal":{"$eq":5322.35}}]}}],"cursor":{},"idx":173},
|
||||
"winningPlan": [
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ s_nationkey = n_nationkey",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$and':[{'$or':[{'s_name':{'$eq':'Supplier#000000537'}},{'s_acctbal':{'$in':[1871.86,8924.02]}}]},{'s_acctbal':{'$lt':7627.85}},{'s_nationkey':{'$not':{'$eq':16}}}]} ",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$or':[{'n_regionkey':{'$eq':4}},{'n_name':{'$not':{'$in':['ARGENTINA','INDONESIA']}}}]} ",
|
||||
" -> [none] INLJ s_suppkey = ps_suppkey",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$and':[{'$or':[{'s_name':{'$eq':'Supplier#000000537'}},{'s_acctbal':{'$in':[1871.86,8924.02]}}]},{'s_acctbal':{'$lt':7627.85}},{'s_nationkey':{'$not':{'$eq':16}}}]} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_availqty':{'$gt':3991}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part ",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$match",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 89,
|
||||
"docs" : 21114,
|
||||
"keys" : 263,
|
||||
"docs" : 21263,
|
||||
"rows" : 9,
|
||||
"csum" : "4e49e200a7760e55"},
|
||||
|
||||
@ -4164,16 +4093,13 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$nor":[{"p_type":"LARGE POLISHED NICKEL"},{"region_s.r_regionkey":2},{"nation_s.n_name":"ROMANIA"}]}}],"cursor":{},"idx":174},
|
||||
"winningPlan": [
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] INLJ s_suppkey = ps_suppkey",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$nor':[{'s_name':{'$eq':'Supplier#000000924'}},{'s_acctbal':{'$gt':-609.59}}]} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'$or':[{'ps_availqty':{'$lte':1439}},{'ps_supplycost':{'$gt':904.85}},{'ps_comment':{'$regex':'^ular'}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_type':{'$not':{'$eq':'LARGE POLISHED NICKEL'}}} ",
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.part {'p_type':{'$not':{'$eq':'LARGE POLISHED NICKEL'}}} ",
|
||||
"$lookup partsupp ps_partkey_1",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 3721,
|
||||
"docs" : 24721,
|
||||
"keys" : 98474,
|
||||
"docs" : 118474,
|
||||
"rows" : 256,
|
||||
"csum" : "1fa64b054b81bb4f"},
|
||||
|
||||
@ -4293,13 +4219,11 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$nor":[{"s_acctbal":{"$gte":-686.97}}]}}],"cursor":{},"idx":180},
|
||||
"winningPlan": [
|
||||
"HJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] HJ r_regionkey = n_regionkey",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'$or':[{'r_name':{'$eq':'AFRICA'}},{'r_regionkey':{'$in':[2]}}]} ",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$or':[{'n_name':{'$not':{'$in':['INDONESIA','IRAQ','JAPAN','VIETNAM']}}},{'n_name':{'$not':{'$in':['EGYPT','JAPAN']}}}]} ",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$not':{'$gte':-686.97}}}"],
|
||||
"keys" : 0,
|
||||
"docs" : 1030,
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$not':{'$gte':-686.97}}} ",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 52,
|
||||
"docs" : 1052,
|
||||
"rows" : 9,
|
||||
"csum" : "ddb8cd2ae24f8e38"},
|
||||
|
||||
@ -4575,15 +4499,12 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$and":[{"ps_comment":{"$regex":{"$regex":"^d","$options":""}}},{"region_s.r_name":"MIDDLE EAST"}]}}],"cursor":{},"idx":193},
|
||||
"winningPlan": [
|
||||
"INLJ supplier.s_suppkey = ps_suppkey",
|
||||
" -> [none] HJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'n_name':{'$not':{'$in':['BRAZIL','IRAN']}}} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$or':[{'s_acctbal':{'$lt':-170.22}},{'s_name':{'$in':['Supplier#000000467','Supplier#000000783']}}]} ",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^d'}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^d'}} ",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 5630,
|
||||
"docs" : 6655,
|
||||
"keys" : 1821,
|
||||
"docs" : 81821,
|
||||
"rows" : 19,
|
||||
"csum" : "9bf2758b71d5bc28"},
|
||||
|
||||
@ -4617,12 +4538,11 @@
|
||||
{"$unwind":"$lineitem"},
|
||||
{"$match":{"$and":[{"lineitem.l_quantity":{"$eq":2}},{"p_brand":"Brand#31"},{"lineitem.l_shipmode":"REG AIR"}]}}],"cursor":{},"idx":195},
|
||||
"winningPlan": [
|
||||
"HJ p_partkey = ps_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_brand':{'$eq':'Brand#31'}} ",
|
||||
" -> [partsupp] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$or':[{'ps_availqty':{'$lte':7214}},{'ps_comment':{'$in':[{'$regex':'^i','$options':''},{'$regex':'^ iro','$options':''}]}}]} ",
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.part {'p_brand':{'$eq':'Brand#31'}} ",
|
||||
"$lookup partsupp ps_partkey_1",
|
||||
"$lookup lineitem l_partkey_1"],
|
||||
"keys" : 70614,
|
||||
"docs" : 170614,
|
||||
"keys" : 73774,
|
||||
"docs" : 93774,
|
||||
"rows" : 149,
|
||||
"csum" : "c9d568b24a2b78f6"},
|
||||
|
||||
@ -4729,12 +4649,11 @@
|
||||
{"$unwind":"$nation_s"},
|
||||
{"$match":{"$and":[{"nation_s.n_name":{"$nin":["MOZAMBIQUE","JAPAN"]}},{"ps_comment":{"$regex":{"$regex":"^th","$options":""}}},{"ps_availqty":{"$gte":9622}}]}}],"cursor":{},"idx":200},
|
||||
"winningPlan": [
|
||||
"HJ ps_suppkey = s_suppkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$and':[{'ps_availqty':{'$gte':9622}},{'ps_comment':{'$regex':'^th'}}]} ",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$or':[{'s_name':{'$eq':'Supplier#000000151'}},{'s_acctbal':{'$gt':7241.4}}]} ",
|
||||
"COLLSCAN: plan_stability_tpch_fuzzed.partsupp {'$and':[{'ps_availqty':{'$gte':9622}},{'ps_comment':{'$regex':'^th'}}]} ",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1"],
|
||||
"keys" : 11,
|
||||
"docs" : 81011,
|
||||
"keys" : 60,
|
||||
"docs" : 80060,
|
||||
"rows" : 2,
|
||||
"csum" : "c51ccb11eaea319e"},
|
||||
|
||||
@ -4841,15 +4760,12 @@
|
||||
{"$unwind":"$supplier"},
|
||||
{"$match":{"$or":[{"p_size":{"$lt":24}},{"p_size":{"$gt":42}}]}}],"cursor":{},"idx":208},
|
||||
"winningPlan": [
|
||||
"HJ partsupp.ps_partkey = p_partkey",
|
||||
" -> [none] INLJ s_suppkey = ps_suppkey",
|
||||
" -> [supplier] FETCH: plan_stability_tpch_fuzzed.supplier ",
|
||||
" -> IXSCAN: plan_stability_tpch_fuzzed.supplier s_nationkey_1 {'s_nationkey':['[9.0, 9.0]','[13.0, 13.0]','[23.0, 23.0]']}",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^s a'}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_suppkey_1",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'$or':[{'p_size':{'$lt':24}},{'p_size':{'$gt':42}}]}"],
|
||||
"keys" : 9072,
|
||||
"docs" : 29072,
|
||||
"SUBPLAN",
|
||||
" -> COLLSCAN: undefined {'$or':[{'p_size':{'$lt':24}},{'p_size':{'$gt':42}}]} ",
|
||||
"$lookup partsupp ps_partkey_1",
|
||||
"$lookup supplier s_suppkey_1"],
|
||||
"keys" : 50157,
|
||||
"docs" : 70157,
|
||||
"rows" : 24,
|
||||
"csum" : "d63262d20e250959"},
|
||||
|
||||
@ -4891,14 +4807,13 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$or":[{"s_acctbal":{"$lte":958.07}}]}}],"cursor":{},"idx":210},
|
||||
"winningPlan": [
|
||||
"INLJ nation_s.n_nationkey = s_nationkey",
|
||||
" -> [none] HJ n_regionkey = r_regionkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$and':[{'n_name':{'$in':['CANADA','JAPAN','UNITED KINGDOM']}},{'$nor':[{'n_name':{'$eq':'ETHIOPIA'}},{'n_regionkey':{'$eq':3}},{'n_regionkey':{'$eq':3}}]}]} ",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'$or':[{'r_name':{'$eq':'ASIA'}},{'r_regionkey':{'$eq':3}}]} ",
|
||||
"INLJ n_nationkey = s_nationkey",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$and':[{'n_name':{'$in':['CANADA','JAPAN','UNITED KINGDOM']}},{'$nor':[{'n_name':{'$eq':'ETHIOPIA'}},{'n_regionkey':{'$eq':3}},{'n_regionkey':{'$eq':3}}]}]} ",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.supplier {'s_acctbal':{'$lte':958.07}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.supplier s_nationkey_1"],
|
||||
"keys" : 41,
|
||||
"docs" : 71,
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.supplier s_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 95,
|
||||
"docs" : 120,
|
||||
"rows" : 9,
|
||||
"csum" : "e0a8289386c26cb0"},
|
||||
|
||||
@ -4916,19 +4831,15 @@
|
||||
{"$unwind":"$supplier"},
|
||||
{"$match":{"$nor":[{"l_shipdate":{"$lte":"1994-01-25T00:00:00.000Z"}}]}}],"cursor":{},"idx":211},
|
||||
"winningPlan": [
|
||||
"INLJ customer.c_nationkey = s_nationkey",
|
||||
" -> [none] INLJ orders.o_orderkey = l_orderkey",
|
||||
" -> [none] INLJ o_custkey = c_custkey",
|
||||
" -> [orders] FETCH: plan_stability_tpch_fuzzed.orders {'o_clerk':{'$eq':'Clerk#000000849'}} ",
|
||||
" -> IXSCAN: plan_stability_tpch_fuzzed.orders o_orderdate_1 {'o_orderdate':['(new Date(707529600000), new Date(756259200000))']}",
|
||||
" -> [customer] FETCH: plan_stability_tpch_fuzzed.customer {'$or':[{'c_name':{'$eq':'Customer#000005090'}},{'c_acctbal':{'$gt':-624.49}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.customer c_custkey_1",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.lineitem {'l_shipdate':{'$not':{'$lte':'1994-01-25T00:00:00.000Z'}}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.lineitem l_orderkey_1",
|
||||
" -> [supplier] FETCH: plan_stability_tpch_fuzzed.supplier {'$and':[{'$or':[{'s_name':{'$eq':'Supplier#000000836'}},{'s_nationkey':{'$eq':23}},{'s_acctbal':{'$gt':6089.75}}]},{'$or':[{'s_name':{'$eq':'Supplier#000000920'}},{'s_acctbal':{'$lt':9537.73}},{'s_acctbal':{'$gte':7448.46}}]}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.supplier s_nationkey_1"],
|
||||
"keys" : 35100,
|
||||
"docs" : 35100,
|
||||
"INLJ o_orderkey = l_orderkey",
|
||||
" -> [orders] FETCH: plan_stability_tpch_fuzzed.orders {'o_clerk':{'$eq':'Clerk#000000849'}} ",
|
||||
" -> IXSCAN: plan_stability_tpch_fuzzed.orders o_orderdate_1 {'o_orderdate':['(new Date(707529600000), new Date(756259200000))']}",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.lineitem {'l_shipdate':{'$not':{'$lte':'1994-01-25T00:00:00.000Z'}}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.lineitem l_orderkey_1",
|
||||
"$lookup customer c_custkey_1",
|
||||
"$lookup supplier s_nationkey_1"],
|
||||
"keys" : 35081,
|
||||
"docs" : 35081,
|
||||
"rows" : 159,
|
||||
"csum" : "81d79f7f00653521"},
|
||||
|
||||
@ -4950,19 +4861,15 @@
|
||||
{"$unwind":"$region_s"},
|
||||
{"$match":{"$and":[{"p_type":"LARGE PLATED NICKEL"}]}}],"cursor":{},"idx":212},
|
||||
"winningPlan": [
|
||||
"HJ r_regionkey = nation_s.n_regionkey",
|
||||
" -> [region_s] COLLSCAN: plan_stability_tpch_fuzzed.region {'$and':[{'r_name':{'$eq':'MIDDLE EAST'}},{'r_name':{'$eq':'MIDDLE EAST'}},{'$nor':[{'r_name':{'$eq':'ASIA'}},{'r_regionkey':{'$eq':0}}]}]} ",
|
||||
" -> [none] HJ supplier.s_nationkey = n_nationkey",
|
||||
" -> [none] INLJ partsupp.ps_suppkey = s_suppkey",
|
||||
" -> [none] INLJ p_partkey = ps_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_type':{'$eq':'LARGE PLATED NICKEL'}} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^gul'}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_partkey_1",
|
||||
" -> [supplier] FETCH: plan_stability_tpch_fuzzed.supplier {'$or':[{'s_acctbal':{'$gt':-942.73}},{'s_acctbal':{'$gt':5364.99}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.supplier s_suppkey_1",
|
||||
" -> [nation_s] COLLSCAN: plan_stability_tpch_fuzzed.nation {'$and':[{'n_name':{'$not':{'$eq':'UNITED KINGDOM'}}},{'n_regionkey':{'$not':{'$eq':2}}}]}"],
|
||||
"keys" : 462,
|
||||
"docs" : 20492,
|
||||
"INLJ p_partkey = ps_partkey",
|
||||
" -> [none] COLLSCAN: plan_stability_tpch_fuzzed.part {'p_type':{'$eq':'LARGE PLATED NICKEL'}} ",
|
||||
" -> [partsupp] FETCH: plan_stability_tpch_fuzzed.partsupp {'ps_comment':{'$regex':'^gul'}} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.partsupp ps_partkey_1",
|
||||
"$lookup supplier s_suppkey_1",
|
||||
"$lookup nation n_nationkey_1",
|
||||
"$lookup region r_regionkey_1"],
|
||||
"keys" : 466,
|
||||
"docs" : 20466,
|
||||
"rows" : 1,
|
||||
"csum" : "34e7a1e45da00ce9"},
|
||||
|
||||
@ -5027,17 +4934,15 @@
|
||||
{"$unwind":"$supplier"},
|
||||
{"$match":{"$nor":[{"l_shipinstruct":{"$in":["TAKE BACK RETURN","TAKE BACK RETURN"]}},{"l_suppkey":771}]}}],"cursor":{},"idx":215},
|
||||
"winningPlan": [
|
||||
"HJ s_nationkey = customer.c_nationkey",
|
||||
" -> [supplier] COLLSCAN: plan_stability_tpch_fuzzed.supplier {'$nor':[{'s_acctbal':{'$eq':-170.22}},{'s_nationkey':{'$eq':24}},{'s_acctbal':{'$gt':-334.52}}]} ",
|
||||
" -> [none] INLJ orders.o_orderkey = l_orderkey",
|
||||
" -> [none] HJ o_custkey = c_custkey",
|
||||
" -> [orders] FETCH: plan_stability_tpch_fuzzed.orders ",
|
||||
" -> IXSCAN: plan_stability_tpch_fuzzed.orders o_orderdate_1 {'o_orderdate':['[MinKey, new Date(-9223372036854775808))','(new Date(901670400000), MaxKey]']}",
|
||||
" -> [customer] COLLSCAN: plan_stability_tpch_fuzzed.customer {'$or':[{'c_mktsegment':{'$eq':'MACHINERY'}},{'c_name':{'$eq':'Customer#000013959'}},{'c_acctbal':{'$gte':9523.62}}]} ",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.lineitem {'$nor':[{'l_shipinstruct':{'$eq':'TAKE BACK RETURN'}},{'l_suppkey':{'$eq':771}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.lineitem l_orderkey_1"],
|
||||
"keys" : 519,
|
||||
"docs" : 16518,
|
||||
"INLJ o_orderkey = l_orderkey",
|
||||
" -> [orders] FETCH: plan_stability_tpch_fuzzed.orders ",
|
||||
" -> IXSCAN: plan_stability_tpch_fuzzed.orders o_orderdate_1 {'o_orderdate':['[MinKey, new Date(-9223372036854775808))','(new Date(901670400000), MaxKey]']}",
|
||||
" -> [none] FETCH: plan_stability_tpch_fuzzed.lineitem {'$nor':[{'l_shipinstruct':{'$eq':'TAKE BACK RETURN'}},{'l_suppkey':{'$eq':771}}]} ",
|
||||
" -> INDEX_PROBE_NODE: plan_stability_tpch_fuzzed.lineitem l_orderkey_1",
|
||||
"$lookup customer c_custkey_1",
|
||||
"$lookup supplier s_nationkey_1"],
|
||||
"keys" : 10680,
|
||||
"docs" : 10679,
|
||||
"rows" : 495,
|
||||
"csum" : "e88fe4386864dbad"},
|
||||
|
||||
@ -5320,7 +5225,7 @@
|
||||
"csum" : "ca7f0bfcb0e88d85"}
|
||||
|
||||
],
|
||||
">>>totals": {"commands": 222, "keys": 1418501, "docs": 14600389, "rows": 41006}
|
||||
">>>totals": {"commands": 222, "keys": 2763236, "docs": 16089378, "rows": 41006}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -31,6 +31,7 @@
|
||||
|
||||
#include "mongo/base/status_with.h"
|
||||
#include "mongo/bson/bsonobjbuilder.h"
|
||||
#include "mongo/db/exec/classic/subplan.h"
|
||||
#include "mongo/db/matcher/expression.h"
|
||||
#include "mongo/db/matcher/extensions_callback_noop.h"
|
||||
#include "mongo/db/pipeline/document_source_geo_near.h"
|
||||
@ -81,6 +82,10 @@ StatusWith<std::unique_ptr<CanonicalQuery>> createCanonicalQueryFromSingleMatchE
|
||||
CanonicalQueryParams params{.expCtx = expCtx, .parsedFind = std::move(pfc.getValue())};
|
||||
auto cq = CanonicalQuery::make(std::move(params));
|
||||
expCtx->setPlanCache(oldPlanCache);
|
||||
if (cq.isOK() && SubplanStage::canUseSubplanning(*cq.getValue())) {
|
||||
return Status(ErrorCodes::QueryFeatureNotAllowed,
|
||||
"Encountered rooted $or, can't use subplanning together with join opt");
|
||||
}
|
||||
return cq;
|
||||
}
|
||||
|
||||
@ -331,6 +336,11 @@ StatusWith<AggJoinModel> AggJoinModel::constructJoinModel(const Pipeline& pipeli
|
||||
return swCQ.getStatus();
|
||||
}
|
||||
|
||||
if (SubplanStage::canUseSubplanning(*swCQ.getValue())) {
|
||||
return Status(ErrorCodes::QueryFeatureNotAllowed,
|
||||
"Encountered rooted $or, can't use subplanning together with join opt");
|
||||
}
|
||||
|
||||
if (swCQ.getValue()->getSortPattern()) {
|
||||
return Status(ErrorCodes::BadValue, "Sort stage found in pipeline");
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user