Django

Code

Changeset 5953

Show
Ignore:
Timestamp:
08/19/07 17:55:05 (1 year ago)
Author:
adrian
Message:

Refactored get_datetime_cast_sql() to DatabaseOperations?.datetime_cast_sql(). Refs #5106

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/db/backends/ado_mssql/base.py

    r5952 r5953  
    9898    return cursor.fetchone()[0] 
    9999 
    100 def get_datetime_cast_sql(): 
    101     return None 
    102  
    103100def get_limit_offset_sql(limit, offset=None): 
    104101    # TODO: This is a guess. Make sure this is correct. 
  • django/trunk/django/db/backends/dummy/base.py

    r5952 r5953  
    4545dictfetchall = complain 
    4646get_last_insert_id = complain 
    47 get_datetime_cast_sql = complain 
    4847get_limit_offset_sql = complain 
    4948get_random_function_sql = complain 
  • django/trunk/django/db/backends/__init__.py

    r5952 r5953  
    6969        """ 
    7070        raise NotImplementedError() 
     71 
     72    def datetime_cast_sql(self): 
     73        """ 
     74        Returns the SQL necessary to cast a datetime value so that it will be 
     75        retrieved as a Python datetime object instead of a string. 
     76        """ 
     77        return None 
  • django/trunk/django/db/backends/mysql/base.py

    r5952 r5953  
    153153    return cursor.lastrowid 
    154154 
    155 def get_datetime_cast_sql(): 
    156     return None 
    157  
    158155def get_limit_offset_sql(limit, offset=None): 
    159156    sql = "LIMIT " 
  • django/trunk/django/db/backends/mysql_old/base.py

    r5952 r5953  
    172172    return cursor.lastrowid 
    173173 
    174 def get_datetime_cast_sql(): 
    175     return None 
    176  
    177174def get_limit_offset_sql(limit, offset=None): 
    178175    sql = "LIMIT " 
  • django/trunk/django/db/backends/oracle/base.py

    r5952 r5953  
    5252        return sql 
    5353 
     54    def datetime_cast_sql(self): 
     55        return "TO_TIMESTAMP(%s, 'YYYY-MM-DD HH24:MI:SS.FF')" 
     56 
    5457class DatabaseWrapper(BaseDatabaseWrapper): 
    5558    ops = DatabaseOperations() 
     
    166169    cursor.execute('SELECT %s_sq.currval FROM dual' % sq_name) 
    167170    return cursor.fetchone()[0] 
    168  
    169 def get_datetime_cast_sql(): 
    170     return "TO_TIMESTAMP(%s, 'YYYY-MM-DD HH24:MI:SS.FF')" 
    171171 
    172172def get_field_cast_sql(db_type): 
  • django/trunk/django/db/backends/postgresql/base.py

    r5952 r5953  
    128128    cursor.execute("SELECT CURRVAL('\"%s_%s_seq\"')" % (table_name, pk_name)) 
    129129    return cursor.fetchone()[0] 
    130  
    131 def get_datetime_cast_sql(): 
    132     return None 
    133130 
    134131def get_limit_offset_sql(limit, offset=None): 
  • django/trunk/django/db/backends/postgresql_psycopg2/base.py

    r5952 r5953  
    8282    cursor.execute("SELECT CURRVAL('\"%s_%s_seq\"')" % (table_name, pk_name)) 
    8383    return cursor.fetchone()[0] 
    84  
    85 def get_datetime_cast_sql(): 
    86     return None 
    8784 
    8885def get_limit_offset_sql(limit, offset=None): 
  • django/trunk/django/db/backends/sqlite3/base.py

    r5952 r5953  
    115115        return None 
    116116    return str(getattr(dt, lookup_type)) 
    117  
    118 def get_datetime_cast_sql(): 
    119     return None 
    120117 
    121118def get_limit_offset_sql(limit, offset=None): 
  • django/trunk/django/db/models/query.py

    r5952 r5953  
    781781        table_prefix = backend.quote_name(table_prefix[:-1])+'.' 
    782782    field_name = backend.quote_name(field_name) 
    783     if type(value) == datetime.datetime and backend.get_datetime_cast_sql(): 
    784         cast_sql = backend.get_datetime_cast_sql() 
     783    if type(value) == datetime.datetime and connection.ops.datetime_cast_sql(): 
     784        cast_sql = connection.ops.datetime_cast_sql() 
    785785    else: 
    786786        cast_sql = '%s' 
     
    795795        format = '%s %s' 
    796796    try: 
    797         return format % (field_sql, 
    798                          backend.OPERATOR_MAPPING[lookup_type] % cast_sql) 
     797        return format % (field_sql, backend.OPERATOR_MAPPING[lookup_type] % cast_sql) 
    799798    except KeyError: 
    800799        pass