001/*
002 * ModeShape (http://www.modeshape.org)
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 *       http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016package org.modeshape.sequencer.ddl;
017
018import static org.modeshape.sequencer.ddl.StandardDdlLexicon.Namespace.PREFIX;
019
020/**
021 * Lexicon for DDL concepts.
022 */
023public class StandardDdlLexicon {
024
025    public static class Namespace {
026        public static final String URI = "http://www.modeshape.org/ddl/1.0";
027        public static final String PREFIX = "ddl";
028    }
029
030    public static final String PARSER_ID = PREFIX + ":parserId";
031    public static final String STATEMENTS_CONTAINER = PREFIX + ":statements";
032    /*
033     * mixin types
034     *
035     * SQL-92 Spec
036     *
037     *         CREATE SCHEMA
038     *        CREATE DOMAIN
039     *         CREATE [ { GLOBAL | LOCAL } TEMPORARY ] TABLE
040     *        CREATE VIEW
041     *        CREATE ASSERTION
042     *        CREATE CHARACTER SET
043     *        CREATE COLLATION
044     *        CREATE TRANSLATION
045     *
046     *        ALTER TABLE
047     */
048
049    public static final String TYPE_MISSING_TERMINATOR = PREFIX + ":missingTerminator";
050    public static final String TYPE_UNKNOWN_STATEMENT = PREFIX + ":unknownStatement";
051
052    public static final String TYPE_OPERATION = PREFIX + ":operation";
053    public static final String TYPE_OPERAND = PREFIX + ":operand";
054    public static final String TYPE_STATEMENT = PREFIX + ":statement";
055
056    public static final String TYPE_CREATEABLE = PREFIX + ":creatable";
057    public static final String TYPE_ALTERABLE = PREFIX + ":alterable";
058    public static final String TYPE_DROPPABLE = PREFIX + ":droppable";
059    public static final String TYPE_INSERTABLE = PREFIX + ":insertable";
060    public static final String TYPE_SETTABLE = PREFIX + ":settable";
061    public static final String TYPE_GRANTABLE = PREFIX + ":grantable";
062    public static final String TYPE_REVOKABLE = PREFIX + ":revokable";
063
064    public static final String TYPE_SCHEMA_OPERAND = PREFIX + ":schemaOperand";
065    public static final String TYPE_TABLE_OPERAND = PREFIX + ":tableOperand";
066    public static final String TYPE_DOMAIN_OPERAND = PREFIX + ":domainOperand";
067    public static final String TYPE_VIEW_OPERAND = PREFIX + ":viewOperand";
068    public static final String TYPE_ASSERTION_OPERAND = PREFIX + ":assertionOperand";
069    public static final String TYPE_CHARACTER_SET_OPERAND = PREFIX + ":characterSetOperand";
070    public static final String TYPE_COLLATION_OPERAND = PREFIX + ":collationOperand";
071    public static final String TYPE_TRANSLATION_OPERAND = PREFIX + ":translationOperand";
072    public static final String TYPE_COLUMN_OPERAND = PREFIX + ":columnOperand";
073    public static final String TYPE_TABLE_CONSTRAINT_OPERAND = PREFIX + ":tableConstraintOperand";
074    public static final String TYPE_REFERENCE_OPERAND = PREFIX + ":referenceOperand";
075
076    public static final String TYPE_CREATE_TABLE_STATEMENT = PREFIX + ":createTableStatement";
077    public static final String TYPE_CREATE_SCHEMA_STATEMENT = PREFIX + ":createSchemaStatement";
078    public static final String TYPE_CREATE_VIEW_STATEMENT = PREFIX + ":createViewStatement";
079    public static final String TYPE_CREATE_DOMAIN_STATEMENT = PREFIX + ":createDomainStatement";
080    public static final String TYPE_CREATE_ASSERTION_STATEMENT = PREFIX + ":createAssertionStatement";
081    public static final String TYPE_CREATE_CHARACTER_SET_STATEMENT = PREFIX + ":createCharacterSetStatement";
082    public static final String TYPE_CREATE_COLLATION_STATEMENT = PREFIX + ":createCollationStatement";
083    public static final String TYPE_CREATE_TRANSLATION_STATEMENT = PREFIX + ":createTranslationStatement";
084
085    public static final String TYPE_ALTER_TABLE_STATEMENT = PREFIX + ":alterTableStatement";
086    public static final String TYPE_ALTER_DOMAIN_STATEMENT = PREFIX + ":alterDomainStatement";
087    public static final String TYPE_GRANT_STATEMENT = PREFIX + ":grantStatement";
088    public static final String TYPE_GRANT_ON_TABLE_STATEMENT = PREFIX + ":grantOnTableStatement";
089    public static final String TYPE_GRANT_ON_DOMAIN_STATEMENT = PREFIX + ":grantOnDomainStatement";
090    public static final String TYPE_GRANT_ON_COLLATION_STATEMENT = PREFIX + ":grantOnCollationStatement";
091    public static final String TYPE_GRANT_ON_CHARACTER_SET_STATEMENT = PREFIX + ":grantOnCharacterSetStatement";
092    public static final String TYPE_GRANT_ON_TRANSLATION_STATEMENT = PREFIX + ":grantOnTranslationStatement";
093    public static final String TYPE_REVOKE_STATEMENT = PREFIX + ":revokeStatement";
094    public static final String TYPE_REVOKE_ON_TABLE_STATEMENT = PREFIX + ":revokeOnTableStatement";
095    public static final String TYPE_REVOKE_ON_DOMAIN_STATEMENT = PREFIX + ":revokeOnDomainStatement";
096    public static final String TYPE_REVOKE_ON_COLLATION_STATEMENT = PREFIX + ":revokeOnCollationStatement";
097    public static final String TYPE_REVOKE_ON_CHARACTER_SET_STATEMENT = PREFIX + ":revokeOnCharacterSetStatement";
098    public static final String TYPE_REVOKE_ON_TRANSLATION_STATEMENT = PREFIX + ":revokeOnTranslationStatement";
099    public static final String TYPE_SET_STATEMENT = PREFIX + ":setStatement";
100    public static final String TYPE_INSERT_STATEMENT = PREFIX + ":insertStatement";
101
102    public static final String TYPE_DROP_SCHEMA_STATEMENT = PREFIX + ":dropSchemaStatement";
103    public static final String TYPE_DROP_TABLE_STATEMENT = PREFIX + ":dropTableStatement";
104    public static final String TYPE_DROP_VIEW_STATEMENT = PREFIX + ":dropViewStatement";
105    public static final String TYPE_DROP_DOMAIN_STATEMENT = PREFIX + ":dropDomainStatement";
106    public static final String TYPE_DROP_CHARACTER_SET_STATEMENT = PREFIX + ":dropCharacterSetStatement";
107    public static final String TYPE_DROP_COLLATION_STATEMENT = PREFIX + ":dropCollationStatement";
108    public static final String TYPE_DROP_TRANSLATION_STATEMENT = PREFIX + ":dropTranslationStatement";
109    public static final String TYPE_DROP_ASSERTION_STATEMENT = PREFIX + ":dropAssertionStatement";
110
111    public static final String TYPE_DROP_COLUMN_DEFINITION = PREFIX + ":dropColumnDefinition";
112    public static final String TYPE_ALTER_COLUMN_DEFINITION = PREFIX + ":alterColumnDefinition";
113    public static final String TYPE_ADD_COLUMN_DEFINITION = PREFIX + ":addColumnDefinition";
114    public static final String TYPE_DROP_TABLE_CONSTRAINT_DEFINITION = PREFIX + ":dropTableConstraintDefinition";
115    public static final String TYPE_ADD_TABLE_CONSTRAINT_DEFINITION = PREFIX + ":addTableConstraintDefinition";
116
117    public static final String TYPE_PROBLEM = PREFIX + ":ddlProblem";
118    public static final String TYPE_COLUMN_DEFINITION = PREFIX + ":columnDefinition";
119    public static final String TYPE_COLUMN_REFERENCE = PREFIX + ":columnReference";
120    public static final String TYPE_TABLE_CONSTRAINT = PREFIX + ":tableConstraint";
121    public static final String TYPE_STATEMENT_OPTION = PREFIX + ":statementOption";
122    public static final String TYPE_TABLE_REFERENCE = PREFIX + ":tableReference";
123    public static final String TYPE_FK_COLUMN_REFERENCE = PREFIX + ":fkColumnReference";
124    public static final String TYPE_CLAUSE = PREFIX + ":clause";
125    public static final String TYPE_DOMAIN_CONSTRAINT = PREFIX + ":domainConstraint";
126    public static final String TYPE_SIMPLE_PROPERTY = PREFIX + ":simpleProperty";
127    /*
128     * node property names
129     */
130    public static final String DDL_EXPRESSION = PREFIX + ":expression";
131    public static final String DDL_ORIGINAL_EXPRESSION = PREFIX + ":originalExpression";
132    public static final String DDL_START_LINE_NUMBER = PREFIX + ":startLineNumber";
133    public static final String DDL_START_COLUMN_NUMBER = PREFIX + ":startColumnNumber";
134    public static final String DDL_START_CHAR_INDEX = PREFIX + ":startCharIndex";
135    public static final String DDL_PROBLEM = PREFIX + ":problem";
136    public static final String DDL_LENGTH = PREFIX + ":length";
137
138    public static final String OPTION = PREFIX + ":option";
139    public static final String TYPE = PREFIX + ":type";
140    public static final String NEW_NAME = PREFIX + ":newName";
141    public static final String SQL = PREFIX + ":sql";
142    public static final String TEMPORARY = PREFIX + ":temporary";
143    public static final String ON_COMMIT_VALUE = PREFIX + ":onCommitValue";
144    public static final String NULLABLE = PREFIX + ":nullable";
145    public static final String DEFAULT_OPTION = PREFIX + ":defaultOption";
146    public static final String COLLATION_NAME = PREFIX + ":collationName";
147    public static final String CONSTRAINT_TYPE = PREFIX + ":constraintType";
148    public static final String DEFERRABLE = PREFIX + ":deferrable";
149    public static final String CHECK_SEARCH_CONDITION = PREFIX + ":searchCondition";
150    public static final String DATATYPE_NAME = PREFIX + ":datatypeName";
151    public static final String DATATYPE_LENGTH = PREFIX + ":datatypeLength";
152    public static final String DATATYPE_PRECISION = PREFIX + ":datatypePrecision";
153    public static final String DATATYPE_SCALE = PREFIX + ":datatypeScale";
154    public static final String DATATYPE_ARRAY_DIMENSIONS = PREFIX + ":datatypeArrayDimensions";
155    public static final String DEFAULT_VALUE = PREFIX + ":defaultValue";
156    public static final String DEFAULT_PRECISION = PREFIX + ":defaultprecision";
157    public static final String VALUE = PREFIX + ":value";
158    public static final String DROP_BEHAVIOR = PREFIX + ":dropBehavior";
159    public static final String PROPERTY_VALUE = PREFIX + ":propValue";
160    public static final String PROBLEM_LEVEL = PREFIX + ":problemLevel";
161    public static final String GRANT_PRIVILEGE = PREFIX + ":grantPrivilege";
162    public static final String ALL_PRIVILEGES = PREFIX + ":allPrivileges";
163    public static final String WITH_GRANT_OPTION = PREFIX + ":withGrantOption";
164    public static final String GRANTEE = PREFIX + ":grantee";
165
166    public static final String CREATE_VIEW_QUERY_EXPRESSION = PREFIX + ":queryExpression";
167    public static final String CREATE_VIEW_OPTION_CLAUSE = PREFIX + ":createViewOption";
168
169    public static final String MESSAGE = PREFIX + ":message";
170
171    public static final String EXISTING_NAME = PREFIX + ":existingName";
172    public static final String COLLATION_CHARACTER_SET_NAME = PREFIX + ":characterSetName";
173    public static final String COLLATION_SOURCE = PREFIX + ":collationSource";
174    public static final String PAD_ATTRIBUTE = PREFIX + ":padAttribute";
175
176    public static final String SOURCE_CHARACTER_SET_NAME = PREFIX + ":sourceCharacterSetName";
177    public static final String TARGET_CHARACTER_SET_NAME = PREFIX + ":targetCharacterSetName";
178
179    public static final String DROP_OPTION = PREFIX + ":dropOption";
180    public static final String COLUMN_ATTRIBUTE = PREFIX + ":columnAttribute";
181
182    /**
183     * value constraints
184     */
185    public static final String PAD_ATTRIBUTE_PAD = "PAD SPACE";
186    public static final String PAD_ATTRIBUTE_NO_PAD = "NO PAD";
187    public static final String DEFAULT_ID_LITERAL = "LITERAL";
188    public static final String DEFAULT_ID_DATETIME = "DATETIME";
189    public static final String DEFAULT_ID_USER = "USER";
190    public static final String DEFAULT_ID_CURRENT_USER = "CURRENT_USER";
191    public static final String DEFAULT_ID_SESSION_USER = "SESSION_USER";
192    public static final String DEFAULT_ID_SYSTEM_USER = "SYSTEM_USER";
193    public static final String DEFAULT_ID_NULL = "NULL";
194
195    /*
196     * node child types
197     */
198    public static final String TYPE_DROP_OPTION = PREFIX + ":dropOption";
199    public static final String TYPE_CONSTRAINT_ATTRIBUTE = PREFIX + ":constraintAttribute";
200}