Class ValuesNamespace
Object
gudusoft.gsqlparser.resolver2.namespace.AbstractNamespace
gudusoft.gsqlparser.resolver2.namespace.ValuesNamespace
- All Implemented Interfaces:
INamespace
Namespace representing a VALUES table expression.
VALUES tables define inline data with an optional alias and column names.
For example:
- VALUES (1, 'a'), (2, 'b') AS t(id, name)
- In Teradata MERGE: USING VALUES (:empno, :name, :salary) AS s(empno, name, salary)
The ValuesNamespace provides columns defined in the alias clause.
-
Field Summary
Fields inherited from class gudusoft.gsqlparser.resolver2.namespace.AbstractNamespace
columnSources, columnSourcesWithRefs, guessColumnStrategy, nameMatcher, node, referenceTraceabilityEnabled, validated -
Constructor Summary
ConstructorsConstructorDescriptionValuesNamespace(TTable table, String alias) ValuesNamespace(TTable table, String alias, INameMatcher nameMatcher) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidSubclasses override this to perform actual validation logic.getAlias()Get the alias for this VALUES table.Get all final physical tables this namespace depends on.Get a display name for this namespace (for debugging/error messages)Get the final physical table this namespace represents.getTable()Check if a column exists in this namespace.booleanCheck if this namespace contains a star column (SELECT *).resolveColumn(String columnName) Resolve a column name to its source.booleanCheck if this namespace supports dynamic column inference.toString()Methods inherited from class gudusoft.gsqlparser.resolver2.namespace.AbstractNamespace
addColumnSource, addColumnSource, enableReferenceTraceability, ensureValidated, getAllColumnSources, getAllUniqueColumns, getColumnReferences, getColumnSourceWithReferences, getGuessColumnStrategy, getNameMatcher, getNode, isReferenceTraceabilityEnabled, isValidated, setGuessColumnStrategy, validateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface gudusoft.gsqlparser.resolver2.namespace.INamespace
addInferredColumn, getInferredColumns, getSelectStatement, getSourceTable, getStarColumn, resolveColumnPath
-
Constructor Details
-
ValuesNamespace
-
ValuesNamespace
-
-
Method Details
-
getDisplayName
Description copied from interface:INamespaceGet a display name for this namespace (for debugging/error messages) -
getFinalTable
Description copied from interface:INamespaceGet the final physical table this namespace represents. For tables: returns the table itself For subqueries/CTEs: recursively traces back to physical table(s)- Returns:
- Physical table, or null if not determinable
-
getAllFinalTables
Description copied from interface:INamespaceGet all final physical tables this namespace depends on. For simple table namespace: returns single table For subquery/CTE: returns all tables in the query tree- Specified by:
getAllFinalTablesin interfaceINamespace- Overrides:
getAllFinalTablesin classAbstractNamespace- Returns:
- List of all physical tables
-
doValidate
Description copied from class:AbstractNamespaceSubclasses override this to perform actual validation logic.- Specified by:
doValidatein classAbstractNamespace
-
hasStarColumn
Description copied from interface:INamespaceCheck if this namespace contains a star column (SELECT *). Used to identify namespaces that may need star column inference.- Returns:
- true if the namespace has SELECT *, false otherwise
-
supportsDynamicInference
Description copied from interface:INamespaceCheck if this namespace supports dynamic column inference. DynamicStarSource and similar namespaces return true.- Returns:
- true if this namespace can have columns added dynamically
-
hasColumn
Description copied from interface:INamespaceCheck if a column exists in this namespace. Returns a three-level answer: EXISTS, MAYBE, NOT_EXISTS- Specified by:
hasColumnin interfaceINamespace- Overrides:
hasColumnin classAbstractNamespace- Parameters:
columnName- Column name to check- Returns:
- Column existence level
-
resolveColumn
Description copied from interface:INamespaceResolve a column name to its source.- Specified by:
resolveColumnin interfaceINamespace- Overrides:
resolveColumnin classAbstractNamespace- Parameters:
columnName- Column name to resolve- Returns:
- ColumnSource if found, null otherwise
-
getAlias
Get the alias for this VALUES table. -
getTable
-
toString
- Overrides:
toStringin classAbstractNamespace
-