Django

Code

Changeset 5960

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

Refactored get_max_name_length() to DatabaseOperations?.max_name_length(). Refs #5106

Files:

Legend:

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

    r5956 r5960  
    149149                        style.SQL_TABLE(backend.quote_name(table)), 
    150150                        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())))) 
    152152                del references_to_delete[model] 
    153153            if model._meta.has_auto_field and hasattr(backend, 'get_drop_sequence'): 
     
    298298                r_name = '%s_refs_%s_%x' % (r_col, col, abs(hash((r_table, table)))) 
    299299                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()), 
    301301                    backend.quote_name(r_col), backend.quote_name(table), backend.quote_name(col), 
    302302                    connection.ops.deferrable_sql())) 
  • django/trunk/django/db/backends/ado_mssql/base.py

    r5959 r5960  
    107107    return "DEFAULT" 
    108108 
    109 def get_max_name_length(): 
    110     return None 
    111  
    112109def get_start_transaction_sql(): 
    113110    return "BEGIN;" 
  • django/trunk/django/db/backends/dummy/base.py

    r5959 r5960  
    4646get_random_function_sql = complain 
    4747get_pk_default_value = complain 
    48 get_max_name_length = ignore 
    4948get_start_transaction_sql = complain 
    5049get_sql_flush = complain 
  • django/trunk/django/db/backends/__init__.py

    r5959 r5960  
    120120            sql += " OFFSET %s" % offset 
    121121        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  
    169169    return "DEFAULT" 
    170170 
    171 def get_max_name_length(): 
    172     return None; 
    173  
    174171def get_start_transaction_sql(): 
    175172    return "BEGIN;" 
  • django/trunk/django/db/backends/mysql_old/base.py

    r5959 r5960  
    188188    return "DEFAULT" 
    189189 
    190 def get_max_name_length(): 
    191     return None; 
    192  
    193190def get_start_transaction_sql(): 
    194191    return "BEGIN;" 
  • django/trunk/django/db/backends/oracle/base.py

    r5959 r5960  
    5959 
    6060    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) 
    6262        cursor.execute('SELECT %s_sq.currval FROM dual' % sq_name) 
    6363        return cursor.fetchone()[0] 
     
    6767        # Instead, they are handled in django/db/backends/oracle/query.py. 
    6868        return "" 
     69 
     70    def max_name_length(self): 
     71        return 30 
    6972 
    7073class DatabaseWrapper(BaseDatabaseWrapper): 
     
    171174    # We simplify things by making Oracle identifiers always uppercase. 
    172175    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()) 
    174177    return name.upper() 
    175178 
     
    189192def get_pk_default_value(): 
    190193    return "DEFAULT" 
    191  
    192 def get_max_name_length(): 
    193     return 30 
    194194 
    195195def get_start_transaction_sql(): 
     
    250250 
    251251def get_sequence_name(table): 
    252     name_length = get_max_name_length() - 3 
     252    name_length = DatabaseOperations().max_name_length() - 3 
    253253    return '%s_SQ' % util.truncate_name(table, name_length).upper() 
    254254 
     
    272272 
    273273def get_trigger_name(table): 
    274     name_length = get_max_name_length() - 3 
     274    name_length = DatabaseOperations().max_name_length() - 3 
    275275    return '%s_TR' % util.truncate_name(table, name_length).upper() 
    276276 
  • django/trunk/django/db/backends/postgresql/base.py

    r5959 r5960  
    137137def get_pk_default_value(): 
    138138    return "DEFAULT" 
    139  
    140 def get_max_name_length(): 
    141     return None 
    142139 
    143140def get_start_transaction_sql(): 
  • django/trunk/django/db/backends/postgresql_psycopg2/base.py

    r5959 r5960  
    9191def get_pk_default_value(): 
    9292    return "DEFAULT" 
    93  
    94 def get_max_name_length(): 
    95     return None 
    9693 
    9794def get_start_transaction_sql(): 
  • django/trunk/django/db/backends/sqlite3/base.py

    r5959 r5960  
    122122    return "NULL" 
    123123 
    124 def get_max_name_length(): 
    125     return None 
    126  
    127124def get_start_transaction_sql(): 
    128125    return "BEGIN;" 
  • django/trunk/django/db/models/options.py

    r5922 r5960  
    6464 
    6565    def _prepare(self, model): 
    66         from django.db import backend 
     66        from django.db import connection 
    6767        from django.db.backends.util import truncate_name 
    6868        if self.order_with_respect_to: 
     
    8080        if not self.db_table: 
    8181            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()) 
    8483 
    8584    def add_field(self, field):