Class AbstractExprWithNmspc<T extends org.antlr.v4.runtime.ParserRuleContext>
java.lang.Object
org.pgcodekeeper.core.parsers.antlr.pg.expr.AbstractExpr
org.pgcodekeeper.core.parsers.antlr.pg.expr.AbstractExprWithNmspc<T>
- Direct Known Subclasses:
Delete,Function,Insert,Merge,Select,Statements,Update,ValueExprWithNmspc
public abstract class AbstractExprWithNmspc<T extends org.antlr.v4.runtime.ParserRuleContext>
extends AbstractExpr
Abstract expression parser with namespace support for tracking variables, references, and CTEs.
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddNamespaceVariable(Pair<String, String> variable) Adds a "freestanding" variable (e.g.voidaddRawTableReference(GenericColumn qualifiedTable) booleanaddReference(String alias, GenericColumn object) Clients may use this to set up pseudo-variable names before expression analysis.Analyzes the given rule context.voiddeclareNamespaceVar(String alias, String name, GenericColumn argType) Declares a variable in the current namespace.Methods inherited from class org.pgcodekeeper.core.parsers.antlr.pg.expr.AbstractExpr
getDepcies, setFullAnaLyze
-
Method Details
-
declareNamespaceVar
Declares a variable in the current namespace. Variables of relation types are declared as references, rest are treated as primitives.- Parameters:
alias- var alias (required)name- var name (optional, may be null)argType- var type
-
addNamespaceVariable
Adds a "freestanding" variable (e.g. a non-table function parameter) into a special complexNamespace container. -
addReference
Clients may use this to set up pseudo-variable names before expression analysis. -
addRawTableReference
-
analyze
Analyzes the given rule context.- Parameters:
ruleCtx- the parser rule context to analyze- Returns:
- list of modifiable pairs containing analyzed results
-