diff --git a/doc/sql.extensions/README.packages.txt b/doc/sql.extensions/README.packages.txt index 4216293b109..8c4484cf069 100644 --- a/doc/sql.extensions/README.packages.txt +++ b/doc/sql.extensions/README.packages.txt @@ -106,7 +106,7 @@ Objectives: The following expressions are valid only if all operands are constants: 1) Arithmetic operations, unary plus/minus - 2) Bool As Value + 2) Bool As Value, Boolean compare operations 3) CAST, COALESCE, CONCATENATE, DECODE, EXTRACT, UPPER/LOWER, SUBSTRING 4) BIT_LENGTH, CHAR_LENGTH, CHARACTER_LENGTH, OCTET_LENGTH 5) TRIM, LTRIM, RTRIM, BTRIM diff --git a/src/dsql/Nodes.h b/src/dsql/Nodes.h index 778343b2bfd..f3d46472a61 100644 --- a/src/dsql/Nodes.h +++ b/src/dsql/Nodes.h @@ -729,6 +729,7 @@ class ExprNode : public DmlNode // SubstringSimilarNode // TrimNode // ValueIfNode + // BoolExprNode // // Special: // SysFuncCallNode - see SysFunction::functions @@ -818,6 +819,11 @@ class BoolExprNode : public ExprNode return KIND_BOOLEAN; } + virtual bool constant() const override + { + return isChildrenConstant(); + } + BoolExprNode* dsqlPass(DsqlCompilerScratch* dsqlScratch) override { ExprNode::dsqlPass(dsqlScratch);