@NotThreadSafe public class MySqlDdlParser extends DdlParser
See the MySQL SQL Syntax documentation for the grammar supported by this parser.
DdlParser.TokenSet| Modifier and Type | Field and Description |
|---|---|
private ConcurrentMap<String,String> |
charsetNameForDatabase |
private static String |
SERVER_CHARSET_NAME
The system variable name for the name of the character set that the server uses by default.
|
private MySqlSystemVariables |
systemVariables |
databaseTables, dataTypeParser, logger, skipViews, tokens| Constructor and Description |
|---|
MySqlDdlParser()
Create a new DDL parser for MySQL that does not include view definitions.
|
MySqlDdlParser(boolean includeViews)
Create a new DDL parser for MySQL.
|
accumulateParsingFailure, accumulateParsingFailure, addListener, canConsumeJoin, canConsumeJoinCondition, consumeDoubleQuotedString, consumeQuotedString, consumeRemainingStatement, consumeSingleQuotedString, consumeStatement, createColumnFromConstant, currentSchema, debugParsed, debugSkipped, determineTokenType, determineTypeNameForConstant, determineTypeNameForConstant, determineTypeNameForConstant, determineTypeNameForConstant, isNextTokenQuotedIdentifier, parse, parse, parseBitFieldLiteral, parseCharacterLiteral, parseCharacterSetName, parseColumnName, parseColumnsInSelectClause, parseComment, parseDateLiteral, parseLiteral, parseNumericLiteral, parseQualifiedTableName, parseQualifiedTableNames, parseSchemaQualifiedName, parseSelectFromClause, parseTimeLiteral, parseTimestampLiteral, parseUnknownStatement, parsingFailed, parsingFailed, parsingFailed, removeListener, removeListeners, resolveTableId, setCurrentSchema, setTypeInfoForConstant, signalAlterDatabase, signalAlterTable, signalAlterTable, signalAlterView, signalCreateDatabase, signalCreateIndex, signalCreateTable, signalCreateView, signalDropDatabase, signalDropIndex, signalDropTable, signalDropTable, signalDropView, signalDropView, signalEvent, skipComments, statement, terminatorprivate static final String SERVER_CHARSET_NAME
private final MySqlSystemVariables systemVariables
private final ConcurrentMap<String,String> charsetNameForDatabase
public MySqlDdlParser()
public MySqlDdlParser(boolean includeViews)
includeViews - true if view definitions should be included, or false if they should be skippedprotected MySqlSystemVariables systemVariables()
protected void initializeDataTypes(DataTypeParser dataTypes)
initializeDataTypes in class DdlParserprotected void initializeKeywords(DdlParser.TokenSet keywords)
initializeKeywords in class DdlParserprotected void initializeStatementStarts(DdlParser.TokenSet statementStartTokens)
initializeStatementStarts in class DdlParserprotected void parseNextStatement(TokenStream.Marker marker)
parseNextStatement in class DdlParserprotected void parseSet(TokenStream.Marker start)
protected void parseSetVariable(TokenStream.Marker start, AtomicReference<MySqlSystemVariables.Scope> scope)
protected String parseVariableName()
protected String parseVariableValue()
protected void parseCreate(TokenStream.Marker marker)
parseCreate in class DdlParserprotected void parseCreateDatabase(TokenStream.Marker start)
protected void parseAlterDatabase(TokenStream.Marker start)
protected void parseDropDatabase(TokenStream.Marker start)
protected void parseDatabaseOptions(TokenStream.Marker start, String dbName)
protected void parseCreateTable(TokenStream.Marker start)
protected void parseTableOptions(TokenStream.Marker start, TableEditor table)
protected boolean parseTableOption(TokenStream.Marker start, TableEditor table)
protected void parsePartitionOptions(TokenStream.Marker start, TableEditor table)
protected void parsePartitionDefinition(TokenStream.Marker start, TableEditor table)
protected void parseSubpartitionDefinition(TokenStream.Marker start, TableEditor table)
protected void parseAsSelectStatement(TokenStream.Marker start, TableEditor table)
protected void parseCreateDefinitionList(TokenStream.Marker start, TableEditor table)
protected void parseCreateDefinition(TokenStream.Marker start, TableEditor table)
protected Column parseCreateColumn(TokenStream.Marker start, TableEditor table, String columnName, String newColumnName)
public static List<String> parseSetAndEnumOptions(String typeExpression)
ENUM or SET data type expression to extract the character options, where the index(es) appearing
in the ENUM or SET values can be used to identify the acceptable characters.typeExpression - the data type expressionENUM or SET; never nullprotected void parseColumnDefinition(TokenStream.Marker start, String columnName, TokenStream tokens, TableEditor table, ColumnEditor column, AtomicBoolean isPrimaryKey)
protected String parseDomainName(TokenStream.Marker start)
protected List<String> parseIndexColumnNames(TokenStream.Marker start)
protected void parseIndexType(TokenStream.Marker start)
protected void parseIndexOptions(TokenStream.Marker start)
protected void parseReferenceDefinition(TokenStream.Marker start)
protected void parseReferenceOption(TokenStream.Marker start)
protected void parseCreateView(TokenStream.Marker start)
protected void parseCreateIndex(TokenStream.Marker start)
protected void parseDefiner(TokenStream.Marker start)
protected void parseCreateProcedure(TokenStream.Marker start)
protected void parseCreateTrigger(TokenStream.Marker start)
protected void parseCreateEvent(TokenStream.Marker start)
protected void parseCreateUnknown(TokenStream.Marker start)
protected void parseAlter(TokenStream.Marker marker)
parseAlter in class DdlParserprotected void parseAlterTable(TokenStream.Marker start)
protected void parseAlterSpecificationList(TokenStream.Marker start, TableEditor table, Consumer<TableId> newTableName)
protected void parseAlterSpecification(TokenStream.Marker start, TableEditor table, Consumer<TableId> newTableName)
protected void parseAlterUnknown(TokenStream.Marker start)
protected void parseDrop(TokenStream.Marker marker)
protected void parseDropTable(TokenStream.Marker start)
protected void parseDropView(TokenStream.Marker start)
protected void parseDropIndex(TokenStream.Marker start)
protected void parseDropUnknown(TokenStream.Marker start)
protected void parseRename(TokenStream.Marker start)
protected void parseRenameTable(TokenStream.Marker start)
protected void parseUse(TokenStream.Marker marker)
protected String currentDatabaseCharset()
protected List<String> parseColumnNameList(TokenStream.Marker start)
protected String parseColumnName()
protected void parsePartitionNames(TokenStream.Marker start)
protected void consumeCommaSeparatedValueList(TokenStream.Marker start)
protected void consumeValueList(TokenStream.Marker start)
protected void consumeExpression(TokenStream.Marker start)
start - the start of the statementprotected void consumeBeginStatement(TokenStream.Marker start)
BEGIN...END block that appears next in the token stream. This handles nested
BEGIN...END blocks,
labeled statements,
and control blocks.consumeBeginStatement in class DdlParserstart - the marker at which the statement was begunprotected String getPrecedingBlockLabel()
NoSuchElementException - if there is no previous tokenprotected void sequentially(Consumer<TokenStream.Marker>... functions)
functions - the functionsprotected void parseDefaultClause(TokenStream.Marker start)
DEFAULT clause. Currently, this method does not capture the default in any way,
since that will likely require parsing the default clause into a useful value (e.g., dealing with hexadecimals,
bit-set literals, date-time literals, etc.).start - the marker at the beginning of the clauseprotected void parseOnUpdateOrDelete(TokenStream.Marker start)
private void parseCurrentTimestampOrNow()
Copyright © 2017 JBoss by Red Hat. All rights reserved.