@NotThreadSafe public class MySqlDdlParser extends LegacyDdlParser
See the MySQL SQL Syntax documentation for the grammar supported by this parser.
LegacyDdlParser.TokenSet| Modifier and Type | Field and Description |
|---|---|
private ConcurrentMap<String,String> |
charsetNameForDatabase |
private MySqlValueConverters |
converters |
private MySqlDefaultValuePreConverter |
defaultValuePreConverter |
private static String |
SERVER_CHARSET_NAME
The system variable name for the name of the character set that the server uses by default.
|
databaseTables, dataTypeParser, logger, tokensddlChanges, skipViews, systemVariables| Modifier | 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.
|
protected |
MySqlDdlParser(boolean includeViews,
MySqlValueConverters converters) |
addListener, canConsumeJoin, canConsumeJoinCondition, consumeDoubleQuotedString, consumeQuotedString, consumeRemainingStatement, consumeSingleQuotedString, consumeStatement, 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, signalAlterDatabase, signalAlterTable, signalAlterView, signalChangeEvent, signalCreateDatabase, signalCreateIndex, signalCreateTable, signalCreateView, signalDropDatabase, signalDropIndex, signalDropTable, signalDropView, statementaccumulateParsingFailure, accumulateParsingFailure, commentParsed, createColumnFromConstant, currentSchema, debugParsed, debugSkipped, getDdlChanges, removeLineFeeds, resolveTableId, setCurrentDatabase, setCurrentSchema, setTypeInfoForConstant, signalAlterDatabase, signalAlterTable, signalAlterView, signalCreateDatabase, signalCreateIndex, signalCreateTable, signalCreateView, signalDropDatabase, signalDropIndex, signalDropTable, signalDropView, signalSetVariable, signalTruncateTable, skipComments, systemVariables, terminator, withoutQuotesclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetDdlChanges, setCurrentDatabase, setCurrentSchema, systemVariables, terminatorprivate static final String SERVER_CHARSET_NAME
private final ConcurrentMap<String,String> charsetNameForDatabase
private MySqlValueConverters converters
private final MySqlDefaultValuePreConverter defaultValuePreConverter
public MySqlDdlParser()
public MySqlDdlParser(boolean includeViews)
includeViews - true if view definitions should be included, or false if they should be skippedprotected MySqlDdlParser(boolean includeViews,
MySqlValueConverters converters)
protected SystemVariables createNewSystemVariablesInstance()
createNewSystemVariablesInstance in class LegacyDdlParserprotected void initializeDataTypes(DataTypeParser dataTypes)
initializeDataTypes in class LegacyDdlParserprotected void initializeKeywords(LegacyDdlParser.TokenSet keywords)
initializeKeywords in class LegacyDdlParserprotected void initializeStatementStarts(LegacyDdlParser.TokenSet statementStartTokens)
initializeStatementStarts in class LegacyDdlParserprotected void parseNextStatement(TokenStream.Marker marker)
parseNextStatement in class LegacyDdlParserprotected void parseSet(TokenStream.Marker start)
protected void parseSetVariable(TokenStream.Marker start, AtomicReference<MySqlSystemVariables.MySqlScope> scope)
protected String parseVariableName()
protected String parseVariableValue()
protected void parseCreate(TokenStream.Marker marker)
parseCreate in class LegacyDdlParserprotected 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, boolean isAlterStatement)
isAlterStatement - whether this is an ALTER TABLE statement or not (i.e. CREATE TABLE)protected Column parseCreateColumn(TokenStream.Marker start, TableEditor table, String columnName, String newColumnName)
private void convertDefaultValueToSchemaType(ColumnEditor columnEditor)
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 LegacyDdlParserprotected 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)
parseDrop in class LegacyDdlParserprotected 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 LegacyDdlParserstart - 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 parseDefaultClause(TokenStream.Marker start, ColumnEditor column)
DEFAULT clause. Add default value in column;start - the marker at the beginning of the clausecolumn - column editorprotected void parseOnUpdateOrDelete(TokenStream.Marker start)
private void parseCurrentTimestampOrNow()
Copyright © 2018 JBoss by Red Hat. All rights reserved.