SERVER-117278 Add costs to join plan nodes (#46595)

GitOrigin-RevId: f690b3d8cbcf5be927bb583efab8f81d34bb2dde
This commit is contained in:
Alya Carina Berciu 2026-01-21 19:04:35 +01:00 committed by MongoDB Bot
parent 967249d2d4
commit d35158ce50
16 changed files with 1395 additions and 1344 deletions

View File

@ -55,4 +55,15 @@ JoinCostEstimate::JoinCostEstimate(CardinalityEstimate numDocsProcessed,
_ioSeqNumPages * ioSeqIncremental + _ioRandNumPages * ioRandIncremental;
}
std::string JoinCostEstimate::toString() const {
return str::stream() << _totalCost.cost().v();
}
BSONObj JoinCostEstimate::toBSON() const {
return BSON("totalCost" << _totalCost.toBSON() << "numDocsProcessed"
<< _numDocsProcessed.toBSON() << "numDocsOutput"
<< _numDocsOutput.toBSON() << "ioSeqNumPages" << _ioSeqNumPages.toBSON()
<< "ioRandNumPages" << _ioRandNumPages.toBSON());
}
} // namespace mongo::join_ordering

View File

@ -71,6 +71,9 @@ public:
return _totalCost;
}
std::string toString() const;
BSONObj toBSON() const;
auto operator<=>(const JoinCostEstimate& other) const {
return _totalCost <=> other._totalCost;
}
@ -96,7 +99,7 @@ private:
};
inline std::ostream& operator<<(std::ostream& os, const JoinCostEstimate& cost) {
return os << cost.getTotalCost().toString();
return os << cost.toString();
}
} // namespace mongo::join_ordering

View File

@ -36,7 +36,20 @@
namespace mongo::join_ordering {
namespace {
NodeSet getBitset(const JoinPlanNode& node) {
JoinCostEstimate getNodeCost(const JoinPlanNode& node) {
return std::visit(OverloadedVisitor{[](const JoiningNode& join) { return join.cost; },
[](const INLJRHSNode& ip) {
// These nodes don't have their own cost.
MONGO_UNREACHABLE_TASSERT(11727800);
return JoinCostEstimate(zeroCE, zeroCE, zeroCE, zeroCE);
},
[](const BaseNode& base) {
return base.cost;
}},
node);
}
NodeSet getNodeBitset(const JoinPlanNode& node) {
return std::visit(
OverloadedVisitor{[](const JoiningNode& join) { return join.bitset; },
[](const INLJRHSNode& ip) { return NodeSet().set(ip.node); },
@ -65,8 +78,14 @@ std::string joinMethodToString(JoinMethod method) {
std::string joinNodeStringPrefix(const JoinPlanNode& node,
size_t numNodesToPrint,
std::string indentStr) {
return str::stream() << indentStr << "[" << nodeSetToString(getBitset(node), numNodesToPrint)
<< "]";
std::stringstream ss;
ss << indentStr;
if (!std::holds_alternative<INLJRHSNode>(node)) {
// INLJRHSNodes don't have their own associated cost.
ss << "(" << getNodeCost(node).toString() << ")";
}
ss << "[" << nodeSetToString(getNodeBitset(node), numNodesToPrint) << "]";
return ss.str();
}
} // namespace
@ -98,18 +117,20 @@ std::ostream& operator<<(std::ostream& os, const JoinSubset& subset) {
JoinPlanNodeId JoinPlanNodeRegistry::registerJoinNode(const JoinSubset& subset,
JoinMethod method,
JoinPlanNodeId left,
JoinPlanNodeId right) {
JoinPlanNodeId right,
JoinCostEstimate cost) {
JoinPlanNodeId id = _allJoinPlans.size();
_allJoinPlans.emplace_back(JoiningNode{method, left, right, subset.subset});
_allJoinPlans.emplace_back(JoiningNode{method, left, right, subset.subset, std::move(cost)});
return id;
}
JoinPlanNodeId JoinPlanNodeRegistry::registerBaseNode(NodeId node,
const QuerySolution* soln,
const NamespaceString& nss) {
const NamespaceString& nss,
JoinCostEstimate cost) {
tassert(11371702, "Expected an initialized qsn", soln);
JoinPlanNodeId id = _allJoinPlans.size();
_allJoinPlans.emplace_back(BaseNode{soln, nss, node});
_allJoinPlans.emplace_back(BaseNode{soln, nss, node, std::move(cost)});
return id;
}
@ -159,36 +180,37 @@ std::string JoinPlanNodeRegistry::joinPlansToString(const JoinPlans& plans,
}
NodeSet JoinPlanNodeRegistry::getBitset(JoinPlanNodeId id) const {
return std::visit(
OverloadedVisitor{[](const JoiningNode& join) { return join.bitset; },
[](const INLJRHSNode& ip) { return NodeSet().set(ip.node); },
[](const BaseNode& base) {
return NodeSet().set(base.node);
}},
get(id));
return getNodeBitset(get(id));
}
JoinCostEstimate JoinPlanNodeRegistry::getCost(JoinPlanNodeId nodeId) const {
return getNodeCost(get(nodeId));
}
BSONObj JoinPlanNodeRegistry::joinPlanNodeToBSON(JoinPlanNodeId nodeId,
size_t numNodesToPrint) const {
return std::visit(
OverloadedVisitor{
[this, numNodesToPrint](const JoiningNode& join) {
return BSON("subset" << nodeSetToString(join.bitset, numNodesToPrint) << "method"
<< joinMethodToString(join.method) << "left"
<< joinPlanNodeToBSON(join.left, numNodesToPrint) << "right"
<< joinPlanNodeToBSON(join.right, numNodesToPrint));
},
[numNodesToPrint](const INLJRHSNode& ip) {
return BSON("subset" << nodeSetToString(NodeSet().set(ip.node), numNodesToPrint)
<< "accessPath"
<< (str::stream() << "INDEX_PROBE "
<< ip.entry->descriptor()->keyPattern()));
},
[numNodesToPrint](const BaseNode& base) {
return BSON("subset" << nodeSetToString(NodeSet().set(base.node), numNodesToPrint)
<< "accessPath" << base.soln->summaryString());
}},
BSONObjBuilder bob;
bob << "subset" << nodeSetToString(getBitset(nodeId), numNodesToPrint);
if (!isOfType<INLJRHSNode>(nodeId)) {
// INLJRHSNodes don't have their own associated cost.
bob << "cost" << getCost(nodeId).toBSON();
}
std::visit(
OverloadedVisitor{[this, numNodesToPrint, &bob](const JoiningNode& join) {
bob << "method" << joinMethodToString(join.method);
bob << "left" << joinPlanNodeToBSON(join.left, numNodesToPrint);
bob << "right" << joinPlanNodeToBSON(join.right, numNodesToPrint);
},
[&bob](const INLJRHSNode& ip) {
bob << "accessPath"
<< (str::stream()
<< "INDEX_PROBE " << ip.entry->descriptor()->keyPattern());
},
[&bob](const BaseNode& base) {
bob << "accessPath" << base.soln->summaryString();
}},
get(nodeId));
return bob.obj();
}
} // namespace mongo::join_ordering

View File

@ -29,6 +29,7 @@
#pragma once
#include "mongo/db/namespace_string.h"
#include "mongo/db/query/compiler/optimizer/join/join_estimates.h"
#include "mongo/db/query/compiler/optimizer/join/join_graph.h"
#include "mongo/db/query/compiler/physical_model/query_solution/query_solution.h"
#include "mongo/db/query/util/bitset_util.h"
@ -114,6 +115,9 @@ struct BaseNode {
// Corresponds to node in the graph this represents a base table access to.
const NodeId node;
// Cost of base collection access.
JoinCostEstimate cost;
std::string toString(size_t numNodesToPrint = kHardMaxNodesInJoin,
std::string indentStr = "") const;
};
@ -146,6 +150,9 @@ struct JoiningNode {
// Keeps a copy of the bitset representing the subgraph this originated from.
const NodeSet bitset;
// Cost of join.
JoinCostEstimate cost;
std::string toString(size_t numNodesToPrint = kHardMaxNodesInJoin,
std::string indentStr = "") const;
};
@ -171,10 +178,12 @@ public:
JoinPlanNodeId registerJoinNode(const JoinSubset& subset,
JoinMethod method,
JoinPlanNodeId left,
JoinPlanNodeId right);
JoinPlanNodeId right,
JoinCostEstimate cost);
JoinPlanNodeId registerBaseNode(NodeId node,
const QuerySolution* soln,
const NamespaceString& nss);
const NamespaceString& nss,
JoinCostEstimate cost);
JoinPlanNodeId registerINLJRHSNode(NodeId node,
std::shared_ptr<const IndexCatalogEntry> entry,
const NamespaceString& nss);
@ -184,6 +193,8 @@ public:
}
NodeSet getBitset(JoinPlanNodeId id) const;
// Note: not all node types have an associated cost.
JoinCostEstimate getCost(JoinPlanNodeId id) const;
template <typename T>
const T& getAs(JoinPlanNodeId id) const {

View File

@ -39,7 +39,11 @@
namespace mongo::join_ordering {
namespace {
static constexpr size_t kBaseLevel = 0;
// TODO SERVER-117480: remove this/ replace with actual calls to the costing module.
JoinCostEstimate getZeroCE() {
return JoinCostEstimate(zeroCE, zeroCE, zeroCE, zeroCE);
}
} // namespace
const std::vector<JoinSubset>& PlanEnumeratorContext::getSubsets(int level) {
return _joinSubsets[level];
@ -109,13 +113,13 @@ void PlanEnumeratorContext::addJoinPlan(PlanTreeShape type,
const auto& nss = _ctx.joinGraph.accessPathAt(nodeId)->nss();
auto rhs = _registry.registerINLJRHSNode(nodeId, ie, nss);
subset.plans.push_back(
_registry.registerJoinNode(subset, method, left.bestPlan(), rhs));
_registry.registerJoinNode(subset, method, left.bestPlan(), rhs, getZeroCE()));
} else {
return;
}
} else {
subset.plans.push_back(
_registry.registerJoinNode(subset, method, left.bestPlan(), right.bestPlan()));
subset.plans.push_back(_registry.registerJoinNode(
subset, method, left.bestPlan(), right.bestPlan(), getZeroCE()));
}
LOGV2_DEBUG(11336912,
@ -166,7 +170,7 @@ void PlanEnumeratorContext::enumerateJoinSubsets(PlanTreeShape type) {
const auto* qsn = _ctx.cbrCqQsns.at(cq).get();
_joinSubsets[kBaseLevel].push_back(JoinSubset(NodeSet{}.set(i)));
_joinSubsets[kBaseLevel].back().plans = {
_registry.registerBaseNode((NodeId)i, qsn, cq->nss())};
_registry.registerBaseNode((NodeId)i, qsn, cq->nss(), getZeroCE())};
}
// Initialize the rest of the joinSubsets.

View File

@ -10,59 +10,59 @@ Level 3:
1111
Output plans (best plan 0):
0.[1111] HJ
0.(0)[1111] HJ
-> left:
[0111] HJ
(0)[0111] HJ
-> left:
[0011] HJ
(0)[0011] HJ
-> left:
[0001][test.nss0] COLLSCAN
(0)[0001][test.nss0] COLLSCAN
-> right:
[0010][test.nss1] COLLSCAN
(0)[0010][test.nss1] COLLSCAN
-> right:
[0100][test.nss2] COLLSCAN
(0)[0100][test.nss2] COLLSCAN
-> right:
[1000][test.nss3] COLLSCAN
(0)[1000][test.nss3] COLLSCAN
1.[1111] NLJ
1.(0)[1111] NLJ
-> left:
[0111] HJ
(0)[0111] HJ
-> left:
[0011] HJ
(0)[0011] HJ
-> left:
[0001][test.nss0] COLLSCAN
(0)[0001][test.nss0] COLLSCAN
-> right:
[0010][test.nss1] COLLSCAN
(0)[0010][test.nss1] COLLSCAN
-> right:
[0100][test.nss2] COLLSCAN
(0)[0100][test.nss2] COLLSCAN
-> right:
[1000][test.nss3] COLLSCAN
(0)[1000][test.nss3] COLLSCAN
2.[1111] NLJ
2.(0)[1111] NLJ
-> left:
[1101] HJ
(0)[1101] HJ
-> left:
[0101] HJ
(0)[0101] HJ
-> left:
[0001][test.nss0] COLLSCAN
(0)[0001][test.nss0] COLLSCAN
-> right:
[0100][test.nss2] COLLSCAN
(0)[0100][test.nss2] COLLSCAN
-> right:
[1000][test.nss3] COLLSCAN
(0)[1000][test.nss3] COLLSCAN
-> right:
[0010][test.nss1] COLLSCAN
(0)[0010][test.nss1] COLLSCAN
3.[1111] HJ
3.(0)[1111] HJ
-> left:
[0010][test.nss1] COLLSCAN
(0)[0010][test.nss1] COLLSCAN
-> right:
[1101] HJ
(0)[1101] HJ
-> left:
[0101] HJ
(0)[0101] HJ
-> left:
[0001][test.nss0] COLLSCAN
(0)[0001][test.nss0] COLLSCAN
-> right:
[0100][test.nss2] COLLSCAN
(0)[0100][test.nss2] COLLSCAN
-> right:
[1000][test.nss3] COLLSCAN
(0)[1000][test.nss3] COLLSCAN

View File

@ -8,65 +8,65 @@ Level 2:
111
Output plans (best plan 0):
0.[111] HJ
0.(0)[111] HJ
-> left:
[011] HJ
(0)[011] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
1.[111] NLJ
1.(0)[111] NLJ
-> left:
[011] HJ
(0)[011] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
2.[111] HJ
2.(0)[111] HJ
-> left:
[101] HJ
(0)[101] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
-> right:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
3.[111] NLJ
3.(0)[111] NLJ
-> left:
[101] HJ
(0)[101] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
-> right:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
4.[111] HJ
4.(0)[111] HJ
-> left:
[110] HJ
(0)[110] HJ
-> left:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
-> right:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
5.[111] NLJ
5.(0)[111] NLJ
-> left:
[110] HJ
(0)[110] HJ
-> left:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
-> right:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
RIGHT DEEP, 3 Nodes
HJ order pruning enabled: 0
@ -78,33 +78,33 @@ Level 2:
111
Output plans (best plan 0):
0.[111] HJ
0.(0)[111] HJ
-> left:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
-> right:
[011] HJ
(0)[011] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
1.[111] HJ
1.(0)[111] HJ
-> left:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
-> right:
[101] HJ
(0)[101] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
2.[111] HJ
2.(0)[111] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[110] HJ
(0)[110] HJ
-> left:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN

View File

@ -8,45 +8,45 @@ Level 2:
111
Output plans (best plan 0):
0.[111] HJ
0.(0)[111] HJ
-> left:
[011] HJ
(0)[011] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
1.[111] NLJ
1.(0)[111] NLJ
-> left:
[011] HJ
(0)[011] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
2.[111] HJ
2.(0)[111] HJ
-> left:
[101] HJ
(0)[101] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
-> right:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
3.[111] NLJ
3.(0)[111] NLJ
-> left:
[101] HJ
(0)[101] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
-> right:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
RIGHT DEEP, 3 Nodes
HJ order pruning enabled: 0
@ -58,23 +58,23 @@ Level 2:
111
Output plans (best plan 0):
0.[111] HJ
0.(0)[111] HJ
-> left:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
-> right:
[011] HJ
(0)[011] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
1.[111] HJ
1.(0)[111] HJ
-> left:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
-> right:
[101] HJ
(0)[101] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN

View File

@ -8,45 +8,45 @@ Level 2:
111
Output plans (best plan 0):
0.[111] HJ
0.(0)[111] HJ
-> left:
[011] HJ
(0)[011] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
1.[111] NLJ
1.(0)[111] NLJ
-> left:
[011] HJ
(0)[011] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
2.[111] HJ
2.(0)[111] HJ
-> left:
[101] HJ
(0)[101] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
-> right:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
3.[111] NLJ
3.(0)[111] NLJ
-> left:
[101] HJ
(0)[101] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
-> right:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
RIGHT DEEP, 3 Nodes with pruning
HJ order pruning enabled: 1
@ -58,25 +58,25 @@ Level 2:
111
Output plans (best plan 0):
0.[111] HJ
0.(0)[111] HJ
-> left:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
-> right:
[011] HJ
(0)[011] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
1.[111] HJ
1.(0)[111] HJ
-> left:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
-> right:
[101] HJ
(0)[101] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
ZIG ZAG, 3 Nodes with pruning
HJ order pruning enabled: 1
@ -88,43 +88,43 @@ Level 2:
111
Output plans (best plan 0):
0.[111] HJ
0.(0)[111] HJ
-> left:
[011] HJ
(0)[011] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
1.[111] NLJ
1.(0)[111] NLJ
-> left:
[011] HJ
(0)[011] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
2.[111] NLJ
2.(0)[111] NLJ
-> left:
[101] HJ
(0)[101] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN
-> right:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
3.[111] HJ
3.(0)[111] HJ
-> left:
[010][test.nss1] COLLSCAN
(0)[010][test.nss1] COLLSCAN
-> right:
[101] HJ
(0)[101] HJ
-> left:
[001][test.nss0] COLLSCAN
(0)[001][test.nss0] COLLSCAN
-> right:
[100][test.nss2] COLLSCAN
(0)[100][test.nss2] COLLSCAN

View File

@ -6,29 +6,29 @@ Level 1:
11
Output plans (best plan 0):
0.[11] HJ
0.(0)[11] HJ
-> left:
[01][test.nss0] COLLSCAN
(0)[01][test.nss0] COLLSCAN
-> right:
[10][test.nss1] COLLSCAN
(0)[10][test.nss1] COLLSCAN
1.[11] NLJ
1.(0)[11] NLJ
-> left:
[01][test.nss0] COLLSCAN
(0)[01][test.nss0] COLLSCAN
-> right:
[10][test.nss1] COLLSCAN
(0)[10][test.nss1] COLLSCAN
2.[11] HJ
2.(0)[11] HJ
-> left:
[10][test.nss1] COLLSCAN
(0)[10][test.nss1] COLLSCAN
-> right:
[01][test.nss0] COLLSCAN
(0)[01][test.nss0] COLLSCAN
3.[11] NLJ
3.(0)[11] NLJ
-> left:
[10][test.nss1] COLLSCAN
(0)[10][test.nss1] COLLSCAN
-> right:
[01][test.nss0] COLLSCAN
(0)[01][test.nss0] COLLSCAN
RIGHT DEEP, 2 Nodes
@ -39,27 +39,27 @@ Level 1:
11
Output plans (best plan 0):
0.[11] HJ
0.(0)[11] HJ
-> left:
[01][test.nss0] COLLSCAN
(0)[01][test.nss0] COLLSCAN
-> right:
[10][test.nss1] COLLSCAN
(0)[10][test.nss1] COLLSCAN
1.[11] NLJ
1.(0)[11] NLJ
-> left:
[01][test.nss0] COLLSCAN
(0)[01][test.nss0] COLLSCAN
-> right:
[10][test.nss1] COLLSCAN
(0)[10][test.nss1] COLLSCAN
2.[11] HJ
2.(0)[11] HJ
-> left:
[10][test.nss1] COLLSCAN
(0)[10][test.nss1] COLLSCAN
-> right:
[01][test.nss0] COLLSCAN
(0)[01][test.nss0] COLLSCAN
3.[11] NLJ
3.(0)[11] NLJ
-> left:
[10][test.nss1] COLLSCAN
(0)[10][test.nss1] COLLSCAN
-> right:
[01][test.nss0] COLLSCAN
(0)[01][test.nss0] COLLSCAN

View File

@ -17,483 +17,483 @@ Level 7:
11111111
Output plans (best plan 0):
0.[11111111] HJ
0.(0)[11111111] HJ
-> left:
[01111111] HJ
(0)[01111111] HJ
-> left:
[00111111] HJ
(0)[00111111] HJ
-> left:
[00011111] HJ
(0)[00011111] HJ
-> left:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
1.[11111111] NLJ
1.(0)[11111111] NLJ
-> left:
[01111111] HJ
(0)[01111111] HJ
-> left:
[00111111] HJ
(0)[00111111] HJ
-> left:
[00011111] HJ
(0)[00011111] HJ
-> left:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
2.[11111111] HJ
2.(0)[11111111] HJ
-> left:
[10111111] HJ
(0)[10111111] HJ
-> left:
[00111111] HJ
(0)[00111111] HJ
-> left:
[00011111] HJ
(0)[00011111] HJ
-> left:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
3.[11111111] NLJ
3.(0)[11111111] NLJ
-> left:
[10111111] HJ
(0)[10111111] HJ
-> left:
[00111111] HJ
(0)[00111111] HJ
-> left:
[00011111] HJ
(0)[00011111] HJ
-> left:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
4.[11111111] HJ
4.(0)[11111111] HJ
-> left:
[11011111] HJ
(0)[11011111] HJ
-> left:
[01011111] HJ
(0)[01011111] HJ
-> left:
[00011111] HJ
(0)[00011111] HJ
-> left:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
5.[11111111] NLJ
5.(0)[11111111] NLJ
-> left:
[11011111] HJ
(0)[11011111] HJ
-> left:
[01011111] HJ
(0)[01011111] HJ
-> left:
[00011111] HJ
(0)[00011111] HJ
-> left:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
6.[11111111] HJ
6.(0)[11111111] HJ
-> left:
[11101111] HJ
(0)[11101111] HJ
-> left:
[01101111] HJ
(0)[01101111] HJ
-> left:
[00101111] HJ
(0)[00101111] HJ
-> left:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
7.[11111111] NLJ
7.(0)[11111111] NLJ
-> left:
[11101111] HJ
(0)[11101111] HJ
-> left:
[01101111] HJ
(0)[01101111] HJ
-> left:
[00101111] HJ
(0)[00101111] HJ
-> left:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
8.[11111111] HJ
8.(0)[11111111] HJ
-> left:
[11110111] HJ
(0)[11110111] HJ
-> left:
[01110111] HJ
(0)[01110111] HJ
-> left:
[00110111] HJ
(0)[00110111] HJ
-> left:
[00010111] HJ
(0)[00010111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
9.[11111111] NLJ
9.(0)[11111111] NLJ
-> left:
[11110111] HJ
(0)[11110111] HJ
-> left:
[01110111] HJ
(0)[01110111] HJ
-> left:
[00110111] HJ
(0)[00110111] HJ
-> left:
[00010111] HJ
(0)[00010111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
10.[11111111] HJ
10.(0)[11111111] HJ
-> left:
[11111011] HJ
(0)[11111011] HJ
-> left:
[01111011] HJ
(0)[01111011] HJ
-> left:
[00111011] HJ
(0)[00111011] HJ
-> left:
[00011011] HJ
(0)[00011011] HJ
-> left:
[00001011] HJ
(0)[00001011] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
11.[11111111] NLJ
11.(0)[11111111] NLJ
-> left:
[11111011] HJ
(0)[11111011] HJ
-> left:
[01111011] HJ
(0)[01111011] HJ
-> left:
[00111011] HJ
(0)[00111011] HJ
-> left:
[00011011] HJ
(0)[00011011] HJ
-> left:
[00001011] HJ
(0)[00001011] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
12.[11111111] HJ
12.(0)[11111111] HJ
-> left:
[11111101] HJ
(0)[11111101] HJ
-> left:
[01111101] HJ
(0)[01111101] HJ
-> left:
[00111101] HJ
(0)[00111101] HJ
-> left:
[00011101] HJ
(0)[00011101] HJ
-> left:
[00001101] HJ
(0)[00001101] HJ
-> left:
[00000101] HJ
(0)[00000101] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
13.[11111111] NLJ
13.(0)[11111111] NLJ
-> left:
[11111101] HJ
(0)[11111101] HJ
-> left:
[01111101] HJ
(0)[01111101] HJ
-> left:
[00111101] HJ
(0)[00111101] HJ
-> left:
[00011101] HJ
(0)[00011101] HJ
-> left:
[00001101] HJ
(0)[00001101] HJ
-> left:
[00000101] HJ
(0)[00000101] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
14.[11111111] HJ
14.(0)[11111111] HJ
-> left:
[11111110] HJ
(0)[11111110] HJ
-> left:
[01111110] HJ
(0)[01111110] HJ
-> left:
[00111110] HJ
(0)[00111110] HJ
-> left:
[00011110] HJ
(0)[00011110] HJ
-> left:
[00001110] HJ
(0)[00001110] HJ
-> left:
[00000110] HJ
(0)[00000110] HJ
-> left:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
15.[11111111] NLJ
15.(0)[11111111] NLJ
-> left:
[11111110] HJ
(0)[11111110] HJ
-> left:
[01111110] HJ
(0)[01111110] HJ
-> left:
[00111110] HJ
(0)[00111110] HJ
-> left:
[00011110] HJ
(0)[00011110] HJ
-> left:
[00001110] HJ
(0)[00001110] HJ
-> left:
[00000110] HJ
(0)[00000110] HJ
-> left:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN

View File

@ -17,21 +17,21 @@ Level 7:
11111111
Output plans (best plan 0):
0.[11111111] INLJ
0.(0)[11111111] INLJ
-> left:
[01111111] INLJ
(0)[01111111] INLJ
-> left:
[00111111] INLJ
(0)[00111111] INLJ
-> left:
[00011111] INLJ
(0)[00011111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -47,21 +47,21 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
1.[11111111] HJ
1.(0)[11111111] HJ
-> left:
[01111111] INLJ
(0)[01111111] INLJ
-> left:
[00111111] INLJ
(0)[00111111] INLJ
-> left:
[00011111] INLJ
(0)[00011111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -75,23 +75,23 @@ Output plans (best plan 0):
-> right:
[01000000][test.nss6] INDEX_PROBE { a6: -1 }
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
2.[11111111] NLJ
2.(0)[11111111] NLJ
-> left:
[01111111] INLJ
(0)[01111111] INLJ
-> left:
[00111111] INLJ
(0)[00111111] INLJ
-> left:
[00011111] INLJ
(0)[00011111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -105,23 +105,23 @@ Output plans (best plan 0):
-> right:
[01000000][test.nss6] INDEX_PROBE { a6: -1 }
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
3.[11111111] INLJ
3.(0)[11111111] INLJ
-> left:
[10111111] INLJ
(0)[10111111] INLJ
-> left:
[00111111] INLJ
(0)[00111111] INLJ
-> left:
[00011111] INLJ
(0)[00011111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -137,21 +137,21 @@ Output plans (best plan 0):
-> right:
[01000000][test.nss6] INDEX_PROBE { a6: -1 }
4.[11111111] HJ
4.(0)[11111111] HJ
-> left:
[10111111] INLJ
(0)[10111111] INLJ
-> left:
[00111111] INLJ
(0)[00111111] INLJ
-> left:
[00011111] INLJ
(0)[00011111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -165,23 +165,23 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
5.[11111111] NLJ
5.(0)[11111111] NLJ
-> left:
[10111111] INLJ
(0)[10111111] INLJ
-> left:
[00111111] INLJ
(0)[00111111] INLJ
-> left:
[00011111] INLJ
(0)[00011111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -195,23 +195,23 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
6.[11111111] INLJ
6.(0)[11111111] INLJ
-> left:
[11011111] INLJ
(0)[11011111] INLJ
-> left:
[01011111] INLJ
(0)[01011111] INLJ
-> left:
[00011111] INLJ
(0)[00011111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -227,21 +227,21 @@ Output plans (best plan 0):
-> right:
[00100000][test.nss5] INDEX_PROBE { a5: 1 }
7.[11111111] HJ
7.(0)[11111111] HJ
-> left:
[11011111] INLJ
(0)[11011111] INLJ
-> left:
[01011111] INLJ
(0)[01011111] INLJ
-> left:
[00011111] INLJ
(0)[00011111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -255,23 +255,23 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
8.[11111111] NLJ
8.(0)[11111111] NLJ
-> left:
[11011111] INLJ
(0)[11011111] INLJ
-> left:
[01011111] INLJ
(0)[01011111] INLJ
-> left:
[00011111] INLJ
(0)[00011111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -285,23 +285,23 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
9.[11111111] INLJ
9.(0)[11111111] INLJ
-> left:
[11101111] INLJ
(0)[11101111] INLJ
-> left:
[01101111] INLJ
(0)[01101111] INLJ
-> left:
[00101111] INLJ
(0)[00101111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -317,21 +317,21 @@ Output plans (best plan 0):
-> right:
[00010000][test.nss4] INDEX_PROBE { a4: -1 }
10.[11111111] HJ
10.(0)[11111111] HJ
-> left:
[11101111] INLJ
(0)[11101111] INLJ
-> left:
[01101111] INLJ
(0)[01101111] INLJ
-> left:
[00101111] INLJ
(0)[00101111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -345,23 +345,23 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
11.[11111111] NLJ
11.(0)[11111111] NLJ
-> left:
[11101111] INLJ
(0)[11101111] INLJ
-> left:
[01101111] INLJ
(0)[01101111] INLJ
-> left:
[00101111] INLJ
(0)[00101111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -375,23 +375,23 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
12.[11111111] INLJ
12.(0)[11111111] INLJ
-> left:
[11110111] INLJ
(0)[11110111] INLJ
-> left:
[01110111] INLJ
(0)[01110111] INLJ
-> left:
[00110111] INLJ
(0)[00110111] INLJ
-> left:
[00010111] INLJ
(0)[00010111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -407,21 +407,21 @@ Output plans (best plan 0):
-> right:
[00001000][test.nss3] INDEX_PROBE { a3: 1 }
13.[11111111] HJ
13.(0)[11111111] HJ
-> left:
[11110111] INLJ
(0)[11110111] INLJ
-> left:
[01110111] INLJ
(0)[01110111] INLJ
-> left:
[00110111] INLJ
(0)[00110111] INLJ
-> left:
[00010111] INLJ
(0)[00010111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -435,23 +435,23 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
14.[11111111] NLJ
14.(0)[11111111] NLJ
-> left:
[11110111] INLJ
(0)[11110111] INLJ
-> left:
[01110111] INLJ
(0)[01110111] INLJ
-> left:
[00110111] INLJ
(0)[00110111] INLJ
-> left:
[00010111] INLJ
(0)[00010111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -465,23 +465,23 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
15.[11111111] INLJ
15.(0)[11111111] INLJ
-> left:
[11111011] INLJ
(0)[11111011] INLJ
-> left:
[01111011] INLJ
(0)[01111011] INLJ
-> left:
[00111011] INLJ
(0)[00111011] INLJ
-> left:
[00011011] INLJ
(0)[00011011] INLJ
-> left:
[00001011] INLJ
(0)[00001011] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -497,21 +497,21 @@ Output plans (best plan 0):
-> right:
[00000100][test.nss2] INDEX_PROBE { a2: -1 }
16.[11111111] HJ
16.(0)[11111111] HJ
-> left:
[11111011] INLJ
(0)[11111011] INLJ
-> left:
[01111011] INLJ
(0)[01111011] INLJ
-> left:
[00111011] INLJ
(0)[00111011] INLJ
-> left:
[00011011] INLJ
(0)[00011011] INLJ
-> left:
[00001011] INLJ
(0)[00001011] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -525,23 +525,23 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
17.[11111111] NLJ
17.(0)[11111111] NLJ
-> left:
[11111011] INLJ
(0)[11111011] INLJ
-> left:
[01111011] INLJ
(0)[01111011] INLJ
-> left:
[00111011] INLJ
(0)[00111011] INLJ
-> left:
[00011011] INLJ
(0)[00011011] INLJ
-> left:
[00001011] INLJ
(0)[00001011] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -555,23 +555,23 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
18.[11111111] INLJ
18.(0)[11111111] INLJ
-> left:
[11111101] INLJ
(0)[11111101] INLJ
-> left:
[01111101] INLJ
(0)[01111101] INLJ
-> left:
[00111101] INLJ
(0)[00111101] INLJ
-> left:
[00011101] INLJ
(0)[00011101] INLJ
-> left:
[00001101] INLJ
(0)[00001101] INLJ
-> left:
[00000101] INLJ
(0)[00000101] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000100][test.nss2] INDEX_PROBE { a2: -1 }
-> right:
@ -587,21 +587,21 @@ Output plans (best plan 0):
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
19.[11111111] HJ
19.(0)[11111111] HJ
-> left:
[11111101] INLJ
(0)[11111101] INLJ
-> left:
[01111101] INLJ
(0)[01111101] INLJ
-> left:
[00111101] INLJ
(0)[00111101] INLJ
-> left:
[00011101] INLJ
(0)[00011101] INLJ
-> left:
[00001101] INLJ
(0)[00001101] INLJ
-> left:
[00000101] INLJ
(0)[00000101] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000100][test.nss2] INDEX_PROBE { a2: -1 }
-> right:
@ -615,23 +615,23 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
20.[11111111] NLJ
20.(0)[11111111] NLJ
-> left:
[11111101] INLJ
(0)[11111101] INLJ
-> left:
[01111101] INLJ
(0)[01111101] INLJ
-> left:
[00111101] INLJ
(0)[00111101] INLJ
-> left:
[00011101] INLJ
(0)[00011101] INLJ
-> left:
[00001101] INLJ
(0)[00001101] INLJ
-> left:
[00000101] INLJ
(0)[00000101] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000100][test.nss2] INDEX_PROBE { a2: -1 }
-> right:
@ -645,23 +645,23 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
21.[11111111] INLJ
21.(0)[11111111] INLJ
-> left:
[11111110] INLJ
(0)[11111110] INLJ
-> left:
[01111110] INLJ
(0)[01111110] INLJ
-> left:
[00111110] INLJ
(0)[00111110] INLJ
-> left:
[00011110] INLJ
(0)[00011110] INLJ
-> left:
[00001110] INLJ
(0)[00001110] INLJ
-> left:
[00000110] INLJ
(0)[00000110] INLJ
-> left:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] INDEX_PROBE { a2: -1 }
-> right:
@ -677,21 +677,21 @@ Output plans (best plan 0):
-> right:
[00000001][test.nss0] INDEX_PROBE { a0: -1 }
22.[11111111] HJ
22.(0)[11111111] HJ
-> left:
[11111110] INLJ
(0)[11111110] INLJ
-> left:
[01111110] INLJ
(0)[01111110] INLJ
-> left:
[00111110] INLJ
(0)[00111110] INLJ
-> left:
[00011110] INLJ
(0)[00011110] INLJ
-> left:
[00001110] INLJ
(0)[00001110] INLJ
-> left:
[00000110] INLJ
(0)[00000110] INLJ
-> left:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] INDEX_PROBE { a2: -1 }
-> right:
@ -705,23 +705,23 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
23.[11111111] NLJ
23.(0)[11111111] NLJ
-> left:
[11111110] INLJ
(0)[11111110] INLJ
-> left:
[01111110] INLJ
(0)[01111110] INLJ
-> left:
[00111110] INLJ
(0)[00111110] INLJ
-> left:
[00011110] INLJ
(0)[00011110] INLJ
-> left:
[00001110] INLJ
(0)[00001110] INLJ
-> left:
[00000110] INLJ
(0)[00000110] INLJ
-> left:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] INDEX_PROBE { a2: -1 }
-> right:
@ -735,5 +735,5 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN

View File

@ -17,243 +17,243 @@ Level 7:
11111111
Output plans (best plan 0):
0.[11111111] HJ
0.(0)[11111111] HJ
-> left:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[01111111] HJ
(0)[01111111] HJ
-> left:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[00111111] HJ
(0)[00111111] HJ
-> left:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[00011111] HJ
(0)[00011111] HJ
-> left:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
1.[11111111] HJ
1.(0)[11111111] HJ
-> left:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10111111] HJ
(0)[10111111] HJ
-> left:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00111111] HJ
(0)[00111111] HJ
-> left:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[00011111] HJ
(0)[00011111] HJ
-> left:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
2.[11111111] HJ
2.(0)[11111111] HJ
-> left:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[11011111] HJ
(0)[11011111] HJ
-> left:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[01011111] HJ
(0)[01011111] HJ
-> left:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[00011111] HJ
(0)[00011111] HJ
-> left:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
3.[11111111] HJ
3.(0)[11111111] HJ
-> left:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[11101111] HJ
(0)[11101111] HJ
-> left:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[01101111] HJ
(0)[01101111] HJ
-> left:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[00101111] HJ
(0)[00101111] HJ
-> left:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
4.[11111111] HJ
4.(0)[11111111] HJ
-> left:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[11110111] HJ
(0)[11110111] HJ
-> left:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[01110111] HJ
(0)[01110111] HJ
-> left:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[00110111] HJ
(0)[00110111] HJ
-> left:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[00010111] HJ
(0)[00010111] HJ
-> left:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
5.[11111111] HJ
5.(0)[11111111] HJ
-> left:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[11111011] HJ
(0)[11111011] HJ
-> left:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[01111011] HJ
(0)[01111011] HJ
-> left:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[00111011] HJ
(0)[00111011] HJ
-> left:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[00011011] HJ
(0)[00011011] HJ
-> left:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00001011] HJ
(0)[00001011] HJ
-> left:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
6.[11111111] HJ
6.(0)[11111111] HJ
-> left:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[11111101] HJ
(0)[11111101] HJ
-> left:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[01111101] HJ
(0)[01111101] HJ
-> left:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[00111101] HJ
(0)[00111101] HJ
-> left:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[00011101] HJ
(0)[00011101] HJ
-> left:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00001101] HJ
(0)[00001101] HJ
-> left:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00000101] HJ
(0)[00000101] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
7.[11111111] HJ
7.(0)[11111111] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[11111110] HJ
(0)[11111110] HJ
-> left:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[01111110] HJ
(0)[01111110] HJ
-> left:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[00111110] HJ
(0)[00111110] HJ
-> left:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[00011110] HJ
(0)[00011110] HJ
-> left:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00001110] HJ
(0)[00001110] HJ
-> left:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00000110] HJ
(0)[00000110] HJ
-> left:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN

View File

@ -17,243 +17,243 @@ Level 7:
11111111
Output plans (best plan 0):
0.[11111111] HJ
0.(0)[11111111] HJ
-> left:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[01111111] HJ
(0)[01111111] HJ
-> left:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[00111111] HJ
(0)[00111111] HJ
-> left:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[00011111] HJ
(0)[00011111] HJ
-> left:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
1.[11111111] HJ
1.(0)[11111111] HJ
-> left:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10111111] HJ
(0)[10111111] HJ
-> left:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00111111] HJ
(0)[00111111] HJ
-> left:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[00011111] HJ
(0)[00011111] HJ
-> left:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
2.[11111111] HJ
2.(0)[11111111] HJ
-> left:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[11011111] HJ
(0)[11011111] HJ
-> left:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[01011111] HJ
(0)[01011111] HJ
-> left:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[00011111] HJ
(0)[00011111] HJ
-> left:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
3.[11111111] HJ
3.(0)[11111111] HJ
-> left:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[11101111] HJ
(0)[11101111] HJ
-> left:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[01101111] HJ
(0)[01101111] HJ
-> left:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[00101111] HJ
(0)[00101111] HJ
-> left:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
4.[11111111] HJ
4.(0)[11111111] HJ
-> left:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[11110111] HJ
(0)[11110111] HJ
-> left:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[01110111] HJ
(0)[01110111] HJ
-> left:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[00110111] HJ
(0)[00110111] HJ
-> left:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[00010111] HJ
(0)[00010111] HJ
-> left:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
5.[11111111] HJ
5.(0)[11111111] HJ
-> left:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[11111011] HJ
(0)[11111011] HJ
-> left:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[01111011] HJ
(0)[01111011] HJ
-> left:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[00111011] HJ
(0)[00111011] HJ
-> left:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[00011011] HJ
(0)[00011011] HJ
-> left:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00001011] HJ
(0)[00001011] HJ
-> left:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
6.[11111111] HJ
6.(0)[11111111] HJ
-> left:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[11111101] HJ
(0)[11111101] HJ
-> left:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[01111101] HJ
(0)[01111101] HJ
-> left:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[00111101] HJ
(0)[00111101] HJ
-> left:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[00011101] HJ
(0)[00011101] HJ
-> left:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00001101] HJ
(0)[00001101] HJ
-> left:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00000101] INLJ
(0)[00000101] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000100][test.nss2] INDEX_PROBE { a2: -1 }
7.[11111111] HJ
7.(0)[11111111] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[11111110] HJ
(0)[11111110] HJ
-> left:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[01111110] HJ
(0)[01111110] HJ
-> left:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[00111110] HJ
(0)[00111110] HJ
-> left:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[00011110] HJ
(0)[00011110] HJ
-> left:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00001110] HJ
(0)[00001110] HJ
-> left:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00000110] INLJ
(0)[00000110] INLJ
-> left:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] INDEX_PROBE { a2: -1 }

View File

@ -17,483 +17,483 @@ Level 7:
11111111
Output plans (best plan 0):
0.[11111111] HJ
0.(0)[11111111] HJ
-> left:
[01111111] HJ
(0)[01111111] HJ
-> left:
[00111111] HJ
(0)[00111111] HJ
-> left:
[00011111] HJ
(0)[00011111] HJ
-> left:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
1.[11111111] NLJ
1.(0)[11111111] NLJ
-> left:
[01111111] HJ
(0)[01111111] HJ
-> left:
[00111111] HJ
(0)[00111111] HJ
-> left:
[00011111] HJ
(0)[00011111] HJ
-> left:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
2.[11111111] NLJ
2.(0)[11111111] NLJ
-> left:
[10111111] HJ
(0)[10111111] HJ
-> left:
[00111111] HJ
(0)[00111111] HJ
-> left:
[00011111] HJ
(0)[00011111] HJ
-> left:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
3.[11111111] HJ
3.(0)[11111111] HJ
-> left:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10111111] HJ
(0)[10111111] HJ
-> left:
[00111111] HJ
(0)[00111111] HJ
-> left:
[00011111] HJ
(0)[00011111] HJ
-> left:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
4.[11111111] NLJ
4.(0)[11111111] NLJ
-> left:
[11011111] HJ
(0)[11011111] HJ
-> left:
[01011111] HJ
(0)[01011111] HJ
-> left:
[00011111] HJ
(0)[00011111] HJ
-> left:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
5.[11111111] HJ
5.(0)[11111111] HJ
-> left:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[11011111] HJ
(0)[11011111] HJ
-> left:
[01011111] HJ
(0)[01011111] HJ
-> left:
[00011111] HJ
(0)[00011111] HJ
-> left:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
6.[11111111] NLJ
6.(0)[11111111] NLJ
-> left:
[11101111] HJ
(0)[11101111] HJ
-> left:
[01101111] HJ
(0)[01101111] HJ
-> left:
[00101111] HJ
(0)[00101111] HJ
-> left:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
7.[11111111] HJ
7.(0)[11111111] HJ
-> left:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[11101111] HJ
(0)[11101111] HJ
-> left:
[01101111] HJ
(0)[01101111] HJ
-> left:
[00101111] HJ
(0)[00101111] HJ
-> left:
[00001111] HJ
(0)[00001111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
8.[11111111] NLJ
8.(0)[11111111] NLJ
-> left:
[11110111] HJ
(0)[11110111] HJ
-> left:
[01110111] HJ
(0)[01110111] HJ
-> left:
[00110111] HJ
(0)[00110111] HJ
-> left:
[00010111] HJ
(0)[00010111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
9.[11111111] HJ
9.(0)[11111111] HJ
-> left:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[11110111] HJ
(0)[11110111] HJ
-> left:
[01110111] HJ
(0)[01110111] HJ
-> left:
[00110111] HJ
(0)[00110111] HJ
-> left:
[00010111] HJ
(0)[00010111] HJ
-> left:
[00000111] HJ
(0)[00000111] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
10.[11111111] NLJ
10.(0)[11111111] NLJ
-> left:
[11111011] HJ
(0)[11111011] HJ
-> left:
[01111011] HJ
(0)[01111011] HJ
-> left:
[00111011] HJ
(0)[00111011] HJ
-> left:
[00011011] HJ
(0)[00011011] HJ
-> left:
[00001011] HJ
(0)[00001011] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
11.[11111111] HJ
11.(0)[11111111] HJ
-> left:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[11111011] HJ
(0)[11111011] HJ
-> left:
[01111011] HJ
(0)[01111011] HJ
-> left:
[00111011] HJ
(0)[00111011] HJ
-> left:
[00011011] HJ
(0)[00011011] HJ
-> left:
[00001011] HJ
(0)[00001011] HJ
-> left:
[00000011] HJ
(0)[00000011] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
12.[11111111] NLJ
12.(0)[11111111] NLJ
-> left:
[11111101] HJ
(0)[11111101] HJ
-> left:
[01111101] HJ
(0)[01111101] HJ
-> left:
[00111101] HJ
(0)[00111101] HJ
-> left:
[00011101] HJ
(0)[00011101] HJ
-> left:
[00001101] HJ
(0)[00001101] HJ
-> left:
[00000101] HJ
(0)[00000101] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
13.[11111111] HJ
13.(0)[11111111] HJ
-> left:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[11111101] HJ
(0)[11111101] HJ
-> left:
[01111101] HJ
(0)[01111101] HJ
-> left:
[00111101] HJ
(0)[00111101] HJ
-> left:
[00011101] HJ
(0)[00011101] HJ
-> left:
[00001101] HJ
(0)[00001101] HJ
-> left:
[00000101] HJ
(0)[00000101] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
14.[11111111] NLJ
14.(0)[11111111] NLJ
-> left:
[11111110] HJ
(0)[11111110] HJ
-> left:
[01111110] HJ
(0)[01111110] HJ
-> left:
[00111110] HJ
(0)[00111110] HJ
-> left:
[00011110] HJ
(0)[00011110] HJ
-> left:
[00001110] HJ
(0)[00001110] HJ
-> left:
[00000110] HJ
(0)[00000110] HJ
-> left:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
-> right:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
15.[11111111] HJ
15.(0)[11111111] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[11111110] HJ
(0)[11111110] HJ
-> left:
[01111110] HJ
(0)[01111110] HJ
-> left:
[00111110] HJ
(0)[00111110] HJ
-> left:
[00011110] HJ
(0)[00011110] HJ
-> left:
[00001110] HJ
(0)[00001110] HJ
-> left:
[00000110] HJ
(0)[00000110] HJ
-> left:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN

View File

@ -17,21 +17,21 @@ Level 7:
11111111
Output plans (best plan 0):
0.[11111111] INLJ
0.(0)[11111111] INLJ
-> left:
[01111111] INLJ
(0)[01111111] INLJ
-> left:
[00111111] INLJ
(0)[00111111] INLJ
-> left:
[00011111] INLJ
(0)[00011111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -47,21 +47,21 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
1.[11111111] HJ
1.(0)[11111111] HJ
-> left:
[01111111] INLJ
(0)[01111111] INLJ
-> left:
[00111111] INLJ
(0)[00111111] INLJ
-> left:
[00011111] INLJ
(0)[00011111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -75,23 +75,23 @@ Output plans (best plan 0):
-> right:
[01000000][test.nss6] INDEX_PROBE { a6: -1 }
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
2.[11111111] NLJ
2.(0)[11111111] NLJ
-> left:
[01111111] INLJ
(0)[01111111] INLJ
-> left:
[00111111] INLJ
(0)[00111111] INLJ
-> left:
[00011111] INLJ
(0)[00011111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -105,23 +105,23 @@ Output plans (best plan 0):
-> right:
[01000000][test.nss6] INDEX_PROBE { a6: -1 }
-> right:
[10000000][test.nss7] COLLSCAN
(0)[10000000][test.nss7] COLLSCAN
3.[11111111] INLJ
3.(0)[11111111] INLJ
-> left:
[10111111] INLJ
(0)[10111111] INLJ
-> left:
[00111111] INLJ
(0)[00111111] INLJ
-> left:
[00011111] INLJ
(0)[00011111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -137,21 +137,21 @@ Output plans (best plan 0):
-> right:
[01000000][test.nss6] INDEX_PROBE { a6: -1 }
4.[11111111] NLJ
4.(0)[11111111] NLJ
-> left:
[10111111] INLJ
(0)[10111111] INLJ
-> left:
[00111111] INLJ
(0)[00111111] INLJ
-> left:
[00011111] INLJ
(0)[00011111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -165,25 +165,25 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
5.[11111111] HJ
5.(0)[11111111] HJ
-> left:
[01000000][test.nss6] COLLSCAN
(0)[01000000][test.nss6] COLLSCAN
-> right:
[10111111] INLJ
(0)[10111111] INLJ
-> left:
[00111111] INLJ
(0)[00111111] INLJ
-> left:
[00011111] INLJ
(0)[00011111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -197,21 +197,21 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
6.[11111111] INLJ
6.(0)[11111111] INLJ
-> left:
[11011111] INLJ
(0)[11011111] INLJ
-> left:
[01011111] INLJ
(0)[01011111] INLJ
-> left:
[00011111] INLJ
(0)[00011111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -227,21 +227,21 @@ Output plans (best plan 0):
-> right:
[00100000][test.nss5] INDEX_PROBE { a5: 1 }
7.[11111111] NLJ
7.(0)[11111111] NLJ
-> left:
[11011111] INLJ
(0)[11011111] INLJ
-> left:
[01011111] INLJ
(0)[01011111] INLJ
-> left:
[00011111] INLJ
(0)[00011111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -255,25 +255,25 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
8.[11111111] HJ
8.(0)[11111111] HJ
-> left:
[00100000][test.nss5] COLLSCAN
(0)[00100000][test.nss5] COLLSCAN
-> right:
[11011111] INLJ
(0)[11011111] INLJ
-> left:
[01011111] INLJ
(0)[01011111] INLJ
-> left:
[00011111] INLJ
(0)[00011111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -287,21 +287,21 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
9.[11111111] INLJ
9.(0)[11111111] INLJ
-> left:
[11101111] INLJ
(0)[11101111] INLJ
-> left:
[01101111] INLJ
(0)[01101111] INLJ
-> left:
[00101111] INLJ
(0)[00101111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -317,21 +317,21 @@ Output plans (best plan 0):
-> right:
[00010000][test.nss4] INDEX_PROBE { a4: -1 }
10.[11111111] NLJ
10.(0)[11111111] NLJ
-> left:
[11101111] INLJ
(0)[11101111] INLJ
-> left:
[01101111] INLJ
(0)[01101111] INLJ
-> left:
[00101111] INLJ
(0)[00101111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -345,25 +345,25 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
11.[11111111] HJ
11.(0)[11111111] HJ
-> left:
[00010000][test.nss4] COLLSCAN
(0)[00010000][test.nss4] COLLSCAN
-> right:
[11101111] INLJ
(0)[11101111] INLJ
-> left:
[01101111] INLJ
(0)[01101111] INLJ
-> left:
[00101111] INLJ
(0)[00101111] INLJ
-> left:
[00001111] INLJ
(0)[00001111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -377,21 +377,21 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
12.[11111111] INLJ
12.(0)[11111111] INLJ
-> left:
[11110111] INLJ
(0)[11110111] INLJ
-> left:
[01110111] INLJ
(0)[01110111] INLJ
-> left:
[00110111] INLJ
(0)[00110111] INLJ
-> left:
[00010111] INLJ
(0)[00010111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -407,21 +407,21 @@ Output plans (best plan 0):
-> right:
[00001000][test.nss3] INDEX_PROBE { a3: 1 }
13.[11111111] NLJ
13.(0)[11111111] NLJ
-> left:
[11110111] INLJ
(0)[11110111] INLJ
-> left:
[01110111] INLJ
(0)[01110111] INLJ
-> left:
[00110111] INLJ
(0)[00110111] INLJ
-> left:
[00010111] INLJ
(0)[00010111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -435,25 +435,25 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
14.[11111111] HJ
14.(0)[11111111] HJ
-> left:
[00001000][test.nss3] COLLSCAN
(0)[00001000][test.nss3] COLLSCAN
-> right:
[11110111] INLJ
(0)[11110111] INLJ
-> left:
[01110111] INLJ
(0)[01110111] INLJ
-> left:
[00110111] INLJ
(0)[00110111] INLJ
-> left:
[00010111] INLJ
(0)[00010111] INLJ
-> left:
[00000111] INLJ
(0)[00000111] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -467,21 +467,21 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
15.[11111111] INLJ
15.(0)[11111111] INLJ
-> left:
[11111011] INLJ
(0)[11111011] INLJ
-> left:
[01111011] INLJ
(0)[01111011] INLJ
-> left:
[00111011] INLJ
(0)[00111011] INLJ
-> left:
[00011011] INLJ
(0)[00011011] INLJ
-> left:
[00001011] INLJ
(0)[00001011] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -497,21 +497,21 @@ Output plans (best plan 0):
-> right:
[00000100][test.nss2] INDEX_PROBE { a2: -1 }
16.[11111111] NLJ
16.(0)[11111111] NLJ
-> left:
[11111011] INLJ
(0)[11111011] INLJ
-> left:
[01111011] INLJ
(0)[01111011] INLJ
-> left:
[00111011] INLJ
(0)[00111011] INLJ
-> left:
[00011011] INLJ
(0)[00011011] INLJ
-> left:
[00001011] INLJ
(0)[00001011] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -525,25 +525,25 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
17.[11111111] HJ
17.(0)[11111111] HJ
-> left:
[00000100][test.nss2] COLLSCAN
(0)[00000100][test.nss2] COLLSCAN
-> right:
[11111011] INLJ
(0)[11111011] INLJ
-> left:
[01111011] INLJ
(0)[01111011] INLJ
-> left:
[00111011] INLJ
(0)[00111011] INLJ
-> left:
[00011011] INLJ
(0)[00011011] INLJ
-> left:
[00001011] INLJ
(0)[00001011] INLJ
-> left:
[00000011] INLJ
(0)[00000011] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
-> right:
@ -557,21 +557,21 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
18.[11111111] INLJ
18.(0)[11111111] INLJ
-> left:
[11111101] INLJ
(0)[11111101] INLJ
-> left:
[01111101] INLJ
(0)[01111101] INLJ
-> left:
[00111101] INLJ
(0)[00111101] INLJ
-> left:
[00011101] INLJ
(0)[00011101] INLJ
-> left:
[00001101] INLJ
(0)[00001101] INLJ
-> left:
[00000101] INLJ
(0)[00000101] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000100][test.nss2] INDEX_PROBE { a2: -1 }
-> right:
@ -587,21 +587,21 @@ Output plans (best plan 0):
-> right:
[00000010][test.nss1] INDEX_PROBE { a1: 1 }
19.[11111111] NLJ
19.(0)[11111111] NLJ
-> left:
[11111101] INLJ
(0)[11111101] INLJ
-> left:
[01111101] INLJ
(0)[01111101] INLJ
-> left:
[00111101] INLJ
(0)[00111101] INLJ
-> left:
[00011101] INLJ
(0)[00011101] INLJ
-> left:
[00001101] INLJ
(0)[00001101] INLJ
-> left:
[00000101] INLJ
(0)[00000101] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000100][test.nss2] INDEX_PROBE { a2: -1 }
-> right:
@ -615,25 +615,25 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
20.[11111111] HJ
20.(0)[11111111] HJ
-> left:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[11111101] INLJ
(0)[11111101] INLJ
-> left:
[01111101] INLJ
(0)[01111101] INLJ
-> left:
[00111101] INLJ
(0)[00111101] INLJ
-> left:
[00011101] INLJ
(0)[00011101] INLJ
-> left:
[00001101] INLJ
(0)[00001101] INLJ
-> left:
[00000101] INLJ
(0)[00000101] INLJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[00000100][test.nss2] INDEX_PROBE { a2: -1 }
-> right:
@ -647,21 +647,21 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
21.[11111111] INLJ
21.(0)[11111111] INLJ
-> left:
[11111110] INLJ
(0)[11111110] INLJ
-> left:
[01111110] INLJ
(0)[01111110] INLJ
-> left:
[00111110] INLJ
(0)[00111110] INLJ
-> left:
[00011110] INLJ
(0)[00011110] INLJ
-> left:
[00001110] INLJ
(0)[00001110] INLJ
-> left:
[00000110] INLJ
(0)[00000110] INLJ
-> left:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] INDEX_PROBE { a2: -1 }
-> right:
@ -677,21 +677,21 @@ Output plans (best plan 0):
-> right:
[00000001][test.nss0] INDEX_PROBE { a0: -1 }
22.[11111111] NLJ
22.(0)[11111111] NLJ
-> left:
[11111110] INLJ
(0)[11111110] INLJ
-> left:
[01111110] INLJ
(0)[01111110] INLJ
-> left:
[00111110] INLJ
(0)[00111110] INLJ
-> left:
[00011110] INLJ
(0)[00011110] INLJ
-> left:
[00001110] INLJ
(0)[00001110] INLJ
-> left:
[00000110] INLJ
(0)[00000110] INLJ
-> left:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] INDEX_PROBE { a2: -1 }
-> right:
@ -705,25 +705,25 @@ Output plans (best plan 0):
-> right:
[10000000][test.nss7] INDEX_PROBE { a7: 1 }
-> right:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
23.[11111111] HJ
23.(0)[11111111] HJ
-> left:
[00000001][test.nss0] COLLSCAN
(0)[00000001][test.nss0] COLLSCAN
-> right:
[11111110] INLJ
(0)[11111110] INLJ
-> left:
[01111110] INLJ
(0)[01111110] INLJ
-> left:
[00111110] INLJ
(0)[00111110] INLJ
-> left:
[00011110] INLJ
(0)[00011110] INLJ
-> left:
[00001110] INLJ
(0)[00001110] INLJ
-> left:
[00000110] INLJ
(0)[00000110] INLJ
-> left:
[00000010][test.nss1] COLLSCAN
(0)[00000010][test.nss1] COLLSCAN
-> right:
[00000100][test.nss2] INDEX_PROBE { a2: -1 }
-> right: