SERVER-121502 Fallback JOO if STP is rooted \$or (#54099)

GitOrigin-RevId: f67473e9d12e6406695aacb23bcbaced1ce0baa5
This commit is contained in:
Alya Carina Berciu 2026-05-22 16:14:07 +02:00 committed by MongoDB Bot
parent 0cc5ead7c1
commit b0d52c74d7
4 changed files with 377 additions and 2354 deletions

View File

@ -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);

View File

@ -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}
}

View File

@ -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");
}