@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 Pattern |
ENUM_AND_SET_LITERALS
Pattern to grab the list of single-quoted options within a SET or ENUM type definition.
|
private static Pattern |
ENUM_AND_SET_OPTIONS
Pattern to extract the option characters from the comma-separated list of single-quoted options.
|
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.
|
addListener, canConsumeJoin, canConsumeJoinCondition, consumeDoubleQuotedString, consumeQuotedString, consumeRemainingStatement, consumeSingleQuotedString, consumeStatement, createColumnFromConstant, currentSchema, debugParsed, debugSkipped, determineTokenType, determineTypeNameForConstant, determineTypeNameForConstant, determineTypeNameForConstant, determineTypeNameForConstant, isNextTokenQuotedIdentifier, parse, parse, 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 Pattern ENUM_AND_SET_LITERALS
private static final Pattern ENUM_AND_SET_OPTIONS
private 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)
public static 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 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 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 sequentially(Consumer<TokenStream.Marker>... functions)
functions - the functionsprotected void parseDefaultClause(TokenStream.Marker start)
Copyright © 2016 JBoss by Red Hat. All rights reserved.