public class PostgresDdlParser extends StandardDdlParser implements PostgresDdlConstants, PostgresDdlConstants.PostgresStatementStartPhrases
PostgresDdlConstants.PostgresDataTypes, PostgresDdlConstants.PostgresStatementStartPhrases
DdlConstants.AstNodeNames, DdlConstants.DataTypes, DdlConstants.DropBehavior, DdlConstants.MatchType, DdlConstants.Problems, DdlConstants.ReferencialAction, DdlConstants.StatementStartPhrases
Modifier and Type | Field and Description |
---|---|
static String |
ID
The Postress 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, 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, VIEW
ALTER_PHRASES, COMPLEX_STMT_TYPES, CREATE_PHRASES, DROP_PHRASES, MISC_PHRASES, SET_PHRASES, STMT_ABORT, STMT_ALTER_AGGREGATE, STMT_ALTER_CONVERSION, STMT_ALTER_DATABASE, STMT_ALTER_FOREIGN_DATA_WRAPPER, STMT_ALTER_FUNCTION, STMT_ALTER_GROUP, STMT_ALTER_INDEX, STMT_ALTER_LANGUAGE, STMT_ALTER_OPERATOR, STMT_ALTER_OPERATOR_CLASS, STMT_ALTER_OPERATOR_FAMILY, STMT_ALTER_PROCEDURAL_LANGUAGE, STMT_ALTER_ROLE, STMT_ALTER_SCHEMA, STMT_ALTER_SEQUENCE, STMT_ALTER_SERVER, STMT_ALTER_TABLESPACE, STMT_ALTER_TEXT_SEARCH, STMT_ALTER_TEXT_SEARCH_CONFIGURATION, STMT_ALTER_TEXT_SEARCH_DICTIONARY, STMT_ALTER_TEXT_SEARCH_PARSER, STMT_ALTER_TEXT_SEARCH_TEMPLATE, STMT_ALTER_TRIGGER, STMT_ALTER_TYPE, STMT_ALTER_USER, STMT_ALTER_USER_MAPPING, STMT_ALTER_VIEW, STMT_ANALYZE, STMT_CLUSTER, STMT_COMMENT_ON, STMT_COMMIT, STMT_COPY, STMT_CREATE_AGGREGATE, STMT_CREATE_CAST, STMT_CREATE_CONSTRAINT_TRIGGER, STMT_CREATE_CONVERSION, STMT_CREATE_DATABASE, STMT_CREATE_FOREIGN_DATA_WRAPPER, STMT_CREATE_FUNCTION, STMT_CREATE_GLOBAL_TEMP_TABLE, STMT_CREATE_GROUP, STMT_CREATE_INDEX, STMT_CREATE_LANGUAGE, STMT_CREATE_LOCAL_TEMP_TABLE, STMT_CREATE_OPERATOR, STMT_CREATE_OPERATOR_CLASS, STMT_CREATE_OPERATOR_FAMILY, STMT_CREATE_OR_REPLACE_FUNCTION, STMT_CREATE_OR_REPLACE_RULE, STMT_CREATE_PROCEDURAL_LANGUAGE, STMT_CREATE_ROLE, STMT_CREATE_RULE, STMT_CREATE_SEQUENCE, STMT_CREATE_SERVER, STMT_CREATE_TABLESPACE, STMT_CREATE_TEMP_SEQUENCE, STMT_CREATE_TEMP_TABLE, STMT_CREATE_TEMPORARY_SEQUENCE, STMT_CREATE_TEXT_SEARCH, STMT_CREATE_TEXT_SEARCH_CONFIGURATION, STMT_CREATE_TEXT_SEARCH_DICTIONARY, STMT_CREATE_TEXT_SEARCH_PARSER, STMT_CREATE_TEXT_SEARCH_TEMPLATE, STMT_CREATE_TRIGGER, STMT_CREATE_TRUSTED_PROCEDURAL_LANGUAGE, STMT_CREATE_TYPE, STMT_CREATE_UNIQUE_INDEX, STMT_CREATE_USER, STMT_CREATE_USER_MAPPING, STMT_DEALLOCATE, STMT_DEALLOCATE_PREPARE, STMT_DECLARE, STMT_DISCARD, STMT_DROP_AGGREGATE, STMT_DROP_CAST, STMT_DROP_CONSTRAINT_TRIGGER, STMT_DROP_CONVERSION, STMT_DROP_DATABASE, STMT_DROP_FOREIGN_DATA_WRAPPER, STMT_DROP_FUNCTION, STMT_DROP_GROUP, STMT_DROP_INDEX, STMT_DROP_LANGUAGE, STMT_DROP_OPERATOR, STMT_DROP_OPERATOR_CLASS, STMT_DROP_OPERATOR_FAMILY, STMT_DROP_OWNED_BY, STMT_DROP_PROCEDURAL_LANGUAGE, STMT_DROP_ROLE, STMT_DROP_RULE, STMT_DROP_SEQUENCE, STMT_DROP_SERVER, STMT_DROP_TABLESPACE, STMT_DROP_TEXT_SEARCH, STMT_DROP_TEXT_SEARCH_CONFIGURATION, STMT_DROP_TEXT_SEARCH_DICTIONARY, STMT_DROP_TEXT_SEARCH_PARSER, STMT_DROP_TEXT_SEARCH_TEMPLATE, STMT_DROP_TRIGGER, STMT_DROP_TYPE, STMT_DROP_USER, STMT_DROP_USER_MAPPING, STMT_EXPLAIN, STMT_EXPLAIN_ANALYZE, STMT_FETCH, STMT_LISTEN, STMT_LOAD, STMT_LOCK_TABLE, STMT_MOVE, STMT_NOTIFY, STMT_PREPARE, STMT_PREPARE_TRANSATION, STMT_REASSIGN_OWNED, STMT_REINDEX, STMT_RELEASE_SAVEPOINT, STMT_REVOKE, STMT_ROLLBACK, STMT_ROLLBACK_PREPARED, STMT_ROLLBACK_TO_SAVEPOINT, STMT_SELECT_INTO, STMT_SET_CONSTRAINTS, STMT_SET_ROLE, STMT_SET_SESSION_AUTHORIZATION, STMT_SET_TRANSACTION, STMT_SHOW, STMT_TRUNCATE, STMT_UNLISTEN, STMT_VACUUM, 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 |
---|
PostgresDdlParser() |
Modifier and Type | Method and Description |
---|---|
protected boolean |
areNextTokensCreateTableOptions(DdlTokenStream tokens) |
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 |
parseAlterStatement(DdlTokenStream tokens,
AstNode parentNode)
Parses DDL ALTER statement based on SQL 92 specifications.
|
protected AstNode |
parseAlterTableStatement(DdlTokenStream tokens,
AstNode parentNode)
Parses DDL ALTER TABLE
AstNode based on SQL 92 specifications. |
protected void |
parseColumns(DdlTokenStream tokens,
AstNode tableNode,
boolean isAlterTable)
Utility method designed to parse columns within an ALTER TABLE ADD statement.
|
protected AstNode |
parseCreateSchemaStatement(DdlTokenStream tokens,
AstNode parentNode)
Currently, only CREATE TABLE, CREATE VIEW, CREATE INDEX, CREATE SEQUENCE, CREATE TRIGGER and GRANT are accepted as clauses
within CREATE SCHEMA.
|
protected AstNode |
parseCreateStatement(DdlTokenStream tokens,
AstNode parentNode)
Parses DDL CREATE statement based on SQL 92 specifications.
|
protected AstNode |
parseCreateTableStatement(DdlTokenStream tokens,
AstNode parentNode)
Parses DDL CREATE TABLE
AstNode based on SQL 92 specifications. |
protected AstNode |
parseCreateViewStatement(DdlTokenStream tokens,
AstNode parentNode)
Parses DDL CREATE VIEW
AstNode basedregisterStatementStartPhrase 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 boolean |
parseDefaultClause(DdlTokenStream tokens,
AstNode columnNode)
Parses the default clause for a column and sets appropriate properties on the column node.
|
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. |
protected void |
parseNextCreateTableOption(DdlTokenStream tokens,
AstNode parentNode) |
protected AstNode |
parseSetStatement(DdlTokenStream tokens,
AstNode parentNode)
Parses DDL SET
AstNode based on SQL 92 specifications. |
protected void |
rewrite(DdlTokenStream tokens,
AstNode rootNode) |
addProblem, addProblem, 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, parseCollateClause, parseColumnConstraint, parseColumnDefinition, parseColumnNameList, parseColumnsAndConstraints, parseConstraintAttributes, parseCreateAssertionStatement, parseCreateCharacterSetStatement, parseCreateCollationStatement, parseCreateDomainStatement, parseCreateTableOptions, parseCreateTranslationStatement, parseIgnorableStatement, parseIgnorableStatement, parseInsertStatement, parseName, parseNameList, parseNextStatement, parseReferences, parseRevokeStatement, parseSingleTerminatedColumnDefinition, parseStatement, parseTableConstraint, parseUntilCommaOrTerminator, parseUntilSemiColon, parseUntilTerminator, parseUntilTerminatorIgnoreEmbeddedStatements, postProcess, removeMissingTerminatorNodes, score, setAsSchemaChildNode, setDatatypeParser, setDoUseTerminator, setRootNode, setTerminator, setTestMode, testPrint, unknownTerminatedNode
public static final String ID
public String getId()
StandardDdlParser
getId
in interface DdlParser
getId
in class StandardDdlParser
DdlParser.getId()
protected void initializeTokenStream(DdlTokenStream tokens)
StandardDdlParser
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 tokensprotected void rewrite(DdlTokenStream tokens, AstNode rootNode)
rewrite
in class StandardDdlParser
protected AstNode parseAlterStatement(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
StandardDdlParser
parseAlterStatement
in class StandardDdlParser
tokens
- the DdlTokenStream
representing the tokenized DDL content; may not be nullparentNode
- the parent AstNode
node; may not be nullAstNode
ParsingException
protected AstNode parseAlterTableStatement(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
StandardDdlParser
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
protected AstNode parseCreateSchemaStatement(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
AstNode
based on SQL 92 specifications. Initial implementation here does not parse the
statement in detail.parseCreateSchemaStatement
in class StandardDdlParser
tokens
- the DdlTokenStream
representing the tokenized DDL content; may not be nullparentNode
- the parent AstNode
node; may not be nullParsingException
StandardDdlParser.parseCreateSchemaStatement(org.modeshape.sequencer.ddl.DdlTokenStream,
org.modeshape.sequencer.ddl.node.AstNode)
protected AstNode parseCreateStatement(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
StandardDdlParser
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
protected AstNode parseCreateTableStatement(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
StandardDdlParser
AstNode
based on SQL 92 specifications.parseCreateTableStatement
in class StandardDdlParser
tokens
- the DdlTokenStream
representing the tokenized DDL content; may not be nullparentNode
- the parent AstNode
node; may not be nullAstNode
ParsingException
protected void parseNextCreateTableOption(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
parseNextCreateTableOption
in class StandardDdlParser
ParsingException
protected boolean areNextTokensCreateTableOptions(DdlTokenStream tokens) throws ParsingException
areNextTokensCreateTableOptions
in class StandardDdlParser
ParsingException
protected AstNode parseCreateViewStatement(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
StandardDdlParser
AstNode
basedregisterStatementStartPhrase on SQL 92 specifications. Initial implementation
here does not parse the statement in detail.parseCreateViewStatement
in class StandardDdlParser
tokens
- the DdlTokenStream
representing the tokenized DDL content; may not be nullparentNode
- the parent AstNode
node; may not be nullParsingException
protected boolean parseDefaultClause(DdlTokenStream tokens, AstNode columnNode)
StandardDdlParser
parseDefaultClause
in class StandardDdlParser
tokens
- the DdlTokenStream
representing the tokenized DDL content; may not be nullcolumnNode
- the column node which may contain a default clause; may not be nullprotected AstNode parseCustomStatement(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
StandardDdlParser
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
protected AstNode parseDropStatement(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
StandardDdlParser
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
protected AstNode parseGrantStatement(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
AstNode
based on SQL 92 specifications.parseGrantStatement
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 parseSetStatement(DdlTokenStream tokens, AstNode parentNode) throws ParsingException
StandardDdlParser
AstNode
based on SQL 92 specifications.parseSetStatement
in class StandardDdlParser
tokens
- the DdlTokenStream
representing the tokenized DDL content; may not be nullparentNode
- the parent AstNode
node; may not be nullAstNode
ParsingException
protected void parseColumns(DdlTokenStream tokens, AstNode tableNode, boolean isAlterTable) throws ParsingException
tokens
- the tokenized DdlTokenStream
of the DDL input content; may not be nulltableNode
- the parent AstNode
node; may not be nullisAlterTable
- ParsingException
protected String[] getValidSchemaChildTypes()
getValidSchemaChildTypes
in class StandardDdlParser
StandardDdlParser.getValidSchemaChildTypes()
protected List<String> getCustomDataTypeStartWords()
getCustomDataTypeStartWords
in class StandardDdlParser
StandardDdlParser.getDataTypeStartWords()
Copyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.