org.modeshape.sequencer.ddl.dialect.oracle
Class OracleDdlParser

java.lang.Object
  extended by org.modeshape.sequencer.ddl.StandardDdlParser
      extended by org.modeshape.sequencer.ddl.dialect.oracle.OracleDdlParser
All Implemented Interfaces:
DdlConstants, DdlConstants.StatementStartPhrases, DdlParser, OracleDdlConstants, OracleDdlConstants.OracleStatementStartPhrases

public class OracleDdlParser
extends StandardDdlParser
implements OracleDdlConstants, OracleDdlConstants.OracleStatementStartPhrases

Oracle-specific DDL Parser. Includes custom data types as well as custom DDL statements.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.modeshape.sequencer.ddl.dialect.oracle.OracleDdlConstants
OracleDdlConstants.OracleDataTypes, OracleDdlConstants.OracleStatementStartPhrases
 
Nested classes/interfaces inherited from interface org.modeshape.sequencer.ddl.DdlConstants
DdlConstants.AstNodeNames, DdlConstants.DataTypes, DdlConstants.DropBehavior, DdlConstants.MatchType, DdlConstants.Problems, DdlConstants.ReferencialAction, DdlConstants.StatementStartPhrases
 
Field Summary
 
Fields inherited from interface org.modeshape.sequencer.ddl.dialect.oracle.OracleDdlConstants
CUSTOM_KEYWORDS
 
Fields inherited from interface org.modeshape.sequencer.ddl.DdlConstants
ALTER, CHECK, COLUMN, COMMA, CONSTRAINT, CONSTRAINT_C, CONSTRAINT_FK, CONSTRAINT_PK, CONSTRAINT_UC, CREATE, DECLARE, DEFAULT_ID_CURRENT_USER, DEFAULT_ID_DATETIME, DEFAULT_ID_LITERAL, DEFAULT_ID_NULL, DEFAULT_ID_SESSION_USER, DEFAULT_ID_SYSTEM_USER, DEFAULT_ID_UNDEFINED, DEFAULT_ID_USER, DEFAULT_TERMINATOR, DELETE, DROP, FOREIGN, FOREIGN_KEY, GRANT, INDEX, INSERT, KEY, L_PAREN, L_SQUOTE, MISSING_TERMINATOR_NODE_LITERAL, OFF, ON, PERIOD, PRIMARY, PRIMARY_KEY, R_PAREN, REVOKE, SCHEMA, SELECT, SEMICOLON, SET, SPACE, SQL_92_RESERVED_WORDS, TABLE, UNIQUE, UPDATE, VIEW
 
Fields inherited from interface org.modeshape.sequencer.ddl.dialect.oracle.OracleDdlConstants.OracleStatementStartPhrases
ALTER_PHRASES, COMPLEX_STMT_TYPES, CREATE_PHRASES, DROP_PHRASES, MISC_PHRASES, SET_PHRASES, SLASHED_STMT_PHRASES, STMT_ALTER_CLUSTER, STMT_ALTER_DATABASE, STMT_ALTER_DIMENSION, STMT_ALTER_DISKGROUP, STMT_ALTER_FUNCTION, STMT_ALTER_INDEX, STMT_ALTER_INDEXTYPE, STMT_ALTER_JAVA, STMT_ALTER_MATERIALIZED, STMT_ALTER_OPERATOR, STMT_ALTER_OUTLINE, STMT_ALTER_PACKAGE, STMT_ALTER_PROCEDURE, STMT_ALTER_PROFILE, STMT_ALTER_RESOURCE, STMT_ALTER_ROLE, STMT_ALTER_ROLLBACK, STMT_ALTER_SEQUENCE, STMT_ALTER_SESSION, STMT_ALTER_SYSTEM, STMT_ALTER_TABLESPACE, STMT_ALTER_TRIGGER, STMT_ALTER_TYPE, STMT_ALTER_USER, STMT_ALTER_VIEW, STMT_ANALYZE, STMT_ASSOCIATE_STATISTICS, STMT_AUDIT, STMT_COMMENT_ON, STMT_COMMIT, STMT_COMMIT_FORCE, STMT_COMMIT_WORK, STMT_COMMIT_WRITE, STMT_CREATE_BITMAP_INDEX, STMT_CREATE_CLUSTER, STMT_CREATE_CONTEXT, STMT_CREATE_CONTROLFILE, STMT_CREATE_DATABASE, STMT_CREATE_DIMENSION, STMT_CREATE_DIRECTORY, STMT_CREATE_DISKGROUP, STMT_CREATE_FUNCTION, STMT_CREATE_INDEX, STMT_CREATE_INDEXTYPE, STMT_CREATE_JAVA, STMT_CREATE_LIBRARY, STMT_CREATE_MATERIALIZED_VEIW_LOG, STMT_CREATE_MATERIALIZED_VIEW, STMT_CREATE_OPERATOR, STMT_CREATE_OR_REPLACE_DIRECTORY, STMT_CREATE_OR_REPLACE_FUNCTION, STMT_CREATE_OR_REPLACE_LIBRARY, STMT_CREATE_OR_REPLACE_OUTLINE, STMT_CREATE_OR_REPLACE_PACKAGE, STMT_CREATE_OR_REPLACE_PRIVATE_OUTLINE, STMT_CREATE_OR_REPLACE_PROCEDURE, STMT_CREATE_OR_REPLACE_PUBLIC_OUTLINE, STMT_CREATE_OR_REPLACE_PUBLIC_SYNONYM, STMT_CREATE_OR_REPLACE_SYNONYM, STMT_CREATE_OR_REPLACE_TRIGGER, STMT_CREATE_OR_REPLACE_TYPE, STMT_CREATE_OUTLINE, STMT_CREATE_PACKAGE, STMT_CREATE_PFILE, STMT_CREATE_PROCEDURE, STMT_CREATE_PROFILE, STMT_CREATE_PUBLIC_DATABASE, STMT_CREATE_PUBLIC_ROLLBACK, STMT_CREATE_PUBLIC_SYNONYM, STMT_CREATE_ROLE, STMT_CREATE_ROLLBACK, STMT_CREATE_SEQUENCE, STMT_CREATE_SPFILE, STMT_CREATE_SYNONYM, STMT_CREATE_TABLESPACE, STMT_CREATE_TRIGGER, STMT_CREATE_TYPE, STMT_CREATE_UNIQUE_INDEX, STMT_CREATE_USER, STMT_DISASSOCIATE_STATISTICS, STMT_DROP_CLUSTER, STMT_DROP_CONTEXT, STMT_DROP_DATABASE, STMT_DROP_DIMENSION, STMT_DROP_DIRECTORY, STMT_DROP_DISKGROUP, STMT_DROP_FUNCTION, STMT_DROP_INDEX, STMT_DROP_INDEXTYPE, STMT_DROP_JAVA, STMT_DROP_LIBRARY, STMT_DROP_MATERIALIZED, STMT_DROP_OPERATOR, STMT_DROP_OUTLINE, STMT_DROP_PACKAGE, STMT_DROP_PROCEDURE, STMT_DROP_PROFILE, STMT_DROP_PUBLIC_DATABASE, STMT_DROP_PUBLIC_SYNONYM, STMT_DROP_ROLE, STMT_DROP_ROLLBACK, STMT_DROP_SEQUENCE, STMT_DROP_SYNONYM, STMT_DROP_TABLESPACE, STMT_DROP_TRIGGER, STMT_DROP_TYPE, STMT_DROP_USER, STMT_EXPLAIN_PLAN, STMT_FLASHBACK, STMT_LOCK_TABLE, STMT_MERGE, STMT_NOAUDIT, STMT_PURGE, STMT_RENAME, STMT_ROLLBACK, STMT_ROLLBACK_TO_SAVEPOINT, STMT_ROLLBACK_WORK, STMT_SAVEPOINT, STMT_SET_CONSTRAINT, STMT_SET_CONSTRAINTS, STMT_SET_ROLE, STMT_SET_TRANSACTION, STMT_TRUNCATE, VALID_SCHEMA_CHILD_STMTS
 
Fields inherited from interface org.modeshape.sequencer.ddl.DdlConstants.StatementStartPhrases
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 Summary
OracleDdlParser()
           
 
Method Summary
 String getId()
          
 AstNode handleUnknownToken(DdlTokenStream tokens, String tokenValue)
          Utility method subclasses can override to check unknown tokens and perform additional node manipulation.
 void registerWords(DdlTokenStream tokens)
          Method allows registering Oracle-specific Statement Start Keyword Phrases and Keywords Method provide means for DB-specific Statement implementations can contribute DDL Start Phrases and Keywords.
 
Methods inherited from class org.modeshape.sequencer.ddl.StandardDdlParser
addProblem, addProblem, attachNewProblem, doUseTerminator, getCurrentMarkedPosition, getDatatypeParser, getNumberOfKeyWords, getProblems, getRootNode, getStatementTypeName, isMissingTerminatorNode, isTestMode, isType, isValidSchemaChild, markEndOfStatement, markStartOfStatement, mergeNodes, missingTerminatorNode, nodeFactory, parse, parse, registerKeyWords, registerKeyWords, registerStatementStartPhrase, registerStatementStartPhrase, setAsSchemaChildNode, setDatatypeParser, setDoUseTerminator, setRootNode, setTestMode, unknownTerminatedNode
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OracleDdlParser

public OracleDdlParser()
Method Detail

getId

public String getId()

Specified by:
getId in interface DdlParser
Overrides:
getId in class StandardDdlParser
Returns:
parserID
See Also:
StandardDdlParser.getId()

registerWords

public void registerWords(DdlTokenStream tokens)
Method allows registering Oracle-specific Statement Start Keyword Phrases and Keywords Method provide means for DB-specific Statement implementations can contribute DDL Start Phrases and Keywords. These words are critical pieces of data the parser needs to segment the DDL file into statements. These statements all begin with unique start phrases like: CREATE TABLE, DROP VIEW, ALTER TABLE. The base method provided here registers the set of SQL 92 based start phrases as well as the set of SQL 92 reserved words (i.e. CREATE, DROP, SCHEMA, CONSTRAINT, etc...).

Specified by:
registerWords in interface DdlParser
Overrides:
registerWords in class StandardDdlParser
Parameters:
tokens - the token stream containing the tokenized DDL content. may not be null
See Also:
StandardDdlParser.registerWords(org.modeshape.sequencer.ddl.DdlTokenStream)

handleUnknownToken

public AstNode handleUnknownToken(DdlTokenStream tokens,
                                  String tokenValue)
                           throws ParsingException
Utility method subclasses can override to check unknown tokens and perform additional node manipulation. Example would be in Oracle dialect for CREATE FUNCTION statements that can end with an '/' character because statement can contain multiple statements.

Overrides:
handleUnknownToken in class StandardDdlParser
Parameters:
tokens - the DdlTokenStream representing the tokenized DDL content; may not be null
tokenValue - the string value of the unknown token; never null
Returns:
the new node
Throws:
ParsingException
See Also:
StandardDdlParser.handleUnknownToken(org.modeshape.sequencer.ddl.DdlTokenStream, java.lang.String)


Copyright © 2008-2010 JBoss, a division of Red Hat. All Rights Reserved.