Package org.h2.command
Class Parser
- java.lang.Object
-
- org.h2.command.Parser
-
public class Parser extends java.lang.ObjectThe parser is used to convert a SQL statement string to an command object.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classParser.NullConstraintTypeEnumeration describing null constraints
-
Field Summary
Fields Modifier and Type Field Description private CreateViewcreateViewprivate java.util.List<TableView>cteCleanupsprivate PreparedcurrentPreparedprivate SelectcurrentSelectprivate java.lang.StringcurrentTokenprivate intcurrentTokenTypeprivate Databasedatabaseprivate java.util.ArrayList<java.lang.String>expectedListprivate booleanidentifiersToLowerprivate booleanidentifiersToUpperprivate booleanliteralsCheckedprivate java.util.BitSetnonKeywordsprivate intorderInFromprivate java.util.ArrayList<Parameter>parametersprivate booleanparseDomainConstraintprivate booleanrecompileAlwaysprivate booleanrightsCheckedprivate java.lang.StringschemaNameprivate SessionLocalsessionprivate java.lang.StringsqlCommandprivate java.util.ArrayList<Parameter>suppliedParameters(package private) Tokentoken(package private) inttokenIndex(package private) java.util.ArrayList<Token>tokensprivate booleanvariableBinaryprivate static java.lang.StringWITH_STATEMENT_SUPPORTS_LIMITED_SUB_STATEMENTS
-
Constructor Summary
Constructors Constructor Description Parser()Creates a new instance of parser for special use cases.Parser(SessionLocal session)Creates a new instance of parser.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddExpected(int tokenType)private voidaddExpected(java.lang.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, java.lang.String alias, java.util.ArrayList<java.lang.String> derivedColumnNames, IndexHints indexHints)private voidcheckDatabaseName(java.lang.String databaseName)private voidcheckLiterals()private voidcheckSchema(Schema old)private ColumncolumnIfTableExists(Schema schema, java.lang.String tableName, java.lang.String columnName, boolean ifTableExists, boolean ifExists)private PreparedcommandIfTableExists(Schema schema, java.lang.String tableName, boolean ifTableExists, Prepared commandIfTableExists)private TableViewcreateCTEView(java.lang.String cteViewName, java.lang.String querySQL, java.util.List<Column> columnTemplateList, boolean allowRecursiveQueryDetection, boolean addViewToSession, boolean isTemporary)private SimpleCase.SimpleWhendecodeToWhen(Expression caseOperand, boolean canOptimize, Expression whenOperand, Expression result)private voiddiscardTableHint()private voiddiscardWithTableHints()private booleanequalsToken(java.lang.String a, java.lang.String b)private SchemafindSchema(java.lang.String schemaName)private SequencefindSequence(java.lang.String schema, java.lang.String sequenceName)private voidfindTableNameCandidates(java.lang.String schemaName, java.lang.String tableName, java.util.Set<java.lang.String> candidates)private UserDefinedFunctionfindUserDefinedFunctionWithinPath(Schema schema, java.lang.String name)static java.lang.StringformatNonKeywords(java.util.BitSet nonKeywords)Formats a comma-separated list of keywords.private PreparedgetAlterTableAlterColumnDropDefaultExpression(Schema schema, java.lang.String tableName, boolean ifTableExists, Column column, int type)private static ColumngetColumnWithDomain(java.lang.String columnName, Domain domain)private static intgetCompareType(int tokenType)private PreparedgetCurrentPrepared()private FunctionAliasgetFunctionAliasWithinPath(java.lang.String name, Schema schema)private static DbExceptiongetInvalidNumericPrecisionException(long precision)private static DbExceptiongetInvalidPrecisionException(DataType dataType, long precision)intgetLastParseIndex()Returns the last parse index.private java.util.ArrayList<Token>getRemainingTokens(int offset)private SchemagetSchema()private SchemagetSchema(java.lang.String schemaName)private SchemagetSchemaWithDefault()private DbExceptiongetSyntaxError()private DbExceptiongetTableOrViewNotFoundDbException(java.lang.String tableName)private DbExceptiongetTableOrViewNotFoundDbException(java.lang.String schemaName, java.lang.String tableName)private DbExceptiongetTableOrViewNotFoundDbException(java.util.Set<java.lang.String> schemaNames, java.lang.String tableName)private voidinitialize(java.lang.String sql, java.util.ArrayList<Token> tokens, boolean stopOnCloseParen)private DbExceptionintervalDayError()private DbExceptionintervalHourError()private DbExceptionintervalQualifierError()private booleanisDerivedTable()private booleanisDirectQuery(int offset)private booleanisDualTable(java.lang.String tableName)Is this the Oracle DUAL table or the IBM/DB2 SYSIBM table?private booleanisIdentifier()private static booleanisKeyword(int tokenType)private booleanisKeyword(java.lang.String s)private booleanisOrdinaryGroupingSet()Checks whether current opening parenthesis can be a start of ordinary grouping set.private booleanisQuery()private booleanisQueryQuick()private booleanisReservedFunctionName(java.lang.String name)private booleanisToken(int tokenType)private booleanisToken(java.lang.String tokenName)static AlterTableAddConstraintnewPrimaryKeyConstraintCommand(SessionLocal session, Schema schema, java.lang.String tableName, Column column)Create a new alter table command.private Preparedparse(java.lang.String sql, boolean withExpectedList)(package private) Preparedparse(java.lang.String sql, java.util.ArrayList<Token> tokens)Parse the statement, but don't prepare it for execution.private ConstraintActionTypeparseAction()private PreparedparseAlter()private voidparseAlterColumnUsingIf(AlterTableAlterColumn command)private DefineCommandparseAlterDomain()private AlterIndexRenameparseAlterIndex()private PreparedparseAlterSchema()private AlterSequenceparseAlterSequence()private PreparedparseAlterTable()private AlterTableAlterColumnparseAlterTableAddColumn(java.lang.String tableName, Schema schema, boolean ifTableExists)private PreparedparseAlterTableAlter(Schema schema, java.lang.String tableName, boolean ifTableExists)private AlterTableAlterColumnparseAlterTableAlterColumnDataType(Schema schema, java.lang.String tableName, java.lang.String columnName, boolean ifTableExists, boolean ifExists)private PreparedparseAlterTableAlterColumnIdentity(Schema schema, java.lang.String tableName, boolean ifTableExists, Column column)private PreparedparseAlterTableAlterColumnSet(Schema schema, java.lang.String tableName, boolean ifTableExists, boolean ifExists, java.lang.String columnName, Column column)private AlterTableAlterColumnparseAlterTableAlterColumnType(Schema schema, java.lang.String tableName, java.lang.String columnName, boolean ifTableExists, boolean ifExists, boolean preserveNotNull)private PreparedparseAlterTableCompatibility(Schema schema, java.lang.String tableName, boolean ifTableExists, Mode mode)private PreparedparseAlterTableDrop(Schema schema, java.lang.String tableName, boolean ifTableExists)private PreparedparseAlterTableDropCompatibility(Schema schema, java.lang.String tableName, boolean ifTableExists)private PreparedparseAlterTableRename(Schema schema, java.lang.String tableName, boolean ifTableExists)private PreparedparseAlterTableSet(Schema schema, java.lang.String tableName, boolean ifTableExists)private AlterUserparseAlterUser()private DefineCommandparseAlterView()private PreparedparseAnalyze()private TypeInfoparseArrayType(TypeInfo componentType)private PreparedparseBackup()private booleanparseBasicSequenceOption(SequenceOptions options)private TransactionCommandparseBegin()private CallparseCall()private ConstraintActionTypeparseCascadeOrRestrict()private TransactionCommandparseCheckpoint()private ColumnparseColumn(Table table)private ColumnparseColumnForTable(java.lang.String columnName, boolean defaultNullable)private java.lang.String[]parseColumnList()java.lang.ObjectparseColumnList(java.lang.String sql, int offset)Parses a list of column names or numbers in parentheses.private Column[]parseColumnList(Table table)private ColumnparseColumnWithType(java.lang.String columnName)private PreparedparseComment()private TransactionCommandparseCommit()private booleanparseCompatibilityIdentity(Column column, Mode mode)private voidparseCompatibilityIdentityOptions(Column column)private PreparedparseCreate()private CreateAggregateparseCreateAggregate(boolean force)private CreateConstantparseCreateConstant()private CreateDomainparseCreateDomain()private CreateFunctionAliasparseCreateFunctionAlias(boolean force)private CreateLinkedTableparseCreateLinkedTable(boolean temp, boolean globalTemp, boolean force)private CreateRoleparseCreateRole()private CreateSchemaparseCreateSchema()private CreateSequenceparseCreateSequence()private booleanparseCreateSequenceOption(CreateSequence command)private CreateSynonymparseCreateSynonym(boolean orReplace)private CreateTableparseCreateTable(boolean temp, boolean globalTemp, boolean persistIndexes)private voidparseCreateTableMySQLTableOptions(CreateTable command)private CreateTriggerparseCreateTrigger(boolean force)private CreateUserparseCreateUser()private CreateViewparseCreateView(boolean force, boolean orReplace)private TypeInfoparseDataType()private TypeInfoparseDateTimeType(boolean smallDateTime)private ExpressionparseDB2SpecialRegisters(java.lang.String name)private DeallocateProcedureparseDeallocate()private TypeInfoparseDecfloatType()private DeleteparseDelete(int start)ExpressionparseDomainConstraintExpression(java.lang.String sql)Parse a SQL code snippet that represents an expression for a domain constraint.private PreparedparseDrop()private DropAggregateparseDropAggregate()private DropDomainparseDropDomain()private voidparseEndOfQuery(Query command)private TypeInfoparseEnumType()private PreparedparseExecutePostgre()private PreparedparseExecuteSQLServer()private ExplainparseExplain()private QueryparseExplicitTable(int start)ExpressionparseExpression(java.lang.String sql)Parse a SQL code snippet that represents an expression.private TypeInfoparseFloatType()private TypeInfoparseGeometryType()private GrantRevokeparseGrantRevoke(int operationType)private PreparedparseHelp()private IndexColumn[]parseIndexColumnList()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 voidparseIsolationClause()DB2 isolation clauseprivate PreparedparseMerge(int start)private PreparedparseMergeInto(TableFilter targetTableFilter, int start)private MergeUsingparseMergeUsing(TableFilter targetTableFilter, int start)static java.util.BitSetparseNonKeywords(java.lang.String[] nonKeywords)Parses the specified collection of non-keywords.private Parser.NullConstraintTypeparseNotNullCompatibility(Parser.NullConstraintType nullConstraint)private Parser.NullConstraintTypeparseNotNullConstraint()private Parser.NullConstraintTypeparseNotNullConstraint(Parser.NullConstraintType nullConstraint)private TypeInfoparseNumericType(boolean decimal)private PreparedparsePrepare()private PreparedparsePrepared()private PreparedparsePrepareProcedure()private QueryparseQuery()private QueryparseQueryExpression()private QueryparseQueryExpressionBody()private QueryparseQueryExpressionBodyAndEndOfQuery()private QueryparseQueryPrimary()private QueryparseQueryTerm()private voidparseReferences(AlterTableAddConstraint command, Schema schema, java.lang.String tableName)private PreparedparseReleaseSavepoint()private MergeparseReplace(int start)MySQL compatibility.private TransactionCommandparseRollback()private TypeInfoparseRowType()private RunScriptCommandparseRunScript()private TransactionCommandparseSavepoint()private ScriptCommandparseScript()private SelectparseSelect(int start)private voidparseSelectExpressions(Select command)private voidparseSelectFromPart(Select command)private booleanparseSequenceOptions(SequenceOptions options, CreateSequence command, boolean allowDataType, boolean forAlterColumn)private PreparedparseSet()private SetparseSetCollation()private PreparedparseSetTransactionMode()private PreparedparseShow()private TransactionCommandparseShutdown()private TableViewparseSingleCommonTableExpression(boolean isTemporary)private QueryOrderByparseSortSpecification()private java.util.ArrayList<QueryOrderBy>parseSortSpecificationList()private intparseSortType()private voidparseTableColumnDefinition(CommandWithColumns command, Schema schema, java.lang.String tableName, boolean forCreateTable)private DefineCommandparseTableConstraintIf(java.lang.String tableName, Schema schema, boolean ifTableExists)TableparseTableName(java.lang.String sql)Parse a SQL code snippet that represents a table name.private TypeInfoparseTimestampType()private TypeInfoparseTimeType()private PreparedparseTruncate()private UpdateparseUpdate(int start)private PreparedparseUse()private TableValueConstructorparseValues()private voidparseValuesForCommand(CommandWithValues command)private java.util.ArrayList<Expression>parseValuesRow(java.util.ArrayList<Expression> row)private voidparseWhenMatched(MergeUsing command)private voidparseWhenNotMatched(MergeUsing command)private WildcardparseWildcard(java.lang.String schema, java.lang.String objectName)private PreparedparseWith()private PreparedparseWith1(java.util.List<TableView> viewsCreated)private PreparedparseWithQuery()private PreparedparseWithStatementOrQuery(int start)Preparedprepare(java.lang.String sql)Parse the statement and prepare it for execution.private static Preparedprepare(SessionLocal s, java.lang.String sql, java.util.ArrayList<Value> paramValues)CommandprepareCommand(java.lang.String sql)Parse a statement or a list of statements, and prepare it for execution.private CommandListprepareCommandList(CommandContainer command, Prepared p, java.lang.String sql, java.lang.String remainingSql, java.util.ArrayList<Token> remainingTokens)static java.lang.StringquoteIdentifier(java.lang.String s, int sqlFlags)Add double quotes around an identifier if required.private voidread()private voidread(int tokenType)private voidread(java.lang.String expected)private ExpressionreadAggregate(AggregateType aggregateType, java.lang.String aggregateName)private voidreadAggregateOrder(Aggregate r, Expression expr, boolean parseSortType)private ExpressionreadAnd(Expression r)private booleanreadBooleanSetting()private ExpressionreadBuiltinFunctionIf(java.lang.String upperName)private ExpressionreadCase()private ExpressionreadCoalesceFunction(int function)private voidreadColumnConstraints(CommandWithColumns command, Schema schema, java.lang.String tableName, Column column)private ExpressionreadColumnIfNotFunction()private java.lang.StringreadCommentIf()private ExpressionreadComparison(Expression left, int compareType, boolean whenOperand)private ExpressionreadCompatibilityCase(Expression when)private ExpressionreadCompatibilityFunction(java.lang.String name)private ExpressionreadCompatibilitySequenceValueFunction(boolean current)private ExpressionreadConcat()private ExpressionreadConcatFunction(int function)private ExpressionreadCondition()private ExpressionreadConditionIs(Expression left, boolean whenOperand)private ExpressionreadConditionRightHandSide(Expression r, boolean not, boolean whenOperand)private TableFilterreadCorrelation(TableFilter tableFilter)private ExpressionreadCurrentDateTimeValueFunction(int function, boolean hasParen, java.lang.String name)private ExpressionreadCurrentGeneralValueSpecification(int specification)private TablereadDataChangeDeltaTable(java.lang.String resultOptionName, int backupIndex)private intreadDateTimeField()private ExpressionreadDateTimeFormatFunction(int function)private java.util.ArrayList<java.lang.String>readDerivedColumnNames()private TableFilterreadDerivedTableWithCorrelation()private booleanreadDistinctAgg()private ExpressionreadExpression()private ExpressionreadExpressionOrDefault()private ExpressionreadExpressionOrIdentifier()private ExpressionreadExpressionPart2(Expression r1)private ExpressionreadExpressionWithGlobalConditions()private ExpressionreadFactor()private ExpressionreadFetchOrLimit()private voidreadFilterAndOver(AbstractAggregate aggregate)private java.lang.StringreadFromAlias(java.lang.String alias)private voidreadFromFirstOrLast(WindowFunction function)private ExpressionreadFunction(Schema schema, java.lang.String name)private ExpressionreadFunctionWithSchema(Schema schema, java.lang.String name, java.lang.String upperName)private java.lang.StringreadIdentifier()private java.lang.StringreadIdentifierWithSchema()private java.lang.StringreadIdentifierWithSchema(java.lang.String defaultSchemaName)private java.lang.StringreadIdentifierWithSchema2(java.lang.String s)private booleanreadIf(int tokenType)private booleanreadIf(java.lang.String tokenName)private ExpressionreadIfArgument()private TypeInforeadIfDataType()private TypeInforeadIfDataType1()private voidreadIfEqualOrTo()private booleanreadIfExists(boolean ifExists)private booleanreadIfMore()Read comma or closing brace.private booleanreadIfNotExists()private java.util.ArrayList<QueryOrderBy>readIfOrderBy()private java.lang.BooleanreadIfOverriding()private SequenceValuereadIfSequencePseudoColumn(java.lang.String schema, java.lang.String objectName)private ExpressionreadIfSingleArgument()private booleanreadIfUseIndex()private ExpressionreadIfWildcardRowidOrSequencePseudoColumn(java.lang.String schema, java.lang.String objectName)private ExpressionreadInPredicate(Expression left, boolean not, boolean whenOperand)private intreadInt()private ExpressionreadInterval()private TypeInforeadIntervalQualifier()private ExpressionreadJoinSpecification(TableFilter filter1, TableFilter filter2, boolean rightJoin)private booleanreadJsonObjectFunctionFlags(ExpressionWithFlags function, boolean forArray)private IsJsonPredicatereadJsonPredicate(Expression left, boolean not, boolean whenOperand)private ExpressionreadKeywordCompatibilityFunctionOrColumn()private ExpressionreadLastArgument()private ExpressionreadLikePredicate(Expression left, CompareLike.LikeType likeType, boolean not, boolean whenOperand)private longreadLong()private voidreadMySQLCharset()private ExpressionreadNextArgument()private intreadNonNegativeInt()private ExpressionreadOnDuplicateKeyValues(Table table, Update update)private voidreadOver(DataAnalysisOperation operation)private ParameterreadParameter()private <T extends ExpressionWithVariableParameters>
TreadParameters(T expression)private longreadPositiveLong()private longreadPrecision(int valueType)private voidreadRespectOrIgnoreNulls(WindowFunction function)private SequencereadSequence()private PreparedreadSetCompatibility(Mode.ModeEnum modeEnum)private ExpressionreadSetFunction()private TableFilterreadSimpleTableFilter()private SimpleCase.SimpleWhenreadSimpleWhenClause(Expression caseOperand)private ExpressionreadSingleArgument()private java.lang.StringreadString()private java.lang.StringreadStringOrIdentifier()private ExpressionreadSubstringFunction()private ExpressionreadSum()private ColumnreadTableColumn(TableFilter filter)private java.lang.StringreadTableColumn(TableFilter filter, java.lang.String tableAlias)private java.util.ArrayList<java.lang.String>readTableEngineParams()private ArrayTableFunctionreadTableFunction(int functionType)private TableFunctionreadTableFunction(java.lang.String name, Schema schema)private TablereadTableOrView()private TablereadTableOrView(java.lang.String tableName)private TableFilterreadTablePrimary()private TableFilterreadTableReference()private ExpressionreadTerm()private ExpressionreadTermObjectDot(java.lang.String objectName)private ExpressionreadTermWithIdentifier(java.lang.String name, boolean quoted)private ExpressionreadTildeCondition(Expression r, boolean not)private ExpressionreadTrimFunction()private TypePredicatereadTypePredicate(Expression left, boolean not, boolean whenOperand)private ArrayTableFunctionreadUnnestFunction()private SetClauseListreadUpdateSetClause(TableFilter filter)private ExpressionreadUserDefinedFunctionIf(Schema schema, java.lang.String functionName)private ExpressionreadWhenOperand(Expression caseOperand)private WindowFramereadWindowFrame()private WindowFrameBoundreadWindowFrameRange()private WindowFrameBoundreadWindowFrameStarting()private WindowFunctionreadWindowFunction(java.lang.String name)private WindowreadWindowNameOrSpecification()private WindowreadWindowSpecification()private AggregatereadWithinGroup(AggregateType aggregateType, Expression[] args, boolean distinct, java.lang.Object extraArguments, boolean forHypotheticalSet, boolean simple)private voidresetTokenIndex()private intscanToCloseParen(int offset)voidsetLiteralsChecked(boolean literalsChecked)voidsetRightsChecked(boolean rightsChecked)private voidsetSQL(Prepared command, int start)voidsetSuppliedParameters(java.util.ArrayList<Parameter> suppliedParameters)(package private) voidsetTokenIndex(int index)private TabletableIfTableExists(Schema schema, java.lang.String tableName, boolean ifTableExists)java.lang.StringtoString()private java.lang.StringupperName(java.lang.String name)
-
-
-
Field Detail
-
WITH_STATEMENT_SUPPORTS_LIMITED_SUB_STATEMENTS
private static final java.lang.String WITH_STATEMENT_SUPPORTS_LIMITED_SUB_STATEMENTS
- See Also:
- Constant Field Values
-
database
private final Database database
-
session
private final SessionLocal session
-
identifiersToLower
private final boolean identifiersToLower
- See Also:
DbSettings.databaseToLower
-
identifiersToUpper
private final boolean identifiersToUpper
- See Also:
DbSettings.databaseToUpper
-
variableBinary
private final boolean variableBinary
- See Also:
SessionLocal.isVariableBinary()
-
nonKeywords
private final java.util.BitSet nonKeywords
-
tokens
java.util.ArrayList<Token> tokens
-
tokenIndex
int tokenIndex
-
token
Token token
-
currentTokenType
private int currentTokenType
-
currentToken
private java.lang.String currentToken
-
sqlCommand
private java.lang.String sqlCommand
-
createView
private CreateView createView
-
currentPrepared
private Prepared currentPrepared
-
currentSelect
private Select currentSelect
-
cteCleanups
private java.util.List<TableView> cteCleanups
-
parameters
private java.util.ArrayList<Parameter> parameters
-
suppliedParameters
private java.util.ArrayList<Parameter> suppliedParameters
-
schemaName
private java.lang.String schemaName
-
expectedList
private java.util.ArrayList<java.lang.String> expectedList
-
rightsChecked
private boolean rightsChecked
-
recompileAlways
private boolean recompileAlways
-
literalsChecked
private boolean literalsChecked
-
orderInFrom
private int orderInFrom
-
parseDomainConstraint
private boolean parseDomainConstraint
-
-
Constructor Detail
-
Parser
public Parser(SessionLocal session)
Creates a new instance of parser.- Parameters:
session- the session
-
Parser
public Parser()
Creates a new instance of parser for special use cases.
-
-
Method Detail
-
parseNonKeywords
public static java.util.BitSet parseNonKeywords(java.lang.String[] nonKeywords)
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
public static java.lang.String formatNonKeywords(java.util.BitSet nonKeywords)
Formats a comma-separated list of keywords.- Parameters:
nonKeywords- bit set of non-keywords, ornull- Returns:
- comma-separated list of non-keywords
-
prepare
public Prepared prepare(java.lang.String sql)
Parse the statement and prepare it for execution.- Parameters:
sql- the SQL statement to parse- Returns:
- the prepared object
-
prepareCommand
public Command prepareCommand(java.lang.String sql)
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, java.lang.String sql, java.lang.String remainingSql, java.util.ArrayList<Token> remainingTokens)
-
getRemainingTokens
private java.util.ArrayList<Token> getRemainingTokens(int offset)
-
parse
Prepared parse(java.lang.String sql, java.util.ArrayList<Token> tokens)
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
private Prepared parse(java.lang.String sql, boolean withExpectedList)
-
parsePrepared
private Prepared parsePrepared()
-
getSyntaxError
private DbException getSyntaxError()
-
parseBackup
private Prepared parseBackup()
-
parseAnalyze
private Prepared parseAnalyze()
-
parseBegin
private TransactionCommand parseBegin()
-
parseCommit
private TransactionCommand parseCommit()
-
parseShutdown
private TransactionCommand parseShutdown()
-
parseRollback
private TransactionCommand parseRollback()
-
parsePrepare
private Prepared parsePrepare()
-
parsePrepareProcedure
private Prepared parsePrepareProcedure()
-
parseSavepoint
private TransactionCommand parseSavepoint()
-
parseReleaseSavepoint
private Prepared parseReleaseSavepoint()
-
findSchema
private Schema findSchema(java.lang.String schemaName)
-
getSchema
private Schema getSchema(java.lang.String schemaName)
-
getSchema
private Schema getSchema()
-
getSchemaWithDefault
private Schema getSchemaWithDefault()
-
readTableColumn
private Column readTableColumn(TableFilter filter)
-
readTableColumn
private java.lang.String readTableColumn(TableFilter filter, java.lang.String tableAlias)
-
parseUpdate
private Update parseUpdate(int start)
-
readUpdateSetClause
private SetClauseList readUpdateSetClause(TableFilter filter)
-
readSimpleTableFilter
private TableFilter readSimpleTableFilter()
-
parseDelete
private Delete parseDelete(int start)
-
readFetchOrLimit
private Expression readFetchOrLimit()
-
parseIndexColumnList
private IndexColumn[] parseIndexColumnList()
-
parseSortType
private int parseSortType()
-
parseColumnList
private java.lang.String[] parseColumnList()
-
readIfMore
private boolean readIfMore()
Read comma or closing brace.- Returns:
trueif comma is read,falseif brace is read
-
parseHelp
private Prepared parseHelp()
-
parseShow
private Prepared parseShow()
-
prepare
private static Prepared prepare(SessionLocal s, java.lang.String sql, java.util.ArrayList<Value> paramValues)
-
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
private Prepared parseMerge(int start)
-
parseMergeInto
private Prepared parseMergeInto(TableFilter targetTableFilter, int start)
-
parseMergeUsing
private MergeUsing parseMergeUsing(TableFilter targetTableFilter, int start)
-
parseWhenMatched
private void parseWhenMatched(MergeUsing command)
-
parseWhenNotMatched
private void parseWhenNotMatched(MergeUsing command)
-
parseInsert
private Insert parseInsert(int start)
-
readIfOverriding
private java.lang.Boolean readIfOverriding()
-
parseInsertCompatibility
private void parseInsertCompatibility(Insert command, Table table, Mode mode)
-
parseReplace
private Merge parseReplace(int start)
MySQL compatibility. REPLACE is similar to MERGE.
-
parseValuesForCommand
private void parseValuesForCommand(CommandWithValues command)
-
readTablePrimary
private TableFilter readTablePrimary()
-
readCorrelation
private TableFilter readCorrelation(TableFilter tableFilter)
-
readDerivedTableWithCorrelation
private TableFilter readDerivedTableWithCorrelation()
-
buildTableFilter
private TableFilter buildTableFilter(Table table, java.lang.String alias, java.util.ArrayList<java.lang.String> derivedColumnNames, IndexHints indexHints)
-
readDataChangeDeltaTable
private Table readDataChangeDeltaTable(java.lang.String resultOptionName, int backupIndex)
-
readTableFunction
private TableFunction readTableFunction(java.lang.String name, Schema schema)
-
readIfUseIndex
private boolean readIfUseIndex()
-
parseIndexHints
private IndexHints parseIndexHints(Table table)
-
readFromAlias
private java.lang.String readFromAlias(java.lang.String alias)
-
readDerivedColumnNames
private java.util.ArrayList<java.lang.String> readDerivedColumnNames()
-
discardWithTableHints
private void discardWithTableHints()
-
discardTableHint
private void discardTableHint()
-
parseTruncate
private Prepared parseTruncate()
-
readIfExists
private boolean readIfExists(boolean ifExists)
-
parseComment
private Prepared parseComment()
-
parseDrop
private Prepared parseDrop()
-
parseDropDomain
private DropDomain parseDropDomain()
-
parseDropAggregate
private DropAggregate parseDropAggregate()
-
readTableReference
private TableFilter 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
private void addJoin(TableFilter top, TableFilter join, boolean outer, Expression on)
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:
TableFilter.addJoin(TableFilter, boolean, Expression)
-
parseExecutePostgre
private Prepared parseExecutePostgre()
-
parseExecuteSQLServer
private Prepared parseExecuteSQLServer()
-
getFunctionAliasWithinPath
private FunctionAlias getFunctionAliasWithinPath(java.lang.String name, Schema schema)
-
parseDeallocate
private DeallocateProcedure parseDeallocate()
-
parseExplain
private Explain parseExplain()
-
parseQuery
private Query parseQuery()
-
parseWithStatementOrQuery
private Prepared parseWithStatementOrQuery(int start)
-
parseQueryExpression
private Query parseQueryExpression()
-
parseQueryExpressionBodyAndEndOfQuery
private Query parseQueryExpressionBodyAndEndOfQuery()
-
parseQueryExpressionBody
private Query parseQueryExpressionBody()
-
parseQueryTerm
private Query parseQueryTerm()
-
parseEndOfQuery
private void parseEndOfQuery(Query command)
-
parseIsolationClause
private void parseIsolationClause()
DB2 isolation clause
-
parseQueryPrimary
private Query parseQueryPrimary()
-
parseSelectFromPart
private void parseSelectFromPart(Select command)
-
parseSelectExpressions
private void parseSelectExpressions(Select command)
-
parseSelect
private Select parseSelect(int start)
-
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
private Query parseExplicitTable(int start)
-
setSQL
private void setSQL(Prepared command, int start)
-
readExpressionOrDefault
private Expression readExpressionOrDefault()
-
readExpressionWithGlobalConditions
private Expression readExpressionWithGlobalConditions()
-
readExpression
private Expression readExpression()
-
readExpressionPart2
private Expression readExpressionPart2(Expression r1)
-
readAnd
private Expression readAnd(Expression r)
-
readCondition
private Expression readCondition()
-
readConditionRightHandSide
private Expression readConditionRightHandSide(Expression r, boolean not, boolean whenOperand)
-
readConditionIs
private Expression readConditionIs(Expression left, boolean whenOperand)
-
readTypePredicate
private TypePredicate readTypePredicate(Expression left, boolean not, boolean whenOperand)
-
readInPredicate
private Expression readInPredicate(Expression left, boolean not, boolean whenOperand)
-
readJsonPredicate
private IsJsonPredicate readJsonPredicate(Expression left, boolean not, boolean whenOperand)
-
readLikePredicate
private Expression readLikePredicate(Expression left, CompareLike.LikeType likeType, boolean not, boolean whenOperand)
-
readComparison
private Expression readComparison(Expression left, int compareType, boolean whenOperand)
-
readConcat
private Expression readConcat()
-
readSum
private Expression readSum()
-
readFactor
private Expression readFactor()
-
readTildeCondition
private Expression readTildeCondition(Expression r, boolean not)
-
readAggregate
private Expression readAggregate(AggregateType aggregateType, java.lang.String aggregateName)
-
readWithinGroup
private Aggregate readWithinGroup(AggregateType aggregateType, Expression[] args, boolean distinct, java.lang.Object extraArguments, boolean forHypotheticalSet, boolean simple)
-
readAggregateOrder
private void readAggregateOrder(Aggregate r, Expression expr, boolean parseSortType)
-
readIfOrderBy
private java.util.ArrayList<QueryOrderBy> readIfOrderBy()
-
parseSortSpecificationList
private java.util.ArrayList<QueryOrderBy> parseSortSpecificationList()
-
parseSortSpecification
private QueryOrderBy parseSortSpecification()
-
readUserDefinedFunctionIf
private Expression readUserDefinedFunctionIf(Schema schema, java.lang.String functionName)
-
readDistinctAgg
private boolean readDistinctAgg()
-
readFilterAndOver
private void readFilterAndOver(AbstractAggregate aggregate)
-
readOver
private void readOver(DataAnalysisOperation operation)
-
readWindowNameOrSpecification
private Window readWindowNameOrSpecification()
-
readWindowSpecification
private Window readWindowSpecification()
-
readWindowFrame
private WindowFrame readWindowFrame()
-
readWindowFrameStarting
private WindowFrameBound readWindowFrameStarting()
-
readWindowFrameRange
private WindowFrameBound readWindowFrameRange()
-
readFunction
private Expression readFunction(Schema schema, java.lang.String name)
-
readFunctionWithSchema
private Expression readFunctionWithSchema(Schema schema, java.lang.String name, java.lang.String upperName)
-
readCompatibilityFunction
private Expression readCompatibilityFunction(java.lang.String name)
-
readParameters
private <T extends ExpressionWithVariableParameters> T readParameters(T expression)
-
decodeToWhen
private SimpleCase.SimpleWhen decodeToWhen(Expression caseOperand, boolean canOptimize, Expression whenOperand, Expression result)
-
readCompatibilityCase
private Expression readCompatibilityCase(Expression when)
-
readCompatibilitySequenceValueFunction
private Expression readCompatibilitySequenceValueFunction(boolean current)
-
readBuiltinFunctionIf
private Expression readBuiltinFunctionIf(java.lang.String upperName)
-
readDateTimeFormatFunction
private Expression readDateTimeFormatFunction(int function)
-
readTrimFunction
private Expression readTrimFunction()
-
readUnnestFunction
private ArrayTableFunction readUnnestFunction()
-
readTableFunction
private ArrayTableFunction readTableFunction(int functionType)
-
readSingleArgument
private Expression readSingleArgument()
-
readNextArgument
private Expression readNextArgument()
-
readLastArgument
private Expression readLastArgument()
-
readIfSingleArgument
private Expression readIfSingleArgument()
-
readIfArgument
private Expression readIfArgument()
-
readCoalesceFunction
private Expression readCoalesceFunction(int function)
-
readConcatFunction
private Expression readConcatFunction(int function)
-
readSubstringFunction
private Expression readSubstringFunction()
-
readDateTimeField
private int readDateTimeField()
-
readWindowFunction
private WindowFunction readWindowFunction(java.lang.String name)
-
readFromFirstOrLast
private void readFromFirstOrLast(WindowFunction function)
-
readRespectOrIgnoreNulls
private void readRespectOrIgnoreNulls(WindowFunction function)
-
readJsonObjectFunctionFlags
private boolean readJsonObjectFunctionFlags(ExpressionWithFlags function, boolean forArray)
-
readKeywordCompatibilityFunctionOrColumn
private Expression readKeywordCompatibilityFunctionOrColumn()
-
readCurrentDateTimeValueFunction
private Expression readCurrentDateTimeValueFunction(int function, boolean hasParen, java.lang.String name)
-
readIfWildcardRowidOrSequencePseudoColumn
private Expression readIfWildcardRowidOrSequencePseudoColumn(java.lang.String schema, java.lang.String objectName)
-
parseWildcard
private Wildcard parseWildcard(java.lang.String schema, java.lang.String objectName)
-
readIfSequencePseudoColumn
private SequenceValue readIfSequencePseudoColumn(java.lang.String schema, java.lang.String objectName)
-
readTermObjectDot
private Expression readTermObjectDot(java.lang.String objectName)
-
checkDatabaseName
private void checkDatabaseName(java.lang.String databaseName)
-
readParameter
private Parameter readParameter()
-
readTerm
private Expression readTerm()
-
readCurrentGeneralValueSpecification
private Expression readCurrentGeneralValueSpecification(int specification)
-
readColumnIfNotFunction
private Expression readColumnIfNotFunction()
-
readSetFunction
private Expression readSetFunction()
-
readOnDuplicateKeyValues
private Expression readOnDuplicateKeyValues(Table table, Update update)
-
readTermWithIdentifier
private Expression readTermWithIdentifier(java.lang.String name, boolean quoted)
-
getCurrentPrepared
private Prepared getCurrentPrepared()
-
readInterval
private Expression readInterval()
-
parseDB2SpecialRegisters
private Expression parseDB2SpecialRegisters(java.lang.String name)
-
readCase
private Expression readCase()
-
readSimpleWhenClause
private SimpleCase.SimpleWhen readSimpleWhenClause(Expression caseOperand)
-
readWhenOperand
private Expression readWhenOperand(Expression caseOperand)
-
readNonNegativeInt
private int readNonNegativeInt()
-
readInt
private int readInt()
-
readPositiveLong
private long readPositiveLong()
-
readLong
private long readLong()
-
readBooleanSetting
private boolean readBooleanSetting()
-
readString
private java.lang.String readString()
-
readIdentifierWithSchema
private java.lang.String readIdentifierWithSchema(java.lang.String defaultSchemaName)
-
readIdentifierWithSchema2
private java.lang.String readIdentifierWithSchema2(java.lang.String s)
-
readIdentifierWithSchema
private java.lang.String readIdentifierWithSchema()
-
readIdentifier
private java.lang.String readIdentifier()
-
read
private void read(java.lang.String expected)
-
read
private void read(int tokenType)
-
readIf
private boolean readIf(java.lang.String tokenName)
-
readIf
private boolean readIf(int tokenType)
-
isToken
private boolean isToken(java.lang.String tokenName)
-
isToken
private boolean isToken(int tokenType)
-
equalsToken
private boolean equalsToken(java.lang.String a, java.lang.String b)
-
isIdentifier
private boolean isIdentifier()
-
addExpected
private void addExpected(java.lang.String token)
-
addExpected
private void addExpected(int tokenType)
-
addMultipleExpected
private void addMultipleExpected(int... tokenTypes)
-
read
private void read()
-
checkLiterals
private void checkLiterals()
-
initialize
private void initialize(java.lang.String sql, java.util.ArrayList<Token> tokens, boolean stopOnCloseParen)
-
resetTokenIndex
private void resetTokenIndex()
-
setTokenIndex
void setTokenIndex(int index)
-
isKeyword
private static boolean isKeyword(int tokenType)
-
isKeyword
private boolean isKeyword(java.lang.String s)
-
upperName
private java.lang.String upperName(java.lang.String name)
-
parseColumnForTable
private Column parseColumnForTable(java.lang.String columnName, boolean defaultNullable)
-
parseCompatibilityIdentityOptions
private void parseCompatibilityIdentityOptions(Column column)
-
readCommentIf
private java.lang.String readCommentIf()
-
parseColumnWithType
private Column parseColumnWithType(java.lang.String columnName)
-
parseDataType
private TypeInfo parseDataType()
-
readIfDataType
private TypeInfo readIfDataType()
-
readIfDataType1
private TypeInfo readIfDataType1()
-
getInvalidPrecisionException
private static DbException getInvalidPrecisionException(DataType dataType, long precision)
-
getColumnWithDomain
private static Column getColumnWithDomain(java.lang.String columnName, Domain domain)
-
parseFloatType
private TypeInfo parseFloatType()
-
parseNumericType
private TypeInfo parseNumericType(boolean decimal)
-
parseDecfloatType
private TypeInfo parseDecfloatType()
-
getInvalidNumericPrecisionException
private static DbException getInvalidNumericPrecisionException(long precision)
-
parseTimeType
private TypeInfo parseTimeType()
-
parseTimestampType
private TypeInfo parseTimestampType()
-
parseDateTimeType
private TypeInfo parseDateTimeType(boolean smallDateTime)
-
readIntervalQualifier
private TypeInfo readIntervalQualifier()
-
intervalQualifierError
private DbException intervalQualifierError()
-
intervalDayError
private DbException intervalDayError()
-
intervalHourError
private DbException intervalHourError()
-
parseEnumType
private TypeInfo parseEnumType()
-
parseGeometryType
private TypeInfo parseGeometryType()
-
parseRowType
private TypeInfo parseRowType()
-
readPrecision
private long readPrecision(int valueType)
-
parseCreate
private Prepared parseCreate()
-
addRoleOrRight
private boolean addRoleOrRight(GrantRevoke command)
- Returns:
- true if we expect to see a TABLE clause
-
parseGrantRevoke
private GrantRevoke parseGrantRevoke(int operationType)
-
parseValues
private TableValueConstructor parseValues()
-
parseValuesRow
private java.util.ArrayList<Expression> parseValuesRow(java.util.ArrayList<Expression> row)
-
parseCall
private Call parseCall()
-
parseCreateRole
private CreateRole parseCreateRole()
-
parseCreateSchema
private CreateSchema parseCreateSchema()
-
readTableEngineParams
private java.util.ArrayList<java.lang.String> readTableEngineParams()
-
parseCreateSequence
private CreateSequence parseCreateSequence()
-
readIfNotExists
private boolean readIfNotExists()
-
parseCreateConstant
private CreateConstant parseCreateConstant()
-
parseCreateAggregate
private CreateAggregate parseCreateAggregate(boolean force)
-
parseCreateDomain
private CreateDomain parseCreateDomain()
-
parseCreateTrigger
private CreateTrigger parseCreateTrigger(boolean force)
-
parseCreateUser
private CreateUser parseCreateUser()
-
parseCreateFunctionAlias
private CreateFunctionAlias parseCreateFunctionAlias(boolean force)
-
readStringOrIdentifier
private java.lang.String readStringOrIdentifier()
-
isReservedFunctionName
private boolean isReservedFunctionName(java.lang.String name)
-
parseWith
private Prepared parseWith()
-
parseWithQuery
private Prepared parseWithQuery()
-
parseSingleCommonTableExpression
private TableView parseSingleCommonTableExpression(boolean isTemporary)
-
createCTEView
private TableView createCTEView(java.lang.String cteViewName, java.lang.String querySQL, java.util.List<Column> columnTemplateList, boolean allowRecursiveQueryDetection, boolean addViewToSession, boolean isTemporary)
-
parseCreateView
private CreateView parseCreateView(boolean force, boolean orReplace)
-
parseCheckpoint
private TransactionCommand parseCheckpoint()
-
parseAlter
private Prepared parseAlter()
-
checkSchema
private void checkSchema(Schema old)
-
parseAlterIndex
private AlterIndexRename parseAlterIndex()
-
parseAlterDomain
private DefineCommand parseAlterDomain()
-
parseAlterView
private DefineCommand parseAlterView()
-
parseAlterSchema
private Prepared parseAlterSchema()
-
parseAlterSequence
private AlterSequence parseAlterSequence()
-
parseSequenceOptions
private boolean parseSequenceOptions(SequenceOptions options, CreateSequence command, boolean allowDataType, boolean forAlterColumn)
-
parseCreateSequenceOption
private boolean parseCreateSequenceOption(CreateSequence command)
-
parseBasicSequenceOption
private boolean parseBasicSequenceOption(SequenceOptions options)
-
parseAlterUser
private AlterUser parseAlterUser()
-
readIfEqualOrTo
private void readIfEqualOrTo()
-
parseSet
private Prepared parseSet()
-
parseSetTransactionMode
private Prepared parseSetTransactionMode()
-
readExpressionOrIdentifier
private Expression readExpressionOrIdentifier()
-
parseUse
private Prepared parseUse()
-
parseSetCollation
private Set parseSetCollation()
-
readSetCompatibility
private Prepared readSetCompatibility(Mode.ModeEnum modeEnum)
-
parseRunScript
private RunScriptCommand parseRunScript()
-
parseScript
private ScriptCommand parseScript()
-
isDualTable
private boolean isDualTable(java.lang.String tableName)
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:
- Wikipedia: DUAL table
-
readTableOrView
private Table readTableOrView()
-
readTableOrView
private Table readTableOrView(java.lang.String tableName)
-
getTableOrViewNotFoundDbException
private DbException getTableOrViewNotFoundDbException(java.lang.String tableName)
-
getTableOrViewNotFoundDbException
private DbException getTableOrViewNotFoundDbException(java.lang.String schemaName, java.lang.String tableName)
-
getTableOrViewNotFoundDbException
private DbException getTableOrViewNotFoundDbException(java.util.Set<java.lang.String> schemaNames, java.lang.String tableName)
-
findTableNameCandidates
private void findTableNameCandidates(java.lang.String schemaName, java.lang.String tableName, java.util.Set<java.lang.String> candidates)
-
findUserDefinedFunctionWithinPath
private UserDefinedFunction findUserDefinedFunctionWithinPath(Schema schema, java.lang.String name)
-
findSequence
private Sequence findSequence(java.lang.String schema, java.lang.String sequenceName)
-
readSequence
private Sequence readSequence()
-
parseAlterTable
private Prepared parseAlterTable()
-
parseAlterTableAlter
private Prepared parseAlterTableAlter(Schema schema, java.lang.String tableName, boolean ifTableExists)
-
getAlterTableAlterColumnDropDefaultExpression
private Prepared getAlterTableAlterColumnDropDefaultExpression(Schema schema, java.lang.String tableName, boolean ifTableExists, Column column, int type)
-
parseAlterTableAlterColumnIdentity
private Prepared parseAlterTableAlterColumnIdentity(Schema schema, java.lang.String tableName, boolean ifTableExists, Column column)
-
parseAlterTableAlterColumnSet
private Prepared parseAlterTableAlterColumnSet(Schema schema, java.lang.String tableName, boolean ifTableExists, boolean ifExists, java.lang.String columnName, Column column)
-
parseAlterTableDrop
private Prepared parseAlterTableDrop(Schema schema, java.lang.String tableName, boolean ifTableExists)
-
parseAlterTableDropCompatibility
private Prepared parseAlterTableDropCompatibility(Schema schema, java.lang.String tableName, boolean ifTableExists)
-
parseAlterTableRename
private Prepared parseAlterTableRename(Schema schema, java.lang.String tableName, boolean ifTableExists)
-
parseAlterTableSet
private Prepared parseAlterTableSet(Schema schema, java.lang.String tableName, boolean ifTableExists)
-
parseAlterTableCompatibility
private Prepared parseAlterTableCompatibility(Schema schema, java.lang.String tableName, boolean ifTableExists, Mode mode)
-
tableIfTableExists
private Table tableIfTableExists(Schema schema, java.lang.String tableName, boolean ifTableExists)
-
columnIfTableExists
private Column columnIfTableExists(Schema schema, java.lang.String tableName, java.lang.String columnName, boolean ifTableExists, boolean ifExists)
-
commandIfTableExists
private Prepared commandIfTableExists(Schema schema, java.lang.String tableName, boolean ifTableExists, Prepared commandIfTableExists)
-
parseAlterTableAlterColumnType
private AlterTableAlterColumn parseAlterTableAlterColumnType(Schema schema, java.lang.String tableName, java.lang.String columnName, boolean ifTableExists, boolean ifExists, boolean preserveNotNull)
-
parseAlterTableAlterColumnDataType
private AlterTableAlterColumn parseAlterTableAlterColumnDataType(Schema schema, java.lang.String tableName, java.lang.String columnName, boolean ifTableExists, boolean ifExists)
-
parseAlterTableAddColumn
private AlterTableAlterColumn parseAlterTableAddColumn(java.lang.String tableName, Schema schema, boolean ifTableExists)
-
parseAlterColumnUsingIf
private void parseAlterColumnUsingIf(AlterTableAlterColumn command)
-
parseAction
private ConstraintActionType parseAction()
-
parseCascadeOrRestrict
private ConstraintActionType parseCascadeOrRestrict()
-
parseTableConstraintIf
private DefineCommand parseTableConstraintIf(java.lang.String tableName, Schema schema, boolean ifTableExists)
-
parseReferences
private void parseReferences(AlterTableAddConstraint command, Schema schema, java.lang.String tableName)
-
parseCreateLinkedTable
private CreateLinkedTable parseCreateLinkedTable(boolean temp, boolean globalTemp, boolean force)
-
parseCreateTable
private CreateTable parseCreateTable(boolean temp, boolean globalTemp, boolean persistIndexes)
-
parseTableColumnDefinition
private void parseTableColumnDefinition(CommandWithColumns command, Schema schema, java.lang.String tableName, boolean forCreateTable)
-
newPrimaryKeyConstraintCommand
public static AlterTableAddConstraint newPrimaryKeyConstraintCommand(SessionLocal session, Schema schema, java.lang.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, java.lang.String tableName, Column column)
-
parseCreateTableMySQLTableOptions
private void parseCreateTableMySQLTableOptions(CreateTable command)
-
readMySQLCharset
private void readMySQLCharset()
-
parseNotNullConstraint
private Parser.NullConstraintType parseNotNullConstraint(Parser.NullConstraintType nullConstraint)
-
parseNotNullConstraint
private Parser.NullConstraintType parseNotNullConstraint()
-
parseNotNullCompatibility
private Parser.NullConstraintType parseNotNullCompatibility(Parser.NullConstraintType nullConstraint)
-
parseCreateSynonym
private CreateSynonym parseCreateSynonym(boolean orReplace)
-
getCompareType
private static int getCompareType(int tokenType)
-
quoteIdentifier
public static java.lang.String quoteIdentifier(java.lang.String s, int sqlFlags)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
public void setSuppliedParameters(java.util.ArrayList<Parameter> suppliedParameters)
-
parseExpression
public Expression parseExpression(java.lang.String sql)
Parse a SQL code snippet that represents an expression.- Parameters:
sql- the code snippet- Returns:
- the expression object
-
parseDomainConstraintExpression
public Expression parseDomainConstraintExpression(java.lang.String sql)
Parse a SQL code snippet that represents an expression for a domain constraint.- Parameters:
sql- the code snippet- Returns:
- the expression object
-
parseTableName
public Table parseTableName(java.lang.String sql)
Parse a SQL code snippet that represents a table name.- Parameters:
sql- the code snippet- Returns:
- the table object
-
parseColumnList
public java.lang.Object parseColumnList(java.lang.String sql, int offset)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
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-