Django

Code

Changeset 5955

Show
Ignore:
Timestamp:
08/19/07 18:03:38 (1 year ago)
Author:
adrian
Message:

Refactored get_deferrable_sql() to DatabaseOperations?.deferrable_sql(). Refs #5106

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/core/management/sql.py

    r5950 r5955  
    244244                    style.SQL_TABLE(backend.quote_name(f.rel.to._meta.db_table)) + ' (' + \ 
    245245                    style.SQL_FIELD(backend.quote_name(f.rel.to._meta.get_field(f.rel.field_name).column)) + ')' + 
    246                     backend.get_deferrable_sql() 
     246                    connection.ops.deferrable_sql() 
    247247                ) 
    248248            else: 
     
    281281    Returns any ALTER TABLE statements to add constraints after the fact. 
    282282    """ 
    283     from django.db import backend 
     283    from django.db import backend, connection 
    284284    from django.db.backends.util import truncate_name 
    285285 
     
    300300                    (backend.quote_name(r_table), truncate_name(r_name, backend.get_max_name_length()), 
    301301                    backend.quote_name(r_col), backend.quote_name(table), backend.quote_name(col), 
    302                     backend.get_deferrable_sql())) 
     302                    connection.ops.deferrable_sql())) 
    303303            del pending_references[model] 
    304304    return final_output 
    305305 
    306306def many_to_many_sql_for_model(model, style): 
    307     from django.db import backend, models 
     307    from django.db import backend, connection, models 
    308308    from django.contrib.contenttypes import generic 
    309309 
     
    330330                style.SQL_TABLE(backend.quote_name(opts.db_table)), 
    331331                style.SQL_FIELD(backend.quote_name(opts.pk.column)), 
    332                 backend.get_deferrable_sql())) 
     332                connection.ops.deferrable_sql())) 
    333333            table_output.append('    %s %s %s %s (%s)%s,' % \ 
    334334                (style.SQL_FIELD(backend.quote_name(f.m2m_reverse_name())), 
     
    337337                style.SQL_TABLE(backend.quote_name(f.rel.to._meta.db_table)), 
    338338                style.SQL_FIELD(backend.quote_name(f.rel.to._meta.pk.column)), 
    339                 backend.get_deferrable_sql())) 
     339                connection.ops.deferrable_sql())) 
    340340            table_output.append('    %s (%s, %s)%s' % \ 
    341341                (style.SQL_KEYWORD('UNIQUE'), 
  • django/trunk/django/db/backends/ado_mssql/base.py

    r5953 r5955  
    6161            return "Convert(datetime, Convert(varchar(12), %s))" % field_name 
    6262 
     63    def deferrable_sql(self): 
     64        return " DEFERRABLE INITIALLY DEFERRED" 
     65 
    6366class DatabaseWrapper(BaseDatabaseWrapper): 
    6467    ops = DatabaseOperations() 
     
    107110def get_random_function_sql(): 
    108111    return "RAND()" 
    109  
    110 def get_deferrable_sql(): 
    111     return " DEFERRABLE INITIALLY DEFERRED" 
    112112 
    113113def get_fulltext_search_sql(field_name): 
  • django/trunk/django/db/backends/dummy/base.py

    r5953 r5955  
    4747get_limit_offset_sql = complain 
    4848get_random_function_sql = complain 
    49 get_deferrable_sql = complain 
    5049get_fulltext_search_sql = complain 
    5150get_drop_foreignkey_sql = complain 
  • django/trunk/django/db/backends/__init__.py

    r5954 r5955  
    7979        """ 
    8080        return None 
     81 
     82    def deferrable_sql(self): 
     83        """ 
     84        Returns the SQL necessary to make a constraint "initially deferred" 
     85        during a CREATE TABLE statement. 
     86        """ 
     87        return '' 
  • django/trunk/django/db/backends/mysql/base.py

    r5953 r5955  
    162162    return "RAND()" 
    163163 
    164 def get_deferrable_sql(): 
    165     return "" 
    166  
    167164def get_fulltext_search_sql(field_name): 
    168165    return 'MATCH (%s) AGAINST (%%s IN BOOLEAN MODE)' % field_name 
  • django/trunk/django/db/backends/mysql_old/base.py

    r5953 r5955  
    181181    return "RAND()" 
    182182 
    183 def get_deferrable_sql(): 
    184     return "" 
    185  
    186183def get_fulltext_search_sql(field_name): 
    187184    return 'MATCH (%s) AGAINST (%%s IN BOOLEAN MODE)' % field_name 
  • django/trunk/django/db/backends/oracle/base.py

    r5953 r5955  
    5555        return "TO_TIMESTAMP(%s, 'YYYY-MM-DD HH24:MI:SS.FF')" 
    5656 
     57    def deferrable_sql(self): 
     58        return " DEFERRABLE INITIALLY DEFERRED" 
     59 
    5760class DatabaseWrapper(BaseDatabaseWrapper): 
    5861    ops = DatabaseOperations() 
     
    183186def get_random_function_sql(): 
    184187    return "DBMS_RANDOM.RANDOM" 
    185  
    186 def get_deferrable_sql(): 
    187     return " DEFERRABLE INITIALLY DEFERRED" 
    188188 
    189189def get_fulltext_search_sql(field_name): 
  • django/trunk/django/db/backends/postgresql/base.py

    r5953 r5955  
    6666        # http://www.postgresql.org/docs/8.0/static/functions-datetime.html#FUNCTIONS-DATETIME-TRUNC 
    6767        return "DATE_TRUNC('%s', %s)" % (lookup_type, field_name) 
     68 
     69    def deferrable_sql(self): 
     70        return " DEFERRABLE INITIALLY DEFERRED" 
    6871 
    6972class DatabaseWrapper(BaseDatabaseWrapper): 
     
    137140def get_random_function_sql(): 
    138141    return "RANDOM()" 
    139  
    140 def get_deferrable_sql(): 
    141     return " DEFERRABLE INITIALLY DEFERRED" 
    142142 
    143143def get_fulltext_search_sql(field_name): 
  • django/trunk/django/db/backends/postgresql_psycopg2/base.py

    r5953 r5955  
    2828        # http://www.postgresql.org/docs/8.0/static/functions-datetime.html#FUNCTIONS-DATETIME-TRUNC 
    2929        return "DATE_TRUNC('%s', %s)" % (lookup_type, field_name) 
     30 
     31    def deferrable_sql(self): 
     32        return " DEFERRABLE INITIALLY DEFERRED" 
    3033 
    3134class DatabaseWrapper(BaseDatabaseWrapper): 
     
    9194def get_random_function_sql(): 
    9295    return "RANDOM()" 
    93  
    94 def get_deferrable_sql(): 
    95     return " DEFERRABLE INITIALLY DEFERRED" 
    9696 
    9797def get_fulltext_search_sql(field_name): 
  • django/trunk/django/db/backends/sqlite3/base.py

    r5953 r5955  
    124124def get_random_function_sql(): 
    125125    return "RANDOM()" 
    126  
    127 def get_deferrable_sql(): 
    128     return "" 
    129126 
    130127def get_fulltext_search_sql(field_name):