summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/optimizer/syntax/syntax.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/query/optimizer/syntax/syntax.h')
-rw-r--r--src/mongo/db/query/optimizer/syntax/syntax.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mongo/db/query/optimizer/syntax/syntax.h b/src/mongo/db/query/optimizer/syntax/syntax.h
index d44d32fbc00..03f35718871 100644
--- a/src/mongo/db/query/optimizer/syntax/syntax.h
+++ b/src/mongo/db/query/optimizer/syntax/syntax.h
@@ -39,6 +39,14 @@
namespace mongo::optimizer {
+/**
+ * This is the core typedef that represents an abstract binding tree (ABT). The templated types
+ * represent all possible instances for a given ABT operator, each deriving from an Operator class
+ * that indicates the number of children nodes.
+ *
+ * NOTE: If the set of possible types in an ABT changes, please update the corresponding gdb
+ * pretty printer.
+ */
using ABT = algebra::PolyValue<Blackhole,
Constant, // expressions
Variable,