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 Details

    • declareNamespaceVar

      public void declareNamespaceVar(String alias, String name, GenericColumn argType)
      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

      public void addNamespaceVariable(Pair<String,String> variable)
      Adds a "freestanding" variable (e.g. a non-table function parameter) into a special complexNamespace container.
    • addReference

      public boolean addReference(String alias, GenericColumn object)
      Clients may use this to set up pseudo-variable names before expression analysis.
    • addRawTableReference

      public void addRawTableReference(GenericColumn qualifiedTable)
    • analyze

      public abstract List<ModPair<String,String>> analyze(T ruleCtx)
      Analyzes the given rule context.
      Parameters:
      ruleCtx - the parser rule context to analyze
      Returns:
      list of modifiable pairs containing analyzed results