public final class TeiidDdlParser extends StandardDdlParser implements TeiidDdlConstants
TeiidDdlConstants.DdlElement, TeiidDdlConstants.DdlStatement, TeiidDdlConstants.SchemaElementType, TeiidDdlConstants.TeiidDataType, TeiidDdlConstants.TeiidFutureReserveWord, TeiidDdlConstants.TeiidNonReservedWord, TeiidDdlConstants.TeiidReservedWordDdlConstants.AstNodeNames, DdlConstants.DataTypes, DdlConstants.DropBehavior, DdlConstants.MatchType, DdlConstants.Problems, DdlConstants.ReferencialAction, DdlConstants.StatementStartPhrases| Modifier and Type | Field and Description |
|---|---|
static String |
ID
The Teiid parser identifier.
|
ALTER, CHECK, COLUMN, COMMA, CONSTRAINT, CONSTRAINT_C, CONSTRAINT_FK, CONSTRAINT_PK, CONSTRAINT_UC, CREATE, DECLARE, DEFAULT_TERMINATOR, DELETE, DROP, FOREIGN, FOREIGN_KEY, GIGA, GRANT, INDEX, INSERT, KEY, KILO, L_PAREN, L_SQUOTE, MEGA, MISSING_TERMINATOR_NODE_LITERAL, NOT, NULL, OFF, ON, PERIOD, PRIMARY, PRIMARY_KEY, R_PAREN, REVOKE, SCHEMA, SELECT, SEMICOLON, SET, SPACE, SQL_92_RESERVED_WORDS, TABLE, UNIQUE, UPDATE, VIEWSQL_92_ALL_PHRASES, STMT_ALTER_DOMAIN, STMT_ALTER_TABLE, STMT_CREATE_ASSERTION, STMT_CREATE_CHARACTER_SET, STMT_CREATE_COLLATION, STMT_CREATE_DOMAIN, STMT_CREATE_GLOBAL_TEMPORARY_TABLE, STMT_CREATE_LOCAL_TEMPORARY_TABLE, STMT_CREATE_OR_REPLACE_VIEW, STMT_CREATE_SCHEMA, STMT_CREATE_TABLE, STMT_CREATE_TRANSLATION, STMT_CREATE_VIEW, STMT_DROP_ASSERTION, STMT_DROP_CHARACTER_SET, STMT_DROP_COLLATION, STMT_DROP_DOMAIN, STMT_DROP_SCHEMA, STMT_DROP_TABLE, STMT_DROP_TRANSLATION, STMT_DROP_VIEW, STMT_GRANT, STMT_INSERT_INTO, STMT_REVOKE, STMT_SET_DEFINE, VALID_SCHEMA_CHILD_TYPES| Constructor and Description |
|---|
TeiidDdlParser()
Constructs a Teiid DDL parser.
|
| Modifier and Type | Method and Description |
|---|---|
protected List<String> |
getCustomDataTypeStartWords()
Returns a list of custom data type start words which can be used to help identify a column definition sub-statement.
|
String |
getId()
Get the identifier for this parser.
|
protected String[] |
getValidSchemaChildTypes() |
protected void |
initializeTokenStream(DdlTokenStream tokens)
Method called by
StandardDdlParser.score(String, String, DdlParserScorer) and StandardDdlParser.parse(String, AstNode, Object) to initialize
the token stream, giving subclasses a chance to register
key words and statement start phrases. |
protected AstNode |
parseNextStatement(DdlTokenStream tokens,
AstNode parentNode)
Performs token match checks for initial statement type and delegates to specific parser methods.
|
void |
postProcess(AstNode rootNode)
Allows parsers to post process the
AstNode tree given the supplied root. |
addProblem, addProblem, areNextTokensCreateTableOptions, attachNewProblem, computeScore, consumeComment, consumeIdentifier, consumeParenBoundedTokens, doUseTerminator, equals, getCurrentMarkedPosition, getDatatypeParser, getDataTypeStartWords, getIdentifyingKeywords, getProblems, getRootNode, getStatementTypeName, getTableElementsString, getTerminator, handleUnknownToken, hashCode, integer, isColumnDefinitionStart, isComment, isMissingTerminatorNode, isTableConstraint, isTerminator, isTestMode, isValidSchemaChild, markEndOfStatement, markStartOfStatement, mergeNodes, missingTerminatorNode, nodeFactory, parse, parseAlterStatement, parseAlterTableStatement, parseCollateClause, parseColumnConstraint, parseColumnDefinition, parseColumnNameList, parseColumnsAndConstraints, parseConstraintAttributes, parseCreateAssertionStatement, parseCreateCharacterSetStatement, parseCreateCollationStatement, parseCreateDomainStatement, parseCreateSchemaStatement, parseCreateStatement, parseCreateTableOptions, parseCreateTableStatement, parseCreateTranslationStatement, parseCreateViewStatement, parseCustomStatement, parseDefaultClause, parseDropStatement, parseGrantPrivileges, parseGrantStatement, parseIgnorableStatement, parseIgnorableStatement, parseInsertStatement, parseName, parseNameList, parseNextCreateTableOption, parseReferences, parseRevokeStatement, parseSetStatement, parseSingleTerminatedColumnDefinition, parseStatement, parseTableConstraint, parseUntilCommaOrTerminator, parseUntilSemiColon, parseUntilTerminator, parseUntilTerminatorIgnoreEmbeddedStatements, removeMissingTerminatorNodes, rewrite, score, setAsSchemaChildNode, setDatatypeParser, setDoUseTerminator, setRootNode, setTerminator, setTestMode, testPrint, unknownTerminatedNodepublic static final String ID
protected List<String> getCustomDataTypeStartWords()
getCustomDataTypeStartWords in class StandardDdlParserStandardDdlParser.getCustomDataTypeStartWords()public String getId()
getId in interface DdlParsergetId in class StandardDdlParserStandardDdlParser.getId()protected String[] getValidSchemaChildTypes()
getValidSchemaChildTypes in class StandardDdlParserStandardDdlParser.getValidSchemaChildTypes()protected void initializeTokenStream(DdlTokenStream tokens)
StandardDdlParser.score(String, String, DdlParserScorer) and StandardDdlParser.parse(String, AstNode, Object) to initialize
the token stream, giving subclasses a chance to register
key words and statement start phrases.initializeTokenStream in class StandardDdlParsertokens - the stream of tokensStandardDdlParser.initializeTokenStream(org.modeshape.sequencer.ddl.DdlTokenStream)protected AstNode parseNextStatement(DdlTokenStream tokens, AstNode parentNode)
StandardDdlParser.parseCustomStatement() method is designed to allow for parsing db-specific statement types.parseNextStatement in class StandardDdlParsertokens - the tokenized DdlTokenStream of the DDL input content; may not be nullparentNode - the top level AstNode; may not be nullStandardDdlParser.parseNextStatement(org.modeshape.sequencer.ddl.DdlTokenStream,
org.modeshape.sequencer.ddl.node.AstNode)public void postProcess(AstNode rootNode)
AstNode tree given the supplied root.
Initial use-case would be to allow a second pass through the tree to resolve any table references (FK's) that were defined out of order
in the DDLpostProcess in interface DdlParserpostProcess in class StandardDdlParserrootNode - the top level AstNode; may not be nullDdlParser.postProcess(org.modeshape.sequencer.ddl.node.AstNode)Copyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.