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 enumEnumeration describing null constraints -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate CreateViewprivate Preparedprivate Selectprivate Stringprivate intprivate final Databaseprivate final booleanprivate final booleanprivate booleanprivate final BitSetprivate intprivate booleanprivate booleanprivate booleanprivate Stringprivate final SessionLocalprivate String(package private) Token(package private) intprivate final booleanprivate 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 voidaddExpected(int tokenType) private voidaddExpected(String token) private voidaddJoin(TableFilter top, TableFilter join, boolean outer, Expression on) Add one join to another.private ExpressionaddJoinColumn(Expression on, TableFilter filter1, TableFilter filter2, Column column1, Column column2, boolean rightJoin) private voidaddMultipleExpected(int... tokenTypes) private booleanaddRoleOrRight(GrantRevoke command) private TableFilterbuildTableFilter(Table table, String alias, ArrayList<String> derivedColumnNames, IndexHints indexHints) private voidcheckDatabaseName(String databaseName) private voidprivate voidcheckSchema(Schema old) private ColumncolumnIfTableExists(Schema schema, String tableName, String columnName, boolean ifTableExists, boolean ifExists) private PreparedcommandIfTableExists(Schema schema, String tableName, boolean ifTableExists, Prepared commandIfTableExists) private TableViewcreateCTEView(String cteViewName, String querySQL, List<Column> columnTemplateList, boolean allowRecursiveQueryDetection, boolean addViewToSession, boolean isTemporary) private SimpleCase.SimpleWhendecodeToWhen(Expression caseOperand, boolean canOptimize, Expression whenOperand, Expression result) private voidprivate voidprivate booleanequalsToken(String a, String b) private SchemafindSchema(String schemaName) private SequencefindSequence(String schema, String sequenceName) private voidfindTableNameCandidates(String schemaName, String tableName, Set<String> candidates) private UserDefinedFunctionfindUserDefinedFunctionWithinPath(Schema schema, String name) static StringformatNonKeywords(BitSet nonKeywords) Formats a comma-separated list of keywords.private PreparedgetAlterTableAlterColumnDropDefaultExpression(Schema schema, String tableName, boolean ifTableExists, Column column, int type) private static ColumngetColumnWithDomain(String columnName, Domain domain) private static intgetCompareType(int tokenType) private Preparedprivate FunctionAliasgetFunctionAliasWithinPath(String name, Schema schema) private static DbExceptiongetInvalidNumericPrecisionException(long precision) private static DbExceptiongetInvalidPrecisionException(DataType dataType, long precision) intReturns the last parse index.getRemainingTokens(int offset) private Schemaprivate Schemaprivate Schemaprivate DbExceptionprivate DbExceptiongetTableOrViewNotFoundDbException(String tableName) private DbExceptiongetTableOrViewNotFoundDbException(String schemaName, String tableName) private DbExceptiongetTableOrViewNotFoundDbException(Set<String> schemaNames, String tableName) private voidinitialize(String sql, ArrayList<Token> tokens, boolean stopOnCloseParen) private DbExceptionprivate DbExceptionprivate DbExceptionprivate booleanprivate booleanisDirectQuery(int offset) private booleanisDualTable(String tableName) Is this the Oracle DUAL table or the IBM/DB2 SYSIBM table?private booleanprivate static booleanisKeyword(int tokenType) private booleanprivate booleanChecks whether current opening parenthesis can be a start of ordinary grouping set.private booleanisQuery()private booleanprivate booleanisReservedFunctionName(String name) private booleanisToken(int tokenType) private booleanstatic AlterTableAddConstraintnewPrimaryKeyConstraintCommand(SessionLocal session, Schema schema, String tableName, Column column) Create a new alter table command.private Prepared(package private) PreparedParse the statement, but don't prepare it for execution.private ConstraintActionTypeprivate Preparedprivate voidprivate DefineCommandprivate AlterIndexRenameprivate Preparedprivate AlterSequenceprivate Preparedprivate AlterTableAlterColumnparseAlterTableAddColumn(String tableName, Schema schema, boolean ifTableExists) private PreparedparseAlterTableAlter(Schema schema, String tableName, boolean ifTableExists) private AlterTableAlterColumnparseAlterTableAlterColumnDataType(Schema schema, String tableName, String columnName, boolean ifTableExists, boolean ifExists) private PreparedparseAlterTableAlterColumnIdentity(Schema schema, String tableName, boolean ifTableExists, Column column) private PreparedparseAlterTableAlterColumnSet(Schema schema, String tableName, boolean ifTableExists, boolean ifExists, String columnName, Column column) private AlterTableAlterColumnparseAlterTableAlterColumnType(Schema schema, String tableName, String columnName, boolean ifTableExists, boolean ifExists, boolean preserveNotNull) private PreparedparseAlterTableCompatibility(Schema schema, String tableName, boolean ifTableExists, Mode mode) private PreparedparseAlterTableDrop(Schema schema, String tableName, boolean ifTableExists) private PreparedparseAlterTableDropCompatibility(Schema schema, String tableName, boolean ifTableExists) private PreparedparseAlterTableRename(Schema schema, String tableName, boolean ifTableExists) private PreparedparseAlterTableSet(Schema schema, String tableName, boolean ifTableExists) private AlterUserprivate DefineCommandprivate Preparedprivate TypeInfoparseArrayType(TypeInfo componentType) private Preparedprivate booleanparseBasicSequenceOption(SequenceOptions options) private TransactionCommandprivate Callprivate ConstraintActionTypeprivate TransactionCommandprivate ColumnparseColumn(Table table) private ColumnparseColumnForTable(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 ColumnparseColumnWithType(String columnName) private Preparedprivate TransactionCommandprivate booleanparseCompatibilityIdentity(Column column, Mode mode) private voidprivate Preparedprivate CreateAggregateparseCreateAggregate(boolean force) private CreateConstantprivate CreateDomainprivate CreateFunctionAliasparseCreateFunctionAlias(boolean force) private CreateLinkedTableparseCreateLinkedTable(boolean temp, boolean globalTemp, boolean force) private CreateRoleprivate CreateSchemaprivate CreateSequenceprivate booleanparseCreateSequenceOption(CreateSequence command) private CreateSynonymparseCreateSynonym(boolean orReplace) private CreateTableparseCreateTable(boolean temp, boolean globalTemp, boolean persistIndexes) private voidprivate CreateTriggerparseCreateTrigger(boolean force) private CreateUserprivate CreateViewparseCreateView(boolean force, boolean orReplace) private TypeInfoprivate TypeInfoparseDateTimeType(boolean smallDateTime) private Expressionprivate DeallocateProcedureprivate TypeInfoprivate DeleteparseDelete(int start) Parse a SQL code snippet that represents an expression for a domain constraint.private Preparedprivate DropAggregateprivate DropDomainprivate voidparseEndOfQuery(Query command) private TypeInfoprivate Preparedprivate Preparedprivate Explainprivate QueryparseExplicitTable(int start) parseExpression(String sql) Parse a SQL code snippet that represents an expression.private TypeInfoprivate TypeInfoprivate GrantRevokeparseGrantRevoke(int operationType) private Preparedprivate IndexColumn[]private IndexHintsparseIndexHints(Table table) private InsertparseInsert(int start) private voidparseInsertCompatibility(Insert command, Table table, Mode mode) private voidparseInsertSet(Insert command, Table table, Column[] columns) private voidDB2 isolation clauseprivate PreparedparseMerge(int start) private PreparedparseMergeInto(TableFilter targetTableFilter, int start) private MergeUsingparseMergeUsing(TableFilter targetTableFilter, int start) static BitSetparseNonKeywords(String[] nonKeywords) Parses the specified collection of non-keywords.private Parser.NullConstraintTypeparseNotNullCompatibility(Parser.NullConstraintType nullConstraint) private Parser.NullConstraintTypeprivate Parser.NullConstraintTypeparseNotNullConstraint(Parser.NullConstraintType nullConstraint) private TypeInfoparseNumericType(boolean decimal) private Preparedprivate Preparedprivate Preparedprivate Queryprivate Queryprivate Queryprivate Queryprivate Queryprivate Queryprivate voidparseReferences(AlterTableAddConstraint command, Schema schema, String tableName) private Preparedprivate MergeparseReplace(int start) MySQL compatibility.private TransactionCommandprivate TypeInfoprivate RunScriptCommandprivate TransactionCommandprivate ScriptCommandprivate SelectparseSelect(int start) private voidparseSelectExpressions(Select command) private voidparseSelectFromPart(Select command) private booleanparseSequenceOptions(SequenceOptions options, CreateSequence command, boolean allowDataType, boolean forAlterColumn) private PreparedparseSet()private Setprivate Preparedprivate Preparedprivate TransactionCommandprivate TableViewparseSingleCommonTableExpression(boolean isTemporary) private QueryOrderByprivate ArrayList<QueryOrderBy> private intprivate voidparseTableColumnDefinition(CommandWithColumns command, Schema schema, String tableName, boolean forCreateTable) private DefineCommandparseTableConstraintIf(String tableName, Schema schema, boolean ifTableExists) parseTableName(String sql) Parse a SQL code snippet that represents a table name.private TypeInfoprivate TypeInfoprivate Preparedprivate UpdateparseUpdate(int start) private PreparedparseUse()private TableValueConstructorprivate voidparseValuesForCommand(CommandWithValues command) private ArrayList<Expression> private voidparseWhenMatched(MergeUsing command) private voidparseWhenNotMatched(MergeUsing command) private WildcardparseWildcard(String schema, String objectName) private Preparedprivate PreparedparseWith1(List<TableView> viewsCreated) private Preparedprivate PreparedparseWithStatementOrQuery(int start) Parse the statement and prepare it for execution.private static Preparedprepare(SessionLocal s, String sql, ArrayList<Value> paramValues) prepareCommand(String sql) Parse a statement or a list of statements, and prepare it for execution.private CommandListprepareCommandList(CommandContainer command, Prepared p, String sql, String remainingSql, ArrayList<Token> remainingTokens) static StringquoteIdentifier(String s, int sqlFlags) Add double quotes around an identifier if required.private voidread()private voidread(int tokenType) private voidprivate ExpressionreadAggregate(AggregateType aggregateType, String aggregateName) private voidreadAggregateOrder(Aggregate r, Expression expr, boolean parseSortType) private Expressionprivate booleanprivate ExpressionreadBuiltinFunctionIf(String upperName) private ExpressionreadCase()private ExpressionreadCoalesceFunction(int function) private voidreadColumnConstraints(CommandWithColumns command, Schema schema, String tableName, Column column) private Expressionprivate Stringprivate ExpressionreadComparison(Expression left, int compareType, boolean whenOperand) private Expressionprivate Expressionprivate ExpressionreadCompatibilitySequenceValueFunction(boolean current) private Expressionprivate ExpressionreadConcatFunction(int function) private Expressionprivate ExpressionreadConditionIs(Expression left, boolean whenOperand) private ExpressionreadConditionRightHandSide(Expression r, boolean not, boolean whenOperand) private TableFilterreadCorrelation(TableFilter tableFilter) private ExpressionreadCurrentDateTimeValueFunction(int function, boolean hasParen, String name) private ExpressionreadCurrentGeneralValueSpecification(int specification) private TablereadDataChangeDeltaTable(String resultOptionName, int backupIndex) private intprivate ExpressionreadDateTimeFormatFunction(int function) private TableFilterprivate booleanprivate Expressionprivate Expressionprivate Expressionprivate Expressionprivate Expressionprivate Expressionprivate Expressionprivate voidreadFilterAndOver(AbstractAggregate aggregate) private StringreadFromAlias(String alias) private voidreadFromFirstOrLast(WindowFunction function) private ExpressionreadFunction(Schema schema, String name) private ExpressionreadFunctionWithSchema(Schema schema, String name, String upperName) private Stringprivate Stringprivate StringreadIdentifierWithSchema(String defaultSchemaName) private Stringprivate booleanreadIf(int tokenType) private booleanprivate Expressionprivate TypeInfoprivate TypeInfoprivate voidprivate booleanreadIfExists(boolean ifExists) private booleanRead comma or closing brace.private booleanprivate ArrayList<QueryOrderBy> private Booleanprivate SequenceValuereadIfSequencePseudoColumn(String schema, String objectName) private Expressionprivate booleanprivate ExpressionreadIfWildcardRowidOrSequencePseudoColumn(String schema, String objectName) private ExpressionreadInPredicate(Expression left, boolean not, boolean whenOperand) private intreadInt()private Expressionprivate TypeInfoprivate ExpressionreadJoinSpecification(TableFilter filter1, TableFilter filter2, boolean rightJoin) private booleanreadJsonObjectFunctionFlags(ExpressionWithFlags function, boolean forArray) private IsJsonPredicatereadJsonPredicate(Expression left, boolean not, boolean whenOperand) private Expressionprivate Expressionprivate ExpressionreadLikePredicate(Expression left, CompareLike.LikeType likeType, boolean not, boolean whenOperand) private longreadLong()private voidprivate Expressionprivate intprivate ExpressionreadOnDuplicateKeyValues(Table table, Update update) private voidreadOver(DataAnalysisOperation operation) private Parameterprivate <T extends ExpressionWithVariableParameters>
TreadParameters(T expression) private longprivate longreadPrecision(int valueType) private voidreadRespectOrIgnoreNulls(WindowFunction function) private Sequenceprivate PreparedreadSetCompatibility(Mode.ModeEnum modeEnum) private Expressionprivate TableFilterprivate SimpleCase.SimpleWhenreadSimpleWhenClause(Expression caseOperand) private Expressionprivate Stringprivate Stringprivate Expressionprivate ExpressionreadSum()private ColumnreadTableColumn(TableFilter filter) private StringreadTableColumn(TableFilter filter, String tableAlias) private ArrayTableFunctionreadTableFunction(int functionType) private TableFunctionreadTableFunction(String name, Schema schema) private Tableprivate TablereadTableOrView(String tableName) private TableFilterprivate TableFilterprivate ExpressionreadTerm()private ExpressionreadTermObjectDot(String objectName) private ExpressionreadTermWithIdentifier(String name, boolean quoted) private ExpressionreadTildeCondition(Expression r, boolean not) private Expressionprivate TypePredicatereadTypePredicate(Expression left, boolean not, boolean whenOperand) private ArrayTableFunctionprivate SetClauseListreadUpdateSetClause(TableFilter filter) private ExpressionreadUserDefinedFunctionIf(Schema schema, String functionName) private ExpressionreadWhenOperand(Expression caseOperand) private WindowFrameprivate WindowFrameBoundprivate WindowFrameBoundprivate WindowFunctionreadWindowFunction(String name) private Windowprivate Windowprivate AggregatereadWithinGroup(AggregateType aggregateType, Expression[] args, boolean distinct, Object extraArguments, boolean forHypotheticalSet, boolean simple) private voidprivate intscanToCloseParen(int offset) voidsetLiteralsChecked(boolean literalsChecked) voidsetRightsChecked(boolean rightsChecked) private voidvoidsetSuppliedParameters(ArrayList<Parameter> suppliedParameters) (package private) voidsetTokenIndex(int index) private TabletableIfTableExists(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:
trueif comma is read,falseif 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:
trueif 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
-