Changeset 5960
- Timestamp:
- 08/19/07 18:53:39 (1 year ago)
- Files:
-
- django/trunk/django/core/management/sql.py (modified) (2 diffs)
- django/trunk/django/db/backends/ado_mssql/base.py (modified) (1 diff)
- 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) (6 diffs)
- django/trunk/django/db/backends/postgresql/base.py (modified) (1 diff)
- django/trunk/django/db/backends/postgresql_psycopg2/base.py (modified) (1 diff)
- django/trunk/django/db/backends/sqlite3/base.py (modified) (1 diff)
- django/trunk/django/db/models/options.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/core/management/sql.py
r5956 r5960 149 149 style.SQL_TABLE(backend.quote_name(table)), 150 150 style.SQL_KEYWORD(connection.ops.drop_foreignkey_sql()), 151 style.SQL_FIELD(truncate_name(r_name, backend.get_max_name_length()))))151 style.SQL_FIELD(truncate_name(r_name, connection.ops.max_name_length())))) 152 152 del references_to_delete[model] 153 153 if model._meta.has_auto_field and hasattr(backend, 'get_drop_sequence'): … … 298 298 r_name = '%s_refs_%s_%x' % (r_col, col, abs(hash((r_table, table)))) 299 299 final_output.append(style.SQL_KEYWORD('ALTER TABLE') + ' %s ADD CONSTRAINT %s FOREIGN KEY (%s) REFERENCES %s (%s)%s;' % \ 300 (backend.quote_name(r_table), truncate_name(r_name, backend.get_max_name_length()),300 (backend.quote_name(r_table), truncate_name(r_name, connection.ops.max_name_length()), 301 301 backend.quote_name(r_col), backend.quote_name(table), backend.quote_name(col), 302 302 connection.ops.deferrable_sql())) django/trunk/django/db/backends/ado_mssql/base.py
r5959 r5960 107 107 return "DEFAULT" 108 108 109 def get_max_name_length():110 return None111 112 109 def get_start_transaction_sql(): 113 110 return "BEGIN;" django/trunk/django/db/backends/dummy/base.py
r5959 r5960 46 46 get_random_function_sql = complain 47 47 get_pk_default_value = complain 48 get_max_name_length = ignore49 48 get_start_transaction_sql = complain 50 49 get_sql_flush = complain django/trunk/django/db/backends/__init__.py
r5959 r5960 120 120 sql += " OFFSET %s" % offset 121 121 return sql 122 123 def max_name_length(self): 124 """ 125 Returns the maximum length of table and column names, or None if there 126 is no limit. 127 """ 128 return None django/trunk/django/db/backends/mysql/base.py
r5959 r5960 169 169 return "DEFAULT" 170 170 171 def get_max_name_length():172 return None;173 174 171 def get_start_transaction_sql(): 175 172 return "BEGIN;" django/trunk/django/db/backends/mysql_old/base.py
r5959 r5960 188 188 return "DEFAULT" 189 189 190 def get_max_name_length():191 return None;192 193 190 def get_start_transaction_sql(): 194 191 return "BEGIN;" django/trunk/django/db/backends/oracle/base.py
r5959 r5960 59 59 60 60 def last_insert_id(self, cursor, table_name, pk_name): 61 sq_name = util.truncate_name(table_name, get_max_name_length()-3)61 sq_name = util.truncate_name(table_name, self.max_name_length() - 3) 62 62 cursor.execute('SELECT %s_sq.currval FROM dual' % sq_name) 63 63 return cursor.fetchone()[0] … … 67 67 # Instead, they are handled in django/db/backends/oracle/query.py. 68 68 return "" 69 70 def max_name_length(self): 71 return 30 69 72 70 73 class DatabaseWrapper(BaseDatabaseWrapper): … … 171 174 # We simplify things by making Oracle identifiers always uppercase. 172 175 if not name.startswith('"') and not name.endswith('"'): 173 name = '"%s"' % util.truncate_name(name.upper(), get_max_name_length())176 name = '"%s"' % util.truncate_name(name.upper(), DatabaseOperations().max_name_length()) 174 177 return name.upper() 175 178 … … 189 192 def get_pk_default_value(): 190 193 return "DEFAULT" 191 192 def get_max_name_length():193 return 30194 194 195 195 def get_start_transaction_sql(): … … 250 250 251 251 def get_sequence_name(table): 252 name_length = get_max_name_length() - 3252 name_length = DatabaseOperations().max_name_length() - 3 253 253 return '%s_SQ' % util.truncate_name(table, name_length).upper() 254 254 … … 272 272 273 273 def get_trigger_name(table): 274 name_length = get_max_name_length() - 3274 name_length = DatabaseOperations().max_name_length() - 3 275 275 return '%s_TR' % util.truncate_name(table, name_length).upper() 276 276 django/trunk/django/db/backends/postgresql/base.py
r5959 r5960 137 137 def get_pk_default_value(): 138 138 return "DEFAULT" 139 140 def get_max_name_length():141 return None142 139 143 140 def get_start_transaction_sql(): django/trunk/django/db/backends/postgresql_psycopg2/base.py
r5959 r5960 91 91 def get_pk_default_value(): 92 92 return "DEFAULT" 93 94 def get_max_name_length():95 return None96 93 97 94 def get_start_transaction_sql(): django/trunk/django/db/backends/sqlite3/base.py
r5959 r5960 122 122 return "NULL" 123 123 124 def get_max_name_length():125 return None126 127 124 def get_start_transaction_sql(): 128 125 return "BEGIN;" django/trunk/django/db/models/options.py
r5922 r5960 64 64 65 65 def _prepare(self, model): 66 from django.db import backend66 from django.db import connection 67 67 from django.db.backends.util import truncate_name 68 68 if self.order_with_respect_to: … … 80 80 if not self.db_table: 81 81 self.db_table = "%s_%s" % (self.app_label, self.module_name) 82 self.db_table = truncate_name(self.db_table, 83 backend.get_max_name_length()) 82 self.db_table = truncate_name(self.db_table, connection.ops.max_name_length()) 84 83 85 84 def add_field(self, field):
