Package org.h2.command
Class Parser
java.lang.Object
org.h2.command.Parser
The parser is used to convert a SQL statement string to an command object.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static enum
Enumeration describing null constraints -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate CreateView
private Prepared
private Select
private String
private int
private final Database
private final boolean
private final boolean
private boolean
private final BitSet
private int
private boolean
private boolean
private boolean
private String
private final SessionLocal
private String
(package private) Token
(package private) int
private final boolean
private static final String
-
Constructor Summary
ConstructorsConstructorDescriptionParser()
Creates a new instance of parser for special use cases.Parser
(SessionLocal session) Creates a new instance of parser. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addExpected
(int tokenType) private void
addExpected
(String token) private void
addJoin
(TableFilter top, TableFilter join, boolean outer, Expression on) Add one join to another.private Expression
addJoinColumn
(Expression on, TableFilter filter1, TableFilter filter2, Column column1, Column column2, boolean rightJoin) private void
addMultipleExpected
(int... tokenTypes) private boolean
addRoleOrRight
(GrantRevoke command) private TableFilter
buildTableFilter
(Table table, String alias, ArrayList<String> derivedColumnNames, IndexHints indexHints) private void
checkDatabaseName
(String databaseName) private void
private void
checkSchema
(Schema old) private Column
columnIfTableExists
(Schema schema, String tableName, String columnName, boolean ifTableExists, boolean ifExists) private Prepared
commandIfTableExists
(Schema schema, String tableName, boolean ifTableExists, Prepared commandIfTableExists) private TableView
createCTEView
(String cteViewName, String querySQL, List<Column> columnTemplateList, boolean allowRecursiveQueryDetection, boolean addViewToSession, boolean isTemporary) private SimpleCase.SimpleWhen
decodeToWhen
(Expression caseOperand, boolean canOptimize, Expression whenOperand, Expression result) private void
private void
private boolean
equalsToken
(String a, String b) private Schema
findSchema
(String schemaName) private Sequence
findSequence
(String schema, String sequenceName) private void
findTableNameCandidates
(String schemaName, String tableName, Set<String> candidates) private UserDefinedFunction
findUserDefinedFunctionWithinPath
(Schema schema, String name) static String
formatNonKeywords
(BitSet nonKeywords) Formats a comma-separated list of keywords.private Prepared
getAlterTableAlterColumnDropDefaultExpression
(Schema schema, String tableName, boolean ifTableExists, Column column, int type) private static Column
getColumnWithDomain
(String columnName, Domain domain) private static int
getCompareType
(int tokenType) private Prepared
private FunctionAlias
getFunctionAliasWithinPath
(String name, Schema schema) private static DbException
getInvalidNumericPrecisionException
(long precision) private static DbException
getInvalidPrecisionException
(DataType dataType, long precision) int
Returns the last parse index.getRemainingTokens
(int offset) private Schema
private Schema
private Schema
private DbException
private DbException
getTableOrViewNotFoundDbException
(String tableName) private DbException
getTableOrViewNotFoundDbException
(String schemaName, String tableName) private DbException
getTableOrViewNotFoundDbException
(Set<String> schemaNames, String tableName) private void
initialize
(String sql, ArrayList<Token> tokens, boolean stopOnCloseParen) private DbException
private DbException
private DbException
private boolean
private boolean
isDirectQuery
(int offset) private boolean
isDualTable
(String tableName) Is this the Oracle DUAL table or the IBM/DB2 SYSIBM table?private boolean
private static boolean
isKeyword
(int tokenType) private boolean
private boolean
Checks whether current opening parenthesis can be a start of ordinary grouping set.private boolean
isQuery()
private boolean
private boolean
isReservedFunctionName
(String name) private boolean
isToken
(int tokenType) private boolean
static AlterTableAddConstraint
newPrimaryKeyConstraintCommand
(SessionLocal session, Schema schema, String tableName, Column column) Create a new alter table command.private Prepared
(package private) Prepared
Parse the statement, but don't prepare it for execution.private ConstraintActionType
private Prepared
private void
private DefineCommand
private AlterIndexRename
private Prepared
private AlterSequence
private Prepared
private AlterTableAlterColumn
parseAlterTableAddColumn
(String tableName, Schema schema, boolean ifTableExists) private Prepared
parseAlterTableAlter
(Schema schema, String tableName, boolean ifTableExists) private AlterTableAlterColumn
parseAlterTableAlterColumnDataType
(Schema schema, String tableName, String columnName, boolean ifTableExists, boolean ifExists) private Prepared
parseAlterTableAlterColumnIdentity
(Schema schema, String tableName, boolean ifTableExists, Column column) private Prepared
parseAlterTableAlterColumnSet
(Schema schema, String tableName, boolean ifTableExists, boolean ifExists, String columnName, Column column) private AlterTableAlterColumn
parseAlterTableAlterColumnType
(Schema schema, String tableName, String columnName, boolean ifTableExists, boolean ifExists, boolean preserveNotNull) private Prepared
parseAlterTableCompatibility
(Schema schema, String tableName, boolean ifTableExists, Mode mode) private Prepared
parseAlterTableDrop
(Schema schema, String tableName, boolean ifTableExists) private Prepared
parseAlterTableDropCompatibility
(Schema schema, String tableName, boolean ifTableExists) private Prepared
parseAlterTableRename
(Schema schema, String tableName, boolean ifTableExists) private Prepared
parseAlterTableSet
(Schema schema, String tableName, boolean ifTableExists) private AlterUser
private DefineCommand
private Prepared
private TypeInfo
parseArrayType
(TypeInfo componentType) private Prepared
private boolean
parseBasicSequenceOption
(SequenceOptions options) private TransactionCommand
private Call
private ConstraintActionType
private TransactionCommand
private Column
parseColumn
(Table table) private Column
parseColumnForTable
(String columnName, boolean defaultNullable) private String[]
parseColumnList
(String sql, int offset) Parses a list of column names or numbers in parentheses.private Column[]
parseColumnList
(Table table) private Column
parseColumnWithType
(String columnName) private Prepared
private TransactionCommand
private boolean
parseCompatibilityIdentity
(Column column, Mode mode) private void
private Prepared
private CreateAggregate
parseCreateAggregate
(boolean force) private CreateConstant
private CreateDomain
private CreateFunctionAlias
parseCreateFunctionAlias
(boolean force) private CreateLinkedTable
parseCreateLinkedTable
(boolean temp, boolean globalTemp, boolean force) private CreateRole
private CreateSchema
private CreateSequence
private boolean
parseCreateSequenceOption
(CreateSequence command) private CreateSynonym
parseCreateSynonym
(boolean orReplace) private CreateTable
parseCreateTable
(boolean temp, boolean globalTemp, boolean persistIndexes) private void
private CreateTrigger
parseCreateTrigger
(boolean force) private CreateUser
private CreateView
parseCreateView
(boolean force, boolean orReplace) private TypeInfo
private TypeInfo
parseDateTimeType
(boolean smallDateTime) private Expression
private DeallocateProcedure
private TypeInfo
private Delete
parseDelete
(int start) Parse a SQL code snippet that represents an expression for a domain constraint.private Prepared
private DropAggregate
private DropDomain
private void
parseEndOfQuery
(Query command) private TypeInfo
private Prepared
private Prepared
private Explain
private Query
parseExplicitTable
(int start) parseExpression
(String sql) Parse a SQL code snippet that represents an expression.private TypeInfo
private TypeInfo
private GrantRevoke
parseGrantRevoke
(int operationType) private Prepared
private IndexColumn[]
private IndexHints
parseIndexHints
(Table table) private Insert
parseInsert
(int start) private void
parseInsertCompatibility
(Insert command, Table table, Mode mode) private void
parseInsertSet
(Insert command, Table table, Column[] columns) private void
DB2 isolation clauseprivate Prepared
parseMerge
(int start) private Prepared
parseMergeInto
(TableFilter targetTableFilter, int start) private MergeUsing
parseMergeUsing
(TableFilter targetTableFilter, int start) static BitSet
parseNonKeywords
(String[] nonKeywords) Parses the specified collection of non-keywords.private Parser.NullConstraintType
parseNotNullCompatibility
(Parser.NullConstraintType nullConstraint) private Parser.NullConstraintType
private Parser.NullConstraintType
parseNotNullConstraint
(Parser.NullConstraintType nullConstraint) private TypeInfo
parseNumericType
(boolean decimal) private Prepared
private Prepared
private Prepared
private Query
private Query
private Query
private Query
private Query
private Query
private void
parseReferences
(AlterTableAddConstraint command, Schema schema, String tableName) private Prepared
private Merge
parseReplace
(int start) MySQL compatibility.private TransactionCommand
private TypeInfo
private RunScriptCommand
private TransactionCommand
private ScriptCommand
private Select
parseSelect
(int start) private void
parseSelectExpressions
(Select command) private void
parseSelectFromPart
(Select command) private boolean
parseSequenceOptions
(SequenceOptions options, CreateSequence command, boolean allowDataType, boolean forAlterColumn) private Prepared
parseSet()
private Set
private Prepared
private Prepared
private TransactionCommand
private TableView
parseSingleCommonTableExpression
(boolean isTemporary) private QueryOrderBy
private ArrayList
<QueryOrderBy> private int
private void
parseTableColumnDefinition
(CommandWithColumns command, Schema schema, String tableName, boolean forCreateTable) private DefineCommand
parseTableConstraintIf
(String tableName, Schema schema, boolean ifTableExists) parseTableName
(String sql) Parse a SQL code snippet that represents a table name.private TypeInfo
private TypeInfo
private Prepared
private Update
parseUpdate
(int start) private Prepared
parseUse()
private TableValueConstructor
private void
parseValuesForCommand
(CommandWithValues command) private ArrayList
<Expression> private void
parseWhenMatched
(MergeUsing command) private void
parseWhenNotMatched
(MergeUsing command) private Wildcard
parseWildcard
(String schema, String objectName) private Prepared
private Prepared
parseWith1
(List<TableView> viewsCreated) private Prepared
private Prepared
parseWithStatementOrQuery
(int start) Parse the statement and prepare it for execution.private static Prepared
prepare
(SessionLocal s, String sql, ArrayList<Value> paramValues) prepareCommand
(String sql) Parse a statement or a list of statements, and prepare it for execution.private CommandList
prepareCommandList
(CommandContainer command, Prepared p, String sql, String remainingSql, ArrayList<Token> remainingTokens) static String
quoteIdentifier
(String s, int sqlFlags) Add double quotes around an identifier if required.private void
read()
private void
read
(int tokenType) private void
private Expression
readAggregate
(AggregateType aggregateType, String aggregateName) private void
readAggregateOrder
(Aggregate r, Expression expr, boolean parseSortType) private Expression
private boolean
private Expression
readBuiltinFunctionIf
(String upperName) private Expression
readCase()
private Expression
readCoalesceFunction
(int function) private void
readColumnConstraints
(CommandWithColumns command, Schema schema, String tableName, Column column) private Expression
private String
private Expression
readComparison
(Expression left, int compareType, boolean whenOperand) private Expression
private Expression
private Expression
readCompatibilitySequenceValueFunction
(boolean current) private Expression
private Expression
readConcatFunction
(int function) private Expression
private Expression
readConditionIs
(Expression left, boolean whenOperand) private Expression
readConditionRightHandSide
(Expression r, boolean not, boolean whenOperand) private TableFilter
readCorrelation
(TableFilter tableFilter) private Expression
readCurrentDateTimeValueFunction
(int function, boolean hasParen, String name) private Expression
readCurrentGeneralValueSpecification
(int specification) private Table
readDataChangeDeltaTable
(String resultOptionName, int backupIndex) private int
private Expression
readDateTimeFormatFunction
(int function) private TableFilter
private boolean
private Expression
private Expression
private Expression
private Expression
private Expression
private Expression
private Expression
private void
readFilterAndOver
(AbstractAggregate aggregate) private String
readFromAlias
(String alias) private void
readFromFirstOrLast
(WindowFunction function) private Expression
readFunction
(Schema schema, String name) private Expression
readFunctionWithSchema
(Schema schema, String name, String upperName) private String
private String
private String
readIdentifierWithSchema
(String defaultSchemaName) private String
private boolean
readIf
(int tokenType) private boolean
private Expression
private TypeInfo
private TypeInfo
private void
private boolean
readIfExists
(boolean ifExists) private boolean
Read comma or closing brace.private boolean
private ArrayList
<QueryOrderBy> private Boolean
private SequenceValue
readIfSequencePseudoColumn
(String schema, String objectName) private Expression
private boolean
private Expression
readIfWildcardRowidOrSequencePseudoColumn
(String schema, String objectName) private Expression
readInPredicate
(Expression left, boolean not, boolean whenOperand) private int
readInt()
private Expression
private TypeInfo
private Expression
readJoinSpecification
(TableFilter filter1, TableFilter filter2, boolean rightJoin) private boolean
readJsonObjectFunctionFlags
(ExpressionWithFlags function, boolean forArray) private IsJsonPredicate
readJsonPredicate
(Expression left, boolean not, boolean whenOperand) private Expression
private Expression
private Expression
readLikePredicate
(Expression left, CompareLike.LikeType likeType, boolean not, boolean whenOperand) private long
readLong()
private void
private Expression
private int
private Expression
readOnDuplicateKeyValues
(Table table, Update update) private void
readOver
(DataAnalysisOperation operation) private Parameter
private <T extends ExpressionWithVariableParameters>
TreadParameters
(T expression) private long
private long
readPrecision
(int valueType) private void
readRespectOrIgnoreNulls
(WindowFunction function) private Sequence
private Prepared
readSetCompatibility
(Mode.ModeEnum modeEnum) private Expression
private TableFilter
private SimpleCase.SimpleWhen
readSimpleWhenClause
(Expression caseOperand) private Expression
private String
private String
private Expression
private Expression
readSum()
private Column
readTableColumn
(TableFilter filter) private String
readTableColumn
(TableFilter filter, String tableAlias) private ArrayTableFunction
readTableFunction
(int functionType) private TableFunction
readTableFunction
(String name, Schema schema) private Table
private Table
readTableOrView
(String tableName) private TableFilter
private TableFilter
private Expression
readTerm()
private Expression
readTermObjectDot
(String objectName) private Expression
readTermWithIdentifier
(String name, boolean quoted) private Expression
readTildeCondition
(Expression r, boolean not) private Expression
private TypePredicate
readTypePredicate
(Expression left, boolean not, boolean whenOperand) private ArrayTableFunction
private SetClauseList
readUpdateSetClause
(TableFilter filter) private Expression
readUserDefinedFunctionIf
(Schema schema, String functionName) private Expression
readWhenOperand
(Expression caseOperand) private WindowFrame
private WindowFrameBound
private WindowFrameBound
private WindowFunction
readWindowFunction
(String name) private Window
private Window
private Aggregate
readWithinGroup
(AggregateType aggregateType, Expression[] args, boolean distinct, Object extraArguments, boolean forHypotheticalSet, boolean simple) private void
private int
scanToCloseParen
(int offset) void
setLiteralsChecked
(boolean literalsChecked) void
setRightsChecked
(boolean rightsChecked) private void
void
setSuppliedParameters
(ArrayList<Parameter> suppliedParameters) (package private) void
setTokenIndex
(int index) private Table
tableIfTableExists
(Schema schema, String tableName, boolean ifTableExists) toString()
private String
-
Field Details
-
WITH_STATEMENT_SUPPORTS_LIMITED_SUB_STATEMENTS
- See Also:
-
database
-
session
-
identifiersToLower
private final boolean identifiersToLower- See Also:
-
identifiersToUpper
private final boolean identifiersToUpper- See Also:
-
variableBinary
private final boolean variableBinary- See Also:
-
nonKeywords
-
tokens
-
tokenIndex
int tokenIndex -
token
Token token -
currentTokenType
private int currentTokenType -
currentToken
-
sqlCommand
-
createView
-
currentPrepared
-
currentSelect
-
cteCleanups
-
parameters
-
suppliedParameters
-
schemaName
-
expectedList
-
rightsChecked
private boolean rightsChecked -
recompileAlways
private boolean recompileAlways -
literalsChecked
private boolean literalsChecked -
orderInFrom
private int orderInFrom -
parseDomainConstraint
private boolean parseDomainConstraint
-
-
Constructor Details
-
Parser
Creates a new instance of parser.- Parameters:
session
- the session
-
Parser
public Parser()Creates a new instance of parser for special use cases.
-
-
Method Details
-
parseNonKeywords
Parses the specified collection of non-keywords.- Parameters:
nonKeywords
- array of non-keywords in upper case- Returns:
- bit set of non-keywords, or
null
-
formatNonKeywords
Formats a comma-separated list of keywords.- Parameters:
nonKeywords
- bit set of non-keywords, ornull
- Returns:
- comma-separated list of non-keywords
-
prepare
Parse the statement and prepare it for execution.- Parameters:
sql
- the SQL statement to parse- Returns:
- the prepared object
-
prepareCommand
Parse a statement or a list of statements, and prepare it for execution.- Parameters:
sql
- the SQL statement to parse- Returns:
- the command object
-
prepareCommandList
private CommandList prepareCommandList(CommandContainer command, Prepared p, String sql, String remainingSql, ArrayList<Token> remainingTokens) -
getRemainingTokens
-
parse
Parse the statement, but don't prepare it for execution.- Parameters:
sql
- the SQL statement to parsetokens
- tokens, or null- Returns:
- the prepared object
-
parse
-
parsePrepared
-
getSyntaxError
-
parseBackup
-
parseAnalyze
-
parseBegin
-
parseCommit
-
parseShutdown
-
parseRollback
-
parsePrepare
-
parsePrepareProcedure
-
parseSavepoint
-
parseReleaseSavepoint
-
findSchema
-
getSchema
-
getSchema
-
getSchemaWithDefault
-
readTableColumn
-
readTableColumn
-
parseUpdate
-
readUpdateSetClause
-
readSimpleTableFilter
-
parseDelete
-
readFetchOrLimit
-
parseIndexColumnList
-
parseSortType
private int parseSortType() -
parseColumnList
-
parseColumnList
-
parseColumn
-
readIfMore
private boolean readIfMore()Read comma or closing brace.- Returns:
true
if comma is read,false
if brace is read
-
parseHelp
-
parseShow
-
prepare
-
isDerivedTable
private boolean isDerivedTable() -
isQuery
private boolean isQuery() -
scanToCloseParen
private int scanToCloseParen(int offset) -
isQueryQuick
private boolean isQueryQuick() -
isDirectQuery
private boolean isDirectQuery(int offset) -
parseMerge
-
parseMergeInto
-
parseMergeUsing
-
parseWhenMatched
-
parseWhenNotMatched
-
parseInsert
-
readIfOverriding
-
parseInsertSet
-
parseInsertCompatibility
-
parseReplace
MySQL compatibility. REPLACE is similar to MERGE. -
parseValuesForCommand
-
readTablePrimary
-
readCorrelation
-
readDerivedTableWithCorrelation
-
buildTableFilter
private TableFilter buildTableFilter(Table table, String alias, ArrayList<String> derivedColumnNames, IndexHints indexHints) -
readDataChangeDeltaTable
-
readTableFunction
-
readIfUseIndex
private boolean readIfUseIndex() -
parseIndexHints
-
readFromAlias
-
readDerivedColumnNames
-
discardWithTableHints
private void discardWithTableHints() -
discardTableHint
private void discardTableHint() -
parseTruncate
-
readIfExists
private boolean readIfExists(boolean ifExists) -
parseComment
-
parseDrop
-
parseDropDomain
-
parseDropAggregate
-
readTableReference
-
readJoinSpecification
private Expression readJoinSpecification(TableFilter filter1, TableFilter filter2, boolean rightJoin) -
addJoinColumn
private Expression addJoinColumn(Expression on, TableFilter filter1, TableFilter filter2, Column column1, Column column2, boolean rightJoin) -
addJoin
Add one join to another. This method creates nested join between them if required.- Parameters:
top
- parent joinjoin
- child joinouter
- if child join is an outer joinon
- the join condition- See Also:
-
parseExecutePostgre
-
parseExecuteSQLServer
-
getFunctionAliasWithinPath
-
parseDeallocate
-
parseExplain
-
parseQuery
-
parseWithStatementOrQuery
-
parseQueryExpression
-
parseQueryExpressionBodyAndEndOfQuery
-
parseQueryExpressionBody
-
parseQueryTerm
-
parseEndOfQuery
-
parseIsolationClause
private void parseIsolationClause()DB2 isolation clause -
parseQueryPrimary
-
parseSelectFromPart
-
parseSelectExpressions
-
parseSelect
-
isOrdinaryGroupingSet
private boolean isOrdinaryGroupingSet()Checks whether current opening parenthesis can be a start of ordinary grouping set. This method reads this parenthesis if it is.- Returns:
- whether current opening parenthesis can be a start of ordinary grouping set
-
parseExplicitTable
-
setSQL
-
readExpressionOrDefault
-
readExpressionWithGlobalConditions
-
readExpression
-
readExpressionPart2
-
readAnd
-
readCondition
-
readConditionRightHandSide
-
readConditionIs
-
readTypePredicate
-
readInPredicate
-
readJsonPredicate
-
readLikePredicate
private Expression readLikePredicate(Expression left, CompareLike.LikeType likeType, boolean not, boolean whenOperand) -
readComparison
-
readConcat
-
readSum
-
readFactor
-
readTildeCondition
-
readAggregate
-
readWithinGroup
private Aggregate readWithinGroup(AggregateType aggregateType, Expression[] args, boolean distinct, Object extraArguments, boolean forHypotheticalSet, boolean simple) -
readAggregateOrder
-
readIfOrderBy
-
parseSortSpecificationList
-
parseSortSpecification
-
readUserDefinedFunctionIf
-
readDistinctAgg
private boolean readDistinctAgg() -
readFilterAndOver
-
readOver
-
readWindowNameOrSpecification
-
readWindowSpecification
-
readWindowFrame
-
readWindowFrameStarting
-
readWindowFrameRange
-
readFunction
-
readFunctionWithSchema
-
readCompatibilityFunction
-
readParameters
-
decodeToWhen
private SimpleCase.SimpleWhen decodeToWhen(Expression caseOperand, boolean canOptimize, Expression whenOperand, Expression result) -
readCompatibilityCase
-
readCompatibilitySequenceValueFunction
-
readBuiltinFunctionIf
-
readDateTimeFormatFunction
-
readTrimFunction
-
readUnnestFunction
-
readTableFunction
-
readSingleArgument
-
readNextArgument
-
readLastArgument
-
readIfSingleArgument
-
readIfArgument
-
readCoalesceFunction
-
readConcatFunction
-
readSubstringFunction
-
readDateTimeField
private int readDateTimeField() -
readWindowFunction
-
readFromFirstOrLast
-
readRespectOrIgnoreNulls
-
readJsonObjectFunctionFlags
-
readKeywordCompatibilityFunctionOrColumn
-
readCurrentDateTimeValueFunction
-
readIfWildcardRowidOrSequencePseudoColumn
-
parseWildcard
-
readIfSequencePseudoColumn
-
readTermObjectDot
-
checkDatabaseName
-
readParameter
-
readTerm
-
readCurrentGeneralValueSpecification
-
readColumnIfNotFunction
-
readSetFunction
-
readOnDuplicateKeyValues
-
readTermWithIdentifier
-
getCurrentPrepared
-
readInterval
-
parseDB2SpecialRegisters
-
readCase
-
readSimpleWhenClause
-
readWhenOperand
-
readNonNegativeInt
private int readNonNegativeInt() -
readInt
private int readInt() -
readPositiveLong
private long readPositiveLong() -
readLong
private long readLong() -
readBooleanSetting
private boolean readBooleanSetting() -
readString
-
readIdentifierWithSchema
-
readIdentifierWithSchema2
-
readIdentifierWithSchema
-
readIdentifier
-
read
-
read
private void read(int tokenType) -
readIf
-
readIf
private boolean readIf(int tokenType) -
isToken
-
isToken
private boolean isToken(int tokenType) -
equalsToken
-
isIdentifier
private boolean isIdentifier() -
addExpected
-
addExpected
private void addExpected(int tokenType) -
addMultipleExpected
private void addMultipleExpected(int... tokenTypes) -
read
private void read() -
checkLiterals
private void checkLiterals() -
initialize
-
resetTokenIndex
private void resetTokenIndex() -
setTokenIndex
void setTokenIndex(int index) -
isKeyword
private static boolean isKeyword(int tokenType) -
isKeyword
-
upperName
-
parseColumnForTable
-
parseCompatibilityIdentityOptions
-
readCommentIf
-
parseColumnWithType
-
parseDataType
-
readIfDataType
-
readIfDataType1
-
getInvalidPrecisionException
-
getColumnWithDomain
-
parseFloatType
-
parseNumericType
-
parseDecfloatType
-
getInvalidNumericPrecisionException
-
parseTimeType
-
parseTimestampType
-
parseDateTimeType
-
readIntervalQualifier
-
intervalQualifierError
-
intervalDayError
-
intervalHourError
-
parseArrayType
-
parseEnumType
-
parseGeometryType
-
parseRowType
-
readPrecision
private long readPrecision(int valueType) -
parseCreate
-
addRoleOrRight
- Returns:
- true if we expect to see a TABLE clause
-
parseGrantRevoke
-
parseValues
-
parseValuesRow
-
parseCall
-
parseCreateRole
-
parseCreateSchema
-
readTableEngineParams
-
parseCreateSequence
-
readIfNotExists
private boolean readIfNotExists() -
parseCreateConstant
-
parseCreateAggregate
-
parseCreateDomain
-
parseCreateTrigger
-
parseCreateUser
-
parseCreateFunctionAlias
-
readStringOrIdentifier
-
isReservedFunctionName
-
parseWith
-
parseWith1
-
parseWithQuery
-
parseSingleCommonTableExpression
-
createCTEView
-
parseCreateView
-
parseCheckpoint
-
parseAlter
-
checkSchema
-
parseAlterIndex
-
parseAlterDomain
-
parseAlterView
-
parseAlterSchema
-
parseAlterSequence
-
parseSequenceOptions
private boolean parseSequenceOptions(SequenceOptions options, CreateSequence command, boolean allowDataType, boolean forAlterColumn) -
parseCreateSequenceOption
-
parseBasicSequenceOption
-
parseAlterUser
-
readIfEqualOrTo
private void readIfEqualOrTo() -
parseSet
-
parseSetTransactionMode
-
readExpressionOrIdentifier
-
parseUse
-
parseSetCollation
-
readSetCompatibility
-
parseRunScript
-
parseScript
-
isDualTable
Is this the Oracle DUAL table or the IBM/DB2 SYSIBM table?- Parameters:
tableName
- table name.- Returns:
true
if the table is DUAL special table. Otherwise returnsfalse
.- See Also:
-
readTableOrView
-
readTableOrView
-
getTableOrViewNotFoundDbException
-
getTableOrViewNotFoundDbException
-
getTableOrViewNotFoundDbException
-
findTableNameCandidates
-
findUserDefinedFunctionWithinPath
-
findSequence
-
readSequence
-
parseAlterTable
-
parseAlterTableAlter
-
getAlterTableAlterColumnDropDefaultExpression
-
parseAlterTableAlterColumnIdentity
-
parseAlterTableAlterColumnSet
-
parseAlterTableDrop
-
parseAlterTableDropCompatibility
-
parseAlterTableRename
-
parseAlterTableSet
-
parseAlterTableCompatibility
-
tableIfTableExists
-
columnIfTableExists
-
commandIfTableExists
-
parseAlterTableAlterColumnType
private AlterTableAlterColumn parseAlterTableAlterColumnType(Schema schema, String tableName, String columnName, boolean ifTableExists, boolean ifExists, boolean preserveNotNull) -
parseAlterTableAlterColumnDataType
private AlterTableAlterColumn parseAlterTableAlterColumnDataType(Schema schema, String tableName, String columnName, boolean ifTableExists, boolean ifExists) -
parseAlterTableAddColumn
private AlterTableAlterColumn parseAlterTableAddColumn(String tableName, Schema schema, boolean ifTableExists) -
parseAlterColumnUsingIf
-
parseAction
-
parseCascadeOrRestrict
-
parseTableConstraintIf
private DefineCommand parseTableConstraintIf(String tableName, Schema schema, boolean ifTableExists) -
parseReferences
-
parseCreateLinkedTable
-
parseCreateTable
-
parseTableColumnDefinition
private void parseTableColumnDefinition(CommandWithColumns command, Schema schema, String tableName, boolean forCreateTable) -
newPrimaryKeyConstraintCommand
public static AlterTableAddConstraint newPrimaryKeyConstraintCommand(SessionLocal session, Schema schema, String tableName, Column column) Create a new alter table command.- Parameters:
session
- the sessionschema
- the schematableName
- the tablecolumn
- the column- Returns:
- the command
-
readColumnConstraints
private void readColumnConstraints(CommandWithColumns command, Schema schema, String tableName, Column column) -
parseCompatibilityIdentity
-
parseCreateTableMySQLTableOptions
-
readMySQLCharset
private void readMySQLCharset() -
parseNotNullConstraint
-
parseNotNullConstraint
-
parseNotNullCompatibility
private Parser.NullConstraintType parseNotNullCompatibility(Parser.NullConstraintType nullConstraint) -
parseCreateSynonym
-
getCompareType
private static int getCompareType(int tokenType) -
quoteIdentifier
Add double quotes around an identifier if required.- Parameters:
s
- the identifiersqlFlags
- formatting flags- Returns:
- the quoted identifier
-
setLiteralsChecked
public void setLiteralsChecked(boolean literalsChecked) -
setRightsChecked
public void setRightsChecked(boolean rightsChecked) -
setSuppliedParameters
-
parseExpression
Parse a SQL code snippet that represents an expression.- Parameters:
sql
- the code snippet- Returns:
- the expression object
-
parseDomainConstraintExpression
Parse a SQL code snippet that represents an expression for a domain constraint.- Parameters:
sql
- the code snippet- Returns:
- the expression object
-
parseTableName
Parse a SQL code snippet that represents a table name.- Parameters:
sql
- the code snippet- Returns:
- the table object
-
parseColumnList
Parses a list of column names or numbers in parentheses.- Parameters:
sql
- the source SQLoffset
- the initial offset- Returns:
- the array of column names (
String[]
) or numbers (int[]
) - Throws:
DbException
- on syntax error
-
getLastParseIndex
public int getLastParseIndex()Returns the last parse index.- Returns:
- the last parse index
-
toString
-