コード例 #1
0
 def __init__(self, strDbms):
     DdlCommonInterface.__init__(self, strDbms)
     self.params['max_id_len'] = { 'default' : 256 }
     self.params['table_desc'] = ["UPDATE RDB$RELATIONS SET RDB$DESCRIPTION = %(desc)s\n\tWHERE RDB$RELATION_NAME = upper('%(table)s')"]
     self.params['column_desc'] = ["UPDATE RDB$RELATION_FIELDS SET RDB$DESCRIPTION = %(desc)s\n\tWHERE RDB$RELATION_NAME = upper('%(table)s') AND RDB$FIELD_NAME = upper('%(column)s')"]
     self.params['drop_constraints_on_col_rename'] = True
     self.params['drop_table_has_cascade'] = False
     self.params['alter_default'] = ['ALTER TABLE %(table_name)s ALTER %(column_name)s TYPE %(column_type)s']
     self.params['rename_column'] = ['ALTER TABLE %(table_name)s ALTER %(old_col_name)s TO %(new_col_name)s']
     self.params['alter_default'] = ['ALTER TABLE %(table_name)s ALTER COLUMN %(column_name)s SET DEFAULT %(new_default)s']
     
     self.params['keywords'] = """
         ACTION ACTIVE ADD ADMIN AFTER ALL ALTER AND ANY AS ASC ASCENDING AT AUTO AUTODDL AVG BASED BASENAME BASE_NAME 
         BEFORE BEGIN BETWEEN BLOB BLOBEDIT BUFFER BY CACHE CASCADE CAST CHAR CHARACTER CHARACTER_LENGTH CHAR_LENGTH
         CHECK CHECK_POINT_LEN CHECK_POINT_LENGTH COLLATE COLLATION COLUMN COMMIT COMMITTED COMPILETIME COMPUTED CLOSE 
         CONDITIONAL CONNECT CONSTRAINT CONTAINING CONTINUE COUNT CREATE CSTRING CURRENT CURRENT_DATE CURRENT_TIME 
         CURRENT_TIMESTAMP CURSOR DATABASE DATE DAY DB_KEY DEBUG DEC DECIMAL DECLARE DEFAULT
         DELETE DESC DESCENDING DESCRIBE DESCRIPTOR DISCONNECT DISPLAY DISTINCT DO DOMAIN DOUBLE DROP ECHO EDIT ELSE 
         END ENTRY_POINT ESCAPE EVENT EXCEPTION EXECUTE EXISTS EXIT EXTERN EXTERNAL EXTRACT FETCH FILE FILTER FLOAT 
         FOR FOREIGN FOUND FREE_IT FROM FULL FUNCTION GDSCODE GENERATOR GEN_ID GLOBAL GOTO GRANT GROUP GROUP_COMMIT_WAIT 
         GROUP_COMMIT_ WAIT_TIME HAVING HELP HOUR IF IMMEDIATE IN INACTIVE INDEX INDICATOR INIT INNER INPUT INPUT_TYPE 
         INSERT INT INTEGER INTO IS ISOLATION ISQL JOIN KEY LC_MESSAGES LC_TYPE LEFT LENGTH LEV LEVEL LIKE LOGFILE 
         LOG_BUFFER_SIZE LOG_BUF_SIZE LONG MANUAL MAX MAXIMUM MAXIMUM_SEGMENT MAX_SEGMENT MERGE MESSAGE MIN MINIMUM 
         MINUTE MODULE_NAME MONTH NAMES NATIONAL NATURAL NCHAR NO NOAUTO NOT NULL NUMERIC NUM_LOG_BUFS NUM_LOG_BUFFERS 
         OCTET_LENGTH OF ON ONLY OPEN OPTION OR ORDER OUTER OUTPUT OUTPUT_TYPE OVERFLOW PAGE PAGELENGTH PAGES PAGE_SIZE 
         PARAMETER PASSWORD PLAN POSITION POST_EVENT PRECISION PREPARE PROCEDURE PROTECTED PRIMARY PRIVILEGES PUBLIC QUIT 
         RAW_PARTITIONS RDB$DB_KEY READ REAL RECORD_VERSION REFERENCES RELEASE RESERV RESERVING RESTRICT RETAIN RETURN 
         RETURNING_VALUES RETURNS REVOKE RIGHT ROLE ROLLBACK RUNTIME SCHEMA SECOND SEGMENT SELECT SET SHADOW SHARED SHELL 
         SHOW SINGULAR SIZE SMALLINT SNAPSHOT SOME SORT SQLCODE SQLERROR SQLWARNING STABILITY STARTING STARTS STATEMENT 
         STATIC STATISTICS SUB_TYPE SUM SUSPEND TABLE TERMINATOR THEN TIME TIMESTAMP TO TRANSACTION TRANSLATE TRANSLATION 
         TRIGGER TRIM TYPE UNCOMMITTED UNION UNIQUE UPDATE UPPER USER USING VALUE VALUES VARCHAR VARIABLE VARYING VERSION 
         VIEW WAIT WEEKDAY WHEN WHENEVER WHERE WHILE WITH WORK WRITE YEAR YEARDAY""".split()
コード例 #2
0
ファイル: MySqlInterface.py プロジェクト: archaeogeek/xml2ddl
 def __init__(self):
     DdlCommonInterface.__init__(self, 'mysql')
     self.params['max_id_len'] = { 'default' : 64 }
     self.params['quote_l'] = '`'
     self.params['quote_r'] = '`'
     self.params['table_desc'] = ["ALTER TABLE %(table)s COMMENT %(desc)s"]
     self.params['change_col_type'] = ['ALTER TABLE %(table_name)s MODIFY %(column_name)s %(column_type)s']
     self.params['column_desc'] = ["ALTER TABLE %(table)s MODIFY %(column)s %(type)sCOMMENT %(desc)s"]
     self.params['has_auto_increment'] = True
     self.params['can_change_table_comment'] = False
     self.params['add_key_constraint'] = ['ALTER TABLE %(table_name)s ADD PRIMARY KEY (%(keys)s)']
     self.params['drop_index'] = ['DROP INDEX %(index_name)s ON %(table_name)s']
     self.params['drop_default'] = ['ALTER TABLE %(table_name)s MODIFY %(column_name)s %(column_type)s']
     self.params['rename_column'] = ['ALTER TABLE %(table_name)s CHANGE %(old_col_name)s %(new_col_name)s %(column_type)s']
     self.params['keywords'] = """
         ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE AUTO_INCREMENT BDB BEFORE BERKELEYDB BETWEEN BIGINT BINARY
         BLOB BOTH BY CALL CASCADE CASE CHANGE CHAR CHARACTER CHECK COLLATE COLUMN COLUMNS CONDITION CONNECTION
         CONSTRAINT CONTINUE CREATE CROSS CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP CURSOR DATABASE 
         DATABASES DAY_HOUR DAY_MICROSECOND DAY_MINUTE DAY_SECOND DEC DECIMAL DECLARE DEFAULT DELAYED DELETE DESC
         DESCRIBE DETERMINISTIC DISTINCT DISTINCTROW DIV DOUBLE DROP ELSE ELSEIF ENCLOSED ESCAPED EXISTS EXIT 
         EXPLAIN FALSE FETCH FIELDS FLOAT FOR FORCE FOREIGN FOUND FRAC_SECOND FROM FULLTEXT GRANT GROUP
         HAVING HIGH_PRIORITY HOUR_MICROSECOND HOUR_MINUTE HOUR_SECOND IF IGNORE IN INDEX INFILE INNER INNODB
         INOUT INSENSITIVE INSERT INT INTEGER INTERVAL INTO IO_THREAD IS ITERATE JOIN KEY KEYS KILL LEADING
         LEAVE LEFT LIKE LIMIT LINES LOAD LOCALTIME LOCALTIMESTAMP LOCK LONG LONGBLOB LONGTEXT LOOP LOW_PRIORITY 
         MASTER_SERVER_ID MATCH MEDIUMBLOB MEDIUMINT MEDIUMTEXT MIDDLEINT MINUTE_MICROSECOND MINUTE_SECOND MOD NATURAL
         NOT NO_WRITE_TO_BINLOG NULL NUMERIC ON OPTIMIZE OPTION OPTIONALLY OR ORDER OUT OUTER OUTFILE PRECISION PRIMARY
         PRIVILEGES PROCEDURE PURGE READ REAL REFERENCES REGEXP RENAME REPEAT REPLACE REQUIRE RESTRICT RETURN REVOKE RIGHT
         RLIKE SECOND_MICROSECOND SELECT SENSITIVE SEPARATOR SET SHOW SMALLINT SOME SONAME SPATIAL SPECIFIC
         SQL SQLEXCEPTION SQLSTATE SQLWARNING SQL_BIG_RESULT SQL_CALC_FOUND_ROWS SQL_SMALL_RESULT SQL_TSI_DAY 
         SQL_TSI_FRAC_SECOND SQL_TSI_HOUR SQL_TSI_MINUTE SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_SECOND SQL_TSI_WEEK
         SQL_TSI_YEAR SSL STARTING STRAIGHT_JOIN STRIPED TABLE TABLES TERMINATED THEN TIMESTAMPADD TIMESTAMPDIFF TINYBLOB
         TINYINT TINYTEXT TO TRAILING TRUE UNDO UNION UNIQUE UNLOCK UNSIGNED UPDATE USAGE USE USER_RESOURCES USING
         UTC_DATE UTC_TIME UTC_TIMESTAMP VALUES VARBINARY VARCHAR VARCHARACTER VARYING WHEN WHERE WHILE WITH
         WRITE XOR YEAR_MONTH ZEROFILL""".split() 
コード例 #3
0
 def __init__(self):
     DdlCommonInterface.__init__(self, 'mysql')
     self.params['max_id_len'] = {'default': 64}
     self.params['quote_l'] = '`'
     self.params['quote_r'] = '`'
     self.params['table_desc'] = ["ALTER TABLE %(table)s COMMENT %(desc)s"]
     self.params['change_col_type'] = [
         'ALTER TABLE %(table_name)s MODIFY %(column_name)s %(column_type)s'
     ]
     self.params['column_desc'] = [
         "ALTER TABLE %(table)s MODIFY %(column)s %(type)sCOMMENT %(desc)s"
     ]
     self.params['has_auto_increment'] = True
     self.params['can_change_table_comment'] = False
     self.params['add_key_constraint'] = [
         'ALTER TABLE %(table_name)s ADD PRIMARY KEY (%(keys)s)'
     ]
     self.params['drop_index'] = [
         'DROP INDEX %(index_name)s ON %(table_name)s'
     ]
     self.params['drop_default'] = [
         'ALTER TABLE %(table_name)s MODIFY %(column_name)s %(column_type)s'
     ]
     self.params['rename_column'] = [
         'ALTER TABLE %(table_name)s CHANGE %(old_col_name)s %(new_col_name)s %(column_type)s'
     ]
     self.params['keywords'] = """
         ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE AUTO_INCREMENT BDB BEFORE BERKELEYDB BETWEEN BIGINT BINARY
         BLOB BOTH BY CALL CASCADE CASE CHANGE CHAR CHARACTER CHECK COLLATE COLUMN COLUMNS CONDITION CONNECTION
         CONSTRAINT CONTINUE CREATE CROSS CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP CURSOR DATABASE 
         DATABASES DAY_HOUR DAY_MICROSECOND DAY_MINUTE DAY_SECOND DEC DECIMAL DECLARE DEFAULT DELAYED DELETE DESC
         DESCRIBE DETERMINISTIC DISTINCT DISTINCTROW DIV DOUBLE DROP ELSE ELSEIF ENCLOSED ESCAPED EXISTS EXIT 
         EXPLAIN FALSE FETCH FIELDS FLOAT FOR FORCE FOREIGN FOUND FRAC_SECOND FROM FULLTEXT GRANT GROUP
         HAVING HIGH_PRIORITY HOUR_MICROSECOND HOUR_MINUTE HOUR_SECOND IF IGNORE IN INDEX INFILE INNER INNODB
         INOUT INSENSITIVE INSERT INT INTEGER INTERVAL INTO IO_THREAD IS ITERATE JOIN KEY KEYS KILL LEADING
         LEAVE LEFT LIKE LIMIT LINES LOAD LOCALTIME LOCALTIMESTAMP LOCK LONG LONGBLOB LONGTEXT LOOP LOW_PRIORITY 
         MASTER_SERVER_ID MATCH MEDIUMBLOB MEDIUMINT MEDIUMTEXT MIDDLEINT MINUTE_MICROSECOND MINUTE_SECOND MOD NATURAL
         NOT NO_WRITE_TO_BINLOG NULL NUMERIC ON OPTIMIZE OPTION OPTIONALLY OR ORDER OUT OUTER OUTFILE PRECISION PRIMARY
         PRIVILEGES PROCEDURE PURGE READ REAL REFERENCES REGEXP RENAME REPEAT REPLACE REQUIRE RESTRICT RETURN REVOKE RIGHT
         RLIKE SECOND_MICROSECOND SELECT SENSITIVE SEPARATOR SET SHOW SMALLINT SOME SONAME SPATIAL SPECIFIC
         SQL SQLEXCEPTION SQLSTATE SQLWARNING SQL_BIG_RESULT SQL_CALC_FOUND_ROWS SQL_SMALL_RESULT SQL_TSI_DAY 
         SQL_TSI_FRAC_SECOND SQL_TSI_HOUR SQL_TSI_MINUTE SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_SECOND SQL_TSI_WEEK
         SQL_TSI_YEAR SSL STARTING STRAIGHT_JOIN STRIPED TABLE TABLES TERMINATED THEN TIMESTAMPADD TIMESTAMPDIFF TINYBLOB
         TINYINT TINYTEXT TO TRAILING TRUE UNDO UNION UNIQUE UNLOCK UNSIGNED UPDATE USAGE USE USER_RESOURCES USING
         UTC_DATE UTC_TIME UTC_TIMESTAMP VALUES VARBINARY VARCHAR VARCHARACTER VARYING WHEN WHERE WHILE WITH
         WRITE XOR YEAR_MONTH ZEROFILL""".split()
コード例 #4
0
    def __init__(self):
        DdlCommonInterface.__init__(self, 'firebird')
        self.params['max_id_len'] = {'default': 256}
        self.params['table_desc'] = [
            "UPDATE RDB$RELATIONS SET RDB$DESCRIPTION = %(desc)s\n\tWHERE RDB$RELATION_NAME = upper('%(table)s')"
        ]
        self.params['column_desc'] = [
            "UPDATE RDB$RELATION_FIELDS SET RDB$DESCRIPTION = %(desc)s\n\tWHERE RDB$RELATION_NAME = upper('%(table)s') AND RDB$FIELD_NAME = upper('%(column)s')"
        ]
        self.params['drop_constraints_on_col_rename'] = True
        self.params['drop_table_has_cascade'] = False
        self.params['alter_default'] = [
            'ALTER TABLE %(table_name)s ALTER %(column_name)s TYPE %(column_type)s'
        ]
        self.params['rename_column'] = [
            'ALTER TABLE %(table_name)s ALTER %(old_col_name)s TO %(new_col_name)s'
        ]
        self.params['alter_default'] = [
            'ALTER TABLE %(table_name)s ALTER COLUMN %(column_name)s SET DEFAULT %(new_default)s'
        ]

        self.params['keywords'] = """
            ACTION ACTIVE ADD ADMIN AFTER ALL ALTER AND ANY AS ASC ASCENDING AT AUTO AUTODDL AVG BASED BASENAME BASE_NAME 
            BEFORE BEGIN BETWEEN BLOB BLOBEDIT BUFFER BY CACHE CASCADE CAST CHAR CHARACTER CHARACTER_LENGTH CHAR_LENGTH
            CHECK CHECK_POINT_LEN CHECK_POINT_LENGTH COLLATE COLLATION COLUMN COMMIT COMMITTED COMPILETIME COMPUTED CLOSE 
            CONDITIONAL CONNECT CONSTRAINT CONTAINING CONTINUE COUNT CREATE CSTRING CURRENT CURRENT_DATE CURRENT_TIME 
            CURRENT_TIMESTAMP CURSOR DATABASE DATE DAY DB_KEY DEBUG DEC DECIMAL DECLARE DEFAULT
            DELETE DESC DESCENDING DESCRIBE DESCRIPTOR DISCONNECT DISPLAY DISTINCT DO DOMAIN DOUBLE DROP ECHO EDIT ELSE 
            END ENTRY_POINT ESCAPE EVENT EXCEPTION EXECUTE EXISTS EXIT EXTERN EXTERNAL EXTRACT FETCH FILE FILTER FLOAT 
            FOR FOREIGN FOUND FREE_IT FROM FULL FUNCTION GDSCODE GENERATOR GEN_ID GLOBAL GOTO GRANT GROUP GROUP_COMMIT_WAIT 
            GROUP_COMMIT_ WAIT_TIME HAVING HELP HOUR IF IMMEDIATE IN INACTIVE INDEX INDICATOR INIT INNER INPUT INPUT_TYPE 
            INSERT INT INTEGER INTO IS ISOLATION ISQL JOIN KEY LC_MESSAGES LC_TYPE LEFT LENGTH LEV LEVEL LIKE LOGFILE 
            LOG_BUFFER_SIZE LOG_BUF_SIZE LONG MANUAL MAX MAXIMUM MAXIMUM_SEGMENT MAX_SEGMENT MERGE MESSAGE MIN MINIMUM 
            MINUTE MODULE_NAME MONTH NAMES NATIONAL NATURAL NCHAR NO NOAUTO NOT NULL NUMERIC NUM_LOG_BUFS NUM_LOG_BUFFERS 
            OCTET_LENGTH OF ON ONLY OPEN OPTION OR ORDER OUTER OUTPUT OUTPUT_TYPE OVERFLOW PAGE PAGELENGTH PAGES PAGE_SIZE 
            PARAMETER PASSWORD PLAN POSITION POST_EVENT PRECISION PREPARE PROCEDURE PROTECTED PRIMARY PRIVILEGES PUBLIC QUIT 
            RAW_PARTITIONS RDB$DB_KEY READ REAL RECORD_VERSION REFERENCES RELEASE RESERV RESERVING RESTRICT RETAIN RETURN 
            RETURNING_VALUES RETURNS REVOKE RIGHT ROLE ROLLBACK RUNTIME SCHEMA SECOND SEGMENT SELECT SET SHADOW SHARED SHELL 
            SHOW SINGULAR SIZE SMALLINT SNAPSHOT SOME SORT SQLCODE SQLERROR SQLWARNING STABILITY STARTING STARTS STATEMENT 
            STATIC STATISTICS SUB_TYPE SUM SUSPEND TABLE TERMINATOR THEN TIME TIMESTAMP TO TRANSACTION TRANSLATE TRANSLATION 
            TRIGGER TRIM TYPE UNCOMMITTED UNION UNIQUE UPDATE UPPER USER USING VALUE VALUES VARCHAR VARIABLE VARYING VERSION 
            VIEW WAIT WEEKDAY WHEN WHENEVER WHERE WHILE WITH WORK WRITE YEAR YEARDAY""".split(
        )
コード例 #5
0
 def __init__(self, strDbms):
     DdlCommonInterface.__init__(self, strDbms)
     
     self.params['max_id_len'] = { 'default' : 63 }
     
     if self.dbmsType == 'postgres7':
         self.params['change_col_type'] = [
                 'ALTER TABLE %(table_name)s ADD tmp_%(column_name)s %(column_type)s',
                 'UPDATE %(table_name)s SET tmp_%(column_name)s = %(column_name)s',
                 'ALTER TABLE %(table_name)s DROP %(column_name)s',
                 'ALTER TABLE %(table_name)s RENAME tmp_%(column_name)s TO %(column_name)s',
         ]
     
     self.params['keywords'] = """
         ALL AND ANY AS ASC AUTHORIZATION BETWEEN BINARY BOTH CASE CAST CHECK COLLATE COLUMN CONSTRAINT CREATE
         CROSS CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER DEFAULT DEFERRABLE DESC DISTINCT ELSE
         END EXCEPT FALSE FOR FOREIGN FREEZE FROM FULL GRANT GROUP HAVING ILIKE IN INITIALLY INNER INTERSECT
         INTO IS ISNULL JOIN LEADING LEFT LIKE LIMIT LOCALTIME LOCALTIMESTAMP NATURAL NEW NOT NOTNULL NULL 
         OFF OLD ON ONLY OR ORDER OUTER OVERLAPS PRIMARY REFERENCES RIGHT SELECT SESSION_USER SIMILAR SOME TABLE 
         THEN TO TRAILING TRUE UNION UNIQUE USER USING VERBOSE WHEN WHERE""".split()
コード例 #6
0
    def __init__(self, strDbms):
        DdlCommonInterface.__init__(self, strDbms)

        self.params['max_id_len'] = {'default': 63}

        if self.dbmsType == 'postgres7':
            self.params['change_col_type'] = [
                'ALTER TABLE %(table_name)s ADD tmp_%(column_name)s %(column_type)s',
                'UPDATE %(table_name)s SET tmp_%(column_name)s = %(column_name)s',
                'ALTER TABLE %(table_name)s DROP %(column_name)s',
                'ALTER TABLE %(table_name)s RENAME tmp_%(column_name)s TO %(column_name)s',
            ]

        self.params['keywords'] = """
            ALL AND ANY AS ASC AUTHORIZATION BETWEEN BINARY BOTH CASE CAST CHECK COLLATE COLUMN CONSTRAINT CREATE
            CROSS CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER DEFAULT DEFERRABLE DESC DISTINCT ELSE
            END EXCEPT FALSE FOR FOREIGN FREEZE FROM FULL GRANT GROUP HAVING ILIKE IN INITIALLY INNER INTERSECT
            INTO IS ISNULL JOIN LEADING LEFT LIKE LIMIT LOCALTIME LOCALTIMESTAMP NATURAL NEW NOT NOTNULL NULL 
            OFF OLD ON ONLY OR ORDER OUTER OVERLAPS PRIMARY REFERENCES RIGHT SELECT SESSION_USER SIMILAR SOME TABLE 
            THEN TO TRAILING TRUE UNION UNIQUE USER USING VERBOSE WHEN WHERE""".split(
        )
コード例 #7
0
 def __init__(self, strDbms):
     DdlCommonInterface.__init__(self, strDbms)
     
     self.params['max_id_len'] = { 'default' : 63 }
     self.params['alter_default']    = ['ALTER TABLE %(table_name)s MODIFY %(column_name)s %(column_type)s']
     self.params['drop_default']     = ['ALTER TABLE %(table_name)s ALTER %(column_name)s %(column_type)s']
     self.params['rename_column']    = ['ALTER TABLE %(table_name)s RENAME COLUMN %(old_col_name)s TO %(new_col_name)s']
     self.params['change_col_type']  = ['ALTER TABLE %(table_name)s MODIFY %(column_name)s %(column_type)s']
     self.params['drop_column']      = ['ALTER TABLE %(table_name)s DROP COLUMN %(column_name)s']
     self.params['add_relation']     = ['ALTER TABLE %(tablename)s ADD CONSTRAINT %(constraint)s FOREIGN KEY (%(thiscolumn)s) REFERENCES %(othertable)s(%(fk)s)%(ondelete)s']
     self.params['create_view']      = ['CREATE VIEW %(viewname)s AS %(contents)s']
     self.params['create_function']  = ["CREATE FUNCTION %(functionname)s(%(arguments)s) RETURN %(returns)s AS\n%(contents)s;"]
     self.params['drop_function']    = ['DROP FUNCTION %(functionname)s']
     
     self.params['keywords'] = """AS ASC AUDIT ACCESS BY ADD ALL ALTER CHAR AND ANY CHECK DATE CLUSTER COLUMN COMMENT DECIMAL DEFAULT COMPRESS
         DELETE CONNECT DESC DISTINCT DROP CREATE CURRENT ELSE CURSOR GRANT GROUP EXCLUSIVE EXISTS HAVING IDENTIFIED IMMEDIATE
         IN FILE INCREMENT INDEX FLOAT FOR INITIAL INSERT FROM INTEGER INTERSECT INTO IS MINUS MLSLABEL LEVEL LIKE MODE 
         MODIFY LOCK LONG NOAUDIT NOCOMPRESS MAXEXTENTS NOT NOTFOUND NOWAIT NULL NUMBER PCTFREE OF OFFLINE ON ONLINE PRIOR
         PRIVILEGES OPTION OR PUBLIC ORDER RAW SELECT RENAME SESSION SET SHARE RESOURCE SIZE REVOKE SMALLINT ROW ROWID ROWLABEL
         ROWNUM SQLBUF ROWS START UID SUCCESSFUL UNION UNIQUE SYNONYM SYSDATE TABLE UPDATE USER THEN VALIDATE VALIDATION VALUE
         VALUES TO VARCHAR VARCHAR2 VIEW TRIGGER WHENEVER WHERE WITH""".split()
コード例 #8
0
    def __init__(self, strDbms):
        DdlCommonInterface.__init__(self, strDbms)

        self.params['max_id_len'] = {'default': 63}
        self.params['alter_default'] = [
            'ALTER TABLE %(table_name)s MODIFY %(column_name)s %(column_type)s'
        ]
        self.params['drop_default'] = [
            'ALTER TABLE %(table_name)s ALTER %(column_name)s %(column_type)s'
        ]
        self.params['rename_column'] = [
            'ALTER TABLE %(table_name)s RENAME COLUMN %(old_col_name)s TO %(new_col_name)s'
        ]
        self.params['change_col_type'] = [
            'ALTER TABLE %(table_name)s MODIFY %(column_name)s %(column_type)s'
        ]
        self.params['drop_column'] = [
            'ALTER TABLE %(table_name)s DROP COLUMN %(column_name)s'
        ]
        self.params['add_relation'] = [
            'ALTER TABLE %(tablename)s ADD CONSTRAINT %(constraint)s FOREIGN KEY (%(thiscolumn)s) REFERENCES %(othertable)s(%(fk)s)%(ondelete)s'
        ]
        self.params['create_view'] = [
            'CREATE VIEW %(viewname)s AS %(contents)s'
        ]
        self.params['create_function'] = [
            "CREATE FUNCTION %(functionname)s(%(arguments)s) RETURN %(returns)s AS\n%(contents)s;"
        ]
        self.params['drop_function'] = ['DROP FUNCTION %(functionname)s']

        self.params[
            'keywords'] = """AS ASC AUDIT ACCESS BY ADD ALL ALTER CHAR AND ANY CHECK DATE CLUSTER COLUMN COMMENT DECIMAL DEFAULT COMPRESS
            DELETE CONNECT DESC DISTINCT DROP CREATE CURRENT ELSE CURSOR GRANT GROUP EXCLUSIVE EXISTS HAVING IDENTIFIED IMMEDIATE
            IN FILE INCREMENT INDEX FLOAT FOR INITIAL INSERT FROM INTEGER INTERSECT INTO IS MINUS MLSLABEL LEVEL LIKE MODE 
            MODIFY LOCK LONG NOAUDIT NOCOMPRESS MAXEXTENTS NOT NOTFOUND NOWAIT NULL NUMBER PCTFREE OF OFFLINE ON ONLINE PRIOR
            PRIVILEGES OPTION OR PUBLIC ORDER RAW SELECT RENAME SESSION SET SHARE RESOURCE SIZE REVOKE SMALLINT ROW ROWID ROWLABEL
            ROWNUM SQLBUF ROWS START UID SUCCESSFUL UNION UNIQUE SYNONYM SYSDATE TABLE UPDATE USER THEN VALIDATE VALIDATION VALUE
            VALUES TO VARCHAR VARCHAR2 VIEW TRIGGER WHENEVER WHERE WITH""".split(
            )