public class MySqlAntlrDdlParser extends AntlrDdlParser<MySqlLexer,MySqlParser>
Modifier and Type | Field and Description |
---|---|
private ConcurrentMap<String,String> |
charsetNameForDatabase |
private MySqlValueConverters |
converters |
private Tables.TableFilter |
tableFilter |
databaseTables, dataTypeResolver
ddlChanges, logger, skipViews, systemVariables
Modifier | Constructor and Description |
---|---|
|
MySqlAntlrDdlParser() |
protected |
MySqlAntlrDdlParser(boolean throwErrorsFromTreeWalk,
boolean includeViews,
MySqlValueConverters converters,
Tables.TableFilter tableFilter) |
|
MySqlAntlrDdlParser(MySqlValueConverters converters) |
|
MySqlAntlrDdlParser(MySqlValueConverters converters,
Tables.TableFilter tableFilter) |
Modifier and Type | Method and Description |
---|---|
ConcurrentMap<String,String> |
charsetNameForDatabase()
Provides a map of default character sets by database/schema name.
|
protected MySqlLexer |
createNewLexerInstance(org.antlr.v4.runtime.CharStream charStreams) |
protected MySqlParser |
createNewParserInstance(org.antlr.v4.runtime.CommonTokenStream commonTokenStream) |
protected SystemVariables |
createNewSystemVariablesInstance() |
protected AntlrDdlParserListener |
createParseTreeWalkerListener() |
String |
currentDatabaseCharset()
Get the name of the character set for the current database, via the "character_set_database" system property.
|
static String |
escapeOption(String option) |
static List<String> |
extractEnumAndSetOptions(List<String> enumValues)
Extracts the enumeration values properly parsed and escaped.
|
MySqlValueConverters |
getConverters() |
Tables.TableFilter |
getTableFilter() |
protected DataTypeResolver |
initializeDataTypeResolver() |
protected boolean |
isGrammarInUpperCase() |
String |
parseName(MySqlParser.UidContext uidContext)
Parse a name from
MySqlParser.UidContext . |
void |
parsePrimaryIndexColumnNames(MySqlParser.IndexColumnNamesContext indexColumnNamesContext,
TableEditor tableEditor)
Parse column names for primary index from
MySqlParser.IndexColumnNamesContext . |
TableId |
parseQualifiedTableId(MySqlParser.FullIdContext fullIdContext)
Parse qualified table identification from
MySqlParser.FullIdContext . |
protected org.antlr.v4.runtime.tree.ParseTree |
parseTree(MySqlParser parser) |
void |
runIfNotNull(Runnable function,
Object... nullableObjects)
Runs a function if all given object are not null.
|
databaseTables, dataTypeResolver, debugParsed, debugSkipped, getParsingExceptionsFromWalker, getText, getText, parse, signalAlterDatabase, signalAlterTable, signalAlterView, signalCreateDatabase, signalCreateIndex, signalCreateTable, signalCreateView, signalDropDatabase, signalDropIndex, signalDropTable, signalDropTable, signalDropView, signalSetVariable, signalTruncateTable, signalUseDatabase, skipViews, withoutQuotes
accumulateParsingFailure, accumulateParsingFailure, commentParsed, createColumnFromConstant, currentSchema, debugParsed, debugSkipped, getDdlChanges, isQuote, isQuoted, removeLineFeeds, resolveTableId, setCurrentDatabase, setCurrentSchema, setTypeInfoForConstant, signalAlterDatabase, signalAlterTable, signalAlterView, signalChangeEvent, signalCreateDatabase, signalCreateIndex, signalCreateTable, signalCreateView, signalDropDatabase, signalDropIndex, signalDropView, signalSetVariable, signalTruncateTable, signalUseDatabase, skipComments, systemVariables, terminator, withoutQuotes
private final ConcurrentMap<String,String> charsetNameForDatabase
private final MySqlValueConverters converters
private final Tables.TableFilter tableFilter
public MySqlAntlrDdlParser()
public MySqlAntlrDdlParser(MySqlValueConverters converters)
public MySqlAntlrDdlParser(MySqlValueConverters converters, Tables.TableFilter tableFilter)
protected MySqlAntlrDdlParser(boolean throwErrorsFromTreeWalk, boolean includeViews, MySqlValueConverters converters, Tables.TableFilter tableFilter)
protected org.antlr.v4.runtime.tree.ParseTree parseTree(MySqlParser parser)
parseTree
in class AntlrDdlParser<MySqlLexer,MySqlParser>
protected AntlrDdlParserListener createParseTreeWalkerListener()
createParseTreeWalkerListener
in class AntlrDdlParser<MySqlLexer,MySqlParser>
protected MySqlLexer createNewLexerInstance(org.antlr.v4.runtime.CharStream charStreams)
createNewLexerInstance
in class AntlrDdlParser<MySqlLexer,MySqlParser>
protected MySqlParser createNewParserInstance(org.antlr.v4.runtime.CommonTokenStream commonTokenStream)
createNewParserInstance
in class AntlrDdlParser<MySqlLexer,MySqlParser>
protected SystemVariables createNewSystemVariablesInstance()
createNewSystemVariablesInstance
in class AbstractDdlParser
protected boolean isGrammarInUpperCase()
isGrammarInUpperCase
in class AntlrDdlParser<MySqlLexer,MySqlParser>
protected DataTypeResolver initializeDataTypeResolver()
initializeDataTypeResolver
in class AntlrDdlParser<MySqlLexer,MySqlParser>
public ConcurrentMap<String,String> charsetNameForDatabase()
public String parseName(MySqlParser.UidContext uidContext)
MySqlParser.UidContext
.uidContext
- uid contextpublic TableId parseQualifiedTableId(MySqlParser.FullIdContext fullIdContext)
MySqlParser.FullIdContext
.
AbstractDdlParser.currentSchema()
will be used if definition of schema name is not part of the context.fullIdContext
- full id context.TableId
.public void parsePrimaryIndexColumnNames(MySqlParser.IndexColumnNamesContext indexColumnNamesContext, TableEditor tableEditor)
MySqlParser.IndexColumnNamesContext
. This method will updates
column to be not optional and set primary key column names to table.indexColumnNamesContext
- primary key index column names context.tableEditor
- editor for table where primary key index is parsed.public String currentDatabaseCharset()
public void runIfNotNull(Runnable function, Object... nullableObjects)
function
- function to run; may not be nullnullableObjects
- object to be tested, if they are null.public static List<String> extractEnumAndSetOptions(List<String> enumValues)
enumValues
- the raw enumeration values from the parsed column definitionENUM
or SET
; never null.public MySqlValueConverters getConverters()
public Tables.TableFilter getTableFilter()
Copyright © 2020 JBoss by Red Hat. All rights reserved.