Package org.apache.calcite.sql.ddl
Class SqlCreateForeignSchema
- java.lang.Object
-
- org.apache.calcite.sql.SqlNode
-
- org.apache.calcite.sql.SqlCall
-
- org.apache.calcite.sql.SqlDdl
-
- org.apache.calcite.sql.SqlCreate
-
- org.apache.calcite.sql.ddl.SqlCreateForeignSchema
-
- All Implemented Interfaces:
java.lang.Cloneable
,SqlExecutableStatement
public class SqlCreateForeignSchema extends SqlCreate implements SqlExecutableStatement
Parse tree forCREATE FOREIGN SCHEMA
statement.
-
-
Field Summary
Fields Modifier and Type Field Description private SqlNode
library
private SqlIdentifier
name
private static SqlOperator
OPERATOR
private SqlNodeList
optionList
private SqlNode
type
-
Fields inherited from class org.apache.calcite.sql.SqlCreate
ifNotExists
-
Fields inherited from class org.apache.calcite.sql.SqlDdl
DDL_OPERATOR
-
Fields inherited from class org.apache.calcite.sql.SqlNode
EMPTY_ARRAY, pos
-
-
Constructor Summary
Constructors Constructor Description SqlCreateForeignSchema(SqlParserPos pos, boolean replace, boolean ifNotExists, SqlIdentifier name, SqlNode type, SqlNode library, SqlNodeList optionList)
Creates a SqlCreateForeignSchema.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
execute(CalcitePrepare.Context context)
java.util.List<SqlNode>
getOperandList()
private static java.util.List<Pair<SqlIdentifier,SqlNode>>
options(SqlNodeList optionList)
void
unparse(SqlWriter writer, int leftPrec, int rightPrec)
Writes a SQL representation of this node to a writer.private static java.lang.Comparable
value(SqlNode node)
Returns the value of a literal, convertingNlsString
into String.-
Methods inherited from class org.apache.calcite.sql.SqlCreate
getReplace, setReplace
-
Methods inherited from class org.apache.calcite.sql.SqlDdl
getOperator
-
Methods inherited from class org.apache.calcite.sql.SqlCall
accept, clone, equalsDeep, findValidOptions, getCallSignature, getFunctionQuantifier, getKind, getMonotonicity, isCountStar, isExpanded, operand, operandCount, setOperand, validate
-
Methods inherited from class org.apache.calcite.sql.SqlNode
clone, clone, cloneArray, equalDeep, equalDeep, equalsDeep, getParserPosition, isA, toSqlString, toSqlString, toString, validateExpr
-
-
-
-
Field Detail
-
name
private final SqlIdentifier name
-
type
private final SqlNode type
-
library
private final SqlNode library
-
optionList
private final SqlNodeList optionList
-
OPERATOR
private static final SqlOperator OPERATOR
-
-
Constructor Detail
-
SqlCreateForeignSchema
SqlCreateForeignSchema(SqlParserPos pos, boolean replace, boolean ifNotExists, SqlIdentifier name, SqlNode type, SqlNode library, SqlNodeList optionList)
Creates a SqlCreateForeignSchema.
-
-
Method Detail
-
getOperandList
public java.util.List<SqlNode> getOperandList()
- Specified by:
getOperandList
in classSqlCall
-
unparse
public void unparse(SqlWriter writer, int leftPrec, int rightPrec)
Description copied from class:SqlNode
Writes a SQL representation of this node to a writer.The
leftPrec
andrightPrec
parameters give us enough context to decide whether we need to enclose the expression in parentheses. For example, we need parentheses around "2 + 3" if preceded by "5 *". This is because the precedence of the "*" operator is greater than the precedence of the "+" operator.The algorithm handles left- and right-associative operators by giving them slightly different left- and right-precedence.
If
SqlWriter.isAlwaysUseParentheses()
is true, we use parentheses even when they are not required by the precedence rules.For the details of this algorithm, see
SqlCall.unparse(org.apache.calcite.sql.SqlWriter, int, int)
.
-
execute
public void execute(CalcitePrepare.Context context)
- Specified by:
execute
in interfaceSqlExecutableStatement
-
value
private static java.lang.Comparable value(SqlNode node)
Returns the value of a literal, convertingNlsString
into String.
-
options
private static java.util.List<Pair<SqlIdentifier,SqlNode>> options(SqlNodeList optionList)
-
-