Changeset 5955
- Timestamp:
- 08/19/07 18:03:38 (1 year ago)
- Files:
-
- django/trunk/django/core/management/sql.py (modified) (5 diffs)
- django/trunk/django/db/backends/ado_mssql/base.py (modified) (2 diffs)
- django/trunk/django/db/backends/dummy/base.py (modified) (1 diff)
- django/trunk/django/db/backends/__init__.py (modified) (1 diff)
- django/trunk/django/db/backends/mysql/base.py (modified) (1 diff)
- django/trunk/django/db/backends/mysql_old/base.py (modified) (1 diff)
- django/trunk/django/db/backends/oracle/base.py (modified) (2 diffs)
- django/trunk/django/db/backends/postgresql/base.py (modified) (2 diffs)
- django/trunk/django/db/backends/postgresql_psycopg2/base.py (modified) (2 diffs)
- django/trunk/django/db/backends/sqlite3/base.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/core/management/sql.py
r5950 r5955 244 244 style.SQL_TABLE(backend.quote_name(f.rel.to._meta.db_table)) + ' (' + \ 245 245 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() 247 247 ) 248 248 else: … … 281 281 Returns any ALTER TABLE statements to add constraints after the fact. 282 282 """ 283 from django.db import backend 283 from django.db import backend, connection 284 284 from django.db.backends.util import truncate_name 285 285 … … 300 300 (backend.quote_name(r_table), truncate_name(r_name, backend.get_max_name_length()), 301 301 backend.quote_name(r_col), backend.quote_name(table), backend.quote_name(col), 302 backend.get_deferrable_sql()))302 connection.ops.deferrable_sql())) 303 303 del pending_references[model] 304 304 return final_output 305 305 306 306 def many_to_many_sql_for_model(model, style): 307 from django.db import backend, models307 from django.db import backend, connection, models 308 308 from django.contrib.contenttypes import generic 309 309 … … 330 330 style.SQL_TABLE(backend.quote_name(opts.db_table)), 331 331 style.SQL_FIELD(backend.quote_name(opts.pk.column)), 332 backend.get_deferrable_sql()))332 connection.ops.deferrable_sql())) 333 333 table_output.append(' %s %s %s %s (%s)%s,' % \ 334 334 (style.SQL_FIELD(backend.quote_name(f.m2m_reverse_name())), … … 337 337 style.SQL_TABLE(backend.quote_name(f.rel.to._meta.db_table)), 338 338 style.SQL_FIELD(backend.quote_name(f.rel.to._meta.pk.column)), 339 backend.get_deferrable_sql()))339 connection.ops.deferrable_sql())) 340 340 table_output.append(' %s (%s, %s)%s' % \ 341 341 (style.SQL_KEYWORD('UNIQUE'), django/trunk/django/db/backends/ado_mssql/base.py
r5953 r5955 61 61 return "Convert(datetime, Convert(varchar(12), %s))" % field_name 62 62 63 def deferrable_sql(self): 64 return " DEFERRABLE INITIALLY DEFERRED" 65 63 66 class DatabaseWrapper(BaseDatabaseWrapper): 64 67 ops = DatabaseOperations() … … 107 110 def get_random_function_sql(): 108 111 return "RAND()" 109 110 def get_deferrable_sql():111 return " DEFERRABLE INITIALLY DEFERRED"112 112 113 113 def get_fulltext_search_sql(field_name): django/trunk/django/db/backends/dummy/base.py
r5953 r5955 47 47 get_limit_offset_sql = complain 48 48 get_random_function_sql = complain 49 get_deferrable_sql = complain50 49 get_fulltext_search_sql = complain 51 50 get_drop_foreignkey_sql = complain django/trunk/django/db/backends/__init__.py
r5954 r5955 79 79 """ 80 80 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 162 162 return "RAND()" 163 163 164 def get_deferrable_sql():165 return ""166 167 164 def get_fulltext_search_sql(field_name): 168 165 return 'MATCH (%s) AGAINST (%%s IN BOOLEAN MODE)' % field_name django/trunk/django/db/backends/mysql_old/base.py
r5953 r5955 181 181 return "RAND()" 182 182 183 def get_deferrable_sql():184 return ""185 186 183 def get_fulltext_search_sql(field_name): 187 184 return 'MATCH (%s) AGAINST (%%s IN BOOLEAN MODE)' % field_name django/trunk/django/db/backends/oracle/base.py
r5953 r5955 55 55 return "TO_TIMESTAMP(%s, 'YYYY-MM-DD HH24:MI:SS.FF')" 56 56 57 def deferrable_sql(self): 58 return " DEFERRABLE INITIALLY DEFERRED" 59 57 60 class DatabaseWrapper(BaseDatabaseWrapper): 58 61 ops = DatabaseOperations() … … 183 186 def get_random_function_sql(): 184 187 return "DBMS_RANDOM.RANDOM" 185 186 def get_deferrable_sql():187 return " DEFERRABLE INITIALLY DEFERRED"188 188 189 189 def get_fulltext_search_sql(field_name): django/trunk/django/db/backends/postgresql/base.py
r5953 r5955 66 66 # http://www.postgresql.org/docs/8.0/static/functions-datetime.html#FUNCTIONS-DATETIME-TRUNC 67 67 return "DATE_TRUNC('%s', %s)" % (lookup_type, field_name) 68 69 def deferrable_sql(self): 70 return " DEFERRABLE INITIALLY DEFERRED" 68 71 69 72 class DatabaseWrapper(BaseDatabaseWrapper): … … 137 140 def get_random_function_sql(): 138 141 return "RANDOM()" 139 140 def get_deferrable_sql():141 return " DEFERRABLE INITIALLY DEFERRED"142 142 143 143 def get_fulltext_search_sql(field_name): django/trunk/django/db/backends/postgresql_psycopg2/base.py
r5953 r5955 28 28 # http://www.postgresql.org/docs/8.0/static/functions-datetime.html#FUNCTIONS-DATETIME-TRUNC 29 29 return "DATE_TRUNC('%s', %s)" % (lookup_type, field_name) 30 31 def deferrable_sql(self): 32 return " DEFERRABLE INITIALLY DEFERRED" 30 33 31 34 class DatabaseWrapper(BaseDatabaseWrapper): … … 91 94 def get_random_function_sql(): 92 95 return "RANDOM()" 93 94 def get_deferrable_sql():95 return " DEFERRABLE INITIALLY DEFERRED"96 96 97 97 def get_fulltext_search_sql(field_name): django/trunk/django/db/backends/sqlite3/base.py
r5953 r5955 124 124 def get_random_function_sql(): 125 125 return "RANDOM()" 126 127 def get_deferrable_sql():128 return ""129 126 130 127 def get_fulltext_search_sql(field_name):
