public interface SqlNodeConverter<S extends org.apache.calcite.sql.SqlNode>
SqlNode
instance into Operation
.
By default, a SqlNodeConverter
only matches a specific SqlNode class to convert which
is defined by the parameter type S
. But a SqlNodeConverter
can also match a set
of SqlNodes with the SqlKind
if it defines the supportedSqlKinds()
.
SqlNodeConverters
Modifier and Type | Interface and Description |
---|---|
static interface |
SqlNodeConverter.ConvertContext
Context of
SqlNodeConverter . |
Modifier and Type | Method and Description |
---|---|
Operation |
convertSqlNode(S node,
SqlNodeConverter.ConvertContext context)
Convert the given validated
SqlNode into an Operation . |
default Optional<EnumSet<org.apache.calcite.sql.SqlKind>> |
supportedSqlKinds()
|
Operation convertSqlNode(S node, SqlNodeConverter.ConvertContext context)
SqlNode
into an Operation
.node
- a validated SqlNode
.context
- the utilities and context information to convertdefault Optional<EnumSet<org.apache.calcite.sql.SqlKind>> supportedSqlKinds()
SqlKinds
of SqlNodes
that the SqlNodeConverter
supports to convert.
If a SqlNodeConverter
returns a non-empty SqlKinds, The conversion framework will
find the corresponding converter by matching the SqlKind of SqlNode instead of the class of
SqlNode
SqlQueryConverter
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.