public class DerbyDdlParser extends StandardDdlParser implements DerbyDdlConstants, DerbyDdlConstants.DerbyStatementStartPhrases
DerbyDdlConstants.DerbyDataTypes, DerbyDdlConstants.DerbyStatementStartPhrases
DdlConstants.AstNodeNames, DdlConstants.DataTypes, DdlConstants.DropBehavior, DdlConstants.MatchType, DdlConstants.Problems, DdlConstants.ReferencialAction, DdlConstants.StatementStartPhrases
Modifier and Type | Field and Description |
---|---|
protected static List<String[]> |
derbyDataTypeStrings |
static String |
ID
The Derby parser identifier.
|
CUSTOM_KEYWORDS
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, LS_BRACE, MEGA, MISSING_TERMINATOR_NODE_LITERAL, NOT, NULL, OFF, ON, PERIOD, PRIMARY, PRIMARY_KEY, R_PAREN, REVOKE, RS_BRACE, SCHEMA, SELECT, SEMICOLON, SET, SPACE, SQL_92_RESERVED_WORDS, TABLE, UNIQUE, UPDATE, VIEW
ALTER_PHRASES, CREATE_PHRASES, DROP_PHRASES, MISC_PHRASES, SET_PHRASES, STMT_CREATE_FUNCTION, STMT_CREATE_INDEX, STMT_CREATE_PROCEDURE, STMT_CREATE_ROLE, STMT_CREATE_SYNONYM, STMT_CREATE_TRIGGER, STMT_CREATE_UNIQUE_INDEX, STMT_DECLARE_GLOBAL_TEMP_TABLE, STMT_DROP_FUNCTION, STMT_DROP_INDEX, STMT_DROP_PROCEDURE, STMT_DROP_ROLE, STMT_DROP_SYNONYM, STMT_DROP_TRIGGER, STMT_LOCK_TABLE, STMT_RENAME_INDEX, STMT_RENAME_TABLE, STMT_SET_CURRENT_ISOLATION, STMT_SET_CURRENT_SCHEMA, STMT_SET_CURRENT_SQLID, STMT_SET_ISOLATION, STMT_SET_ROLE, STMT_SET_SCHEMA, VALID_SCHEMA_CHILD_STMTS
SQL_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 |
---|
DerbyDdlParser() |
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 |
parseAlterTableStatement(DdlTokenStream tokens,
AstNode parentNode)
Parses DDL ALTER TABLE
AstNode based on SQL 92 specifications. |
protected void |
parseColumnDefinition(DdlTokenStream tokens,
AstNode tableNode,
boolean isAlterTable)
Utility method to parse the actual column definition.
|
protected void |
parseColumns(DdlTokenStream tokens,
AstNode tableNode,
boolean isAlterTable)
Utility method designed to parse columns within an ALTER TABLE ADD statement.
|
protected AstNode |
parseCreateFunction(DdlTokenStream tokens,
AstNode parentNode)
Parses DDL CREATE FUNCTION statement
|
protected AstNode |
parseCreateIndex(DdlTokenStream tokens,
AstNode parentNode)
Parses DDL CREATE INDEX
|
protected AstNode |
parseCreateProcedure(DdlTokenStream tokens,
AstNode parentNode)
Parses DDL CREATE PROCEDURE statement
|
protected AstNode |
parseCreateRole(DdlTokenStream tokens,
AstNode parentNode)
Parses DDL CREATE ROLE statement
|
protected AstNode |
parseCreateStatement(DdlTokenStream tokens,
AstNode parentNode)
Parses DDL CREATE statement based on SQL 92 specifications.
|
protected AstNode |
parseCustomStatement(DdlTokenStream tokens,
AstNode parentNode)
Catch-all method to parse unknown (not registered or handled by sub-classes) statements.
|
protected AstNode |
parseDropStatement(DdlTokenStream tokens,
AstNode parentNode)
Parses DDL DROP
AstNode based on SQL 92 specifications. |
protected void |
parseGrantPrivileges(DdlTokenStream tokens,
List<AstNode> privileges) |
protected AstNode |
parseGrantStatement(DdlTokenStream tokens,
AstNode parentNode)
Parses DDL GRANT statement
AstNode based on SQL 92 specifications. |
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, parseCollateClause, parseColumnConstraint, parseColumnNameList, parseColumnsAndConstraints, parseConstraintAttributes, parseCreateAssertionStatement, parseCreateCharacterSetStatement, parseCreateCollationStatement, parseCreateDomainStatement, parseCreateSchemaStatement, parseCreateTableOptions, parseCreateTableStatement, parseCreateTranslationStatement, parseCreateViewStatement, parseDefaultClause, parseIgnorableStatement, parseIgnorableStatement, parseInsertStatement, parseName, parseNameList, parseNextCreateTableOption, parseNextStatement, parseReferences, parseRevokeStatement, parseSetStatement, parseSingleTerminatedColumnDefinition, parseStatement, parseTableConstraint, parseUntilCommaOrTerminator, parseUntilSemiColon, parseUntilTerminator, parseUntilTerminatorIgnoreEmbeddedStatements, postProcess, removeMissingTerminatorNodes, rewrite, score, setAsSchemaChildNode, setDatatypeParser, setDoUseTerminator, setRootNode, setTerminator, setTestMode, testPrint, unknownTerminatedNode
public static final String ID
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 StandardDdlParser
tokens
- the stream of tokensStandardDdlParser.initializeTokenStream(org.modeshape.sequencer.ddl.DdlTokenStream)
public String getId()
getId
in interface DdlParser
getId
in class StandardDdlParser
StandardDdlParser.getId()
protected String[] getValidSchemaChildTypes()
getValidSchemaChildTypes
in class StandardDdlParser
StandardDdlParser.getValidSchemaChildTypes()
protected AstNode parseCustomStatement(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
parseCustomStatement
in class StandardDdlParser
tokens
- the DdlTokenStream
representing the tokenized DDL content; may not be nullparentNode
- the parent AstNode
node; may not be nullAstNode
ParsingException
StandardDdlParser.parseCustomStatement(org.modeshape.sequencer.ddl.DdlTokenStream,
org.modeshape.sequencer.ddl.node.AstNode)
protected AstNode parseCreateStatement(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
parseCreateStatement
in class StandardDdlParser
tokens
- the DdlTokenStream
representing the tokenized DDL content; may not be nullparentNode
- the parent AstNode
node; may not be nullAstNode
ParsingException
StandardDdlParser.parseCreateStatement(org.modeshape.sequencer.ddl.DdlTokenStream,
org.modeshape.sequencer.ddl.node.AstNode)
protected AstNode parseCreateIndex(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
tokens
- the tokenized DdlTokenStream
of the DDL input content; may not be nullparentNode
- the parent AstNode
node; may not be nullParsingException
protected AstNode parseCreateFunction(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
tokens
- the tokenized DdlTokenStream
of the DDL input content; may not be nullparentNode
- the parent AstNode
node; may not be nullParsingException
protected AstNode parseCreateProcedure(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
tokens
- the tokenized DdlTokenStream
of the DDL input content; may not be nullparentNode
- the parent AstNode
node; may not be nullParsingException
protected AstNode parseCreateRole(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
tokens
- the tokenized DdlTokenStream
of the DDL input content; may not be nullparentNode
- the parent AstNode
node; may not be nullParsingException
protected AstNode parseDropStatement(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
AstNode
based on SQL 92 specifications.parseDropStatement
in class StandardDdlParser
tokens
- the DdlTokenStream
representing the tokenized DDL content; may not be nullparentNode
- the parent AstNode
node; may not be nullAstNode
ParsingException
StandardDdlParser.parseDropStatement(org.modeshape.sequencer.ddl.DdlTokenStream,
org.modeshape.sequencer.ddl.node.AstNode)
protected AstNode parseGrantStatement(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
AstNode
based on SQL 92 specifications. Syntax for tables GRANT privilege-type ON [TABLE] { table-Name | view-Name } TO grantees Syntax for routines
GRANT EXECUTE ON { FUNCTION | PROCEDURE } routine-designator TO grantees Syntax for roles GRANT roleName [ {, roleName }* ]
TO grantees privilege-types ALL PRIVILEGES | privilege-list privilege-list table-privilege {, table-privilege }*
table-privilege DELETE | INSERT | REFERENCES [column list] | SELECT [column list] | TRIGGER | UPDATE [column list] column
list ( column-identifier {, column-identifier}* ) GRANTparseGrantStatement
in class StandardDdlParser
tokens
- the DdlTokenStream
representing the tokenized DDL content; may not be nullparentNode
- the parent AstNode
node; may not be nullAstNode
ParsingException
StandardDdlParser.parseGrantStatement(org.modeshape.sequencer.ddl.DdlTokenStream,
org.modeshape.sequencer.ddl.node.AstNode)
protected void parseGrantPrivileges(DdlTokenStream tokens, List<AstNode> privileges) throws ParsingException
parseGrantPrivileges
in class StandardDdlParser
ParsingException
StandardDdlParser.parseGrantPrivileges(org.modeshape.sequencer.ddl.DdlTokenStream,
java.util.List)
protected AstNode parseAlterTableStatement(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
AstNode
based on SQL 92 specifications.parseAlterTableStatement
in class StandardDdlParser
tokens
- the DdlTokenStream
representing the tokenized DDL content; may not be nullparentNode
- the parent AstNode
node; may not be nullAstNode
ParsingException
StandardDdlParser.parseAlterTableStatement(org.modeshape.sequencer.ddl.DdlTokenStream,
org.modeshape.sequencer.ddl.node.AstNode)
protected void parseColumnDefinition(DdlTokenStream tokens, AstNode tableNode, boolean isAlterTable) throws ParsingException
parseColumnDefinition
in class StandardDdlParser
tokens
- the DdlTokenStream
representing the tokenized DDL content; may not be nullisAlterTable
- true if in-line constraint is part of add column in alter table statementParsingException
StandardDdlParser.parseColumnDefinition(org.modeshape.sequencer.ddl.DdlTokenStream,
org.modeshape.sequencer.ddl.node.AstNode, boolean)
protected void parseColumns(DdlTokenStream tokens, AstNode tableNode, boolean isAlterTable) throws ParsingException
tokens
- the tokenized DdlTokenStream
of the DDL input content; may not be nulltableNode
- isAlterTable
- ParsingException
protected List<String> getCustomDataTypeStartWords()
getCustomDataTypeStartWords
in class StandardDdlParser
StandardDdlParser.getDataTypeStartWords()
Copyright © 2008–2016 JBoss, a division of Red Hat. All rights reserved.