Django

Code

Changeset 5260

Show
Ignore:
Timestamp:
05/16/07 11:48:36 (1 year ago)
Author:
bouldersprinters
Message:

boulder-oracle-sprint: Removed obsolete stripping of microseconds from datetime objects.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/boulder-oracle-sprint/django/db/models/fields/__init__.py

    r5254 r5260  
    536536        # Casts dates into string format for entry into database. 
    537537        if value is not None: 
    538             # MySQL/Oracle will throw a warning if microseconds are given, because 
    539             # neither database supports microseconds. 
    540             if settings.DATABASE_ENGINE in ('mysql', 'oracle') and hasattr(value, 'microsecond'): 
     538            # MySQL will throw a warning if microseconds are given, because it 
     539            # doesn't support microseconds. 
     540            if settings.DATABASE_ENGINE == 'mysql' and hasattr(value, 'microsecond'): 
    541541                value = value.replace(microsecond=0) 
    542542            value = str(value) 
     
    544544 
    545545    def get_db_prep_lookup(self, lookup_type, value): 
    546         # Oracle will throw an error if microseconds are given, because it 
    547         # doesn't support microseconds. 
    548         if settings.DATABASE_ENGINE == 'oracle' and hasattr(value, 'microsecond'): 
    549             value = value.replace(microsecond=0) 
    550546        if lookup_type == 'range': 
    551547            value = [str(v) for v in value] 
     
    847843            # MySQL will throw a warning if microseconds are given, because it 
    848844            # doesn't support microseconds. 
    849             if settings.DATABASE_ENGINE in ('mysql', 'oracle') and hasattr(value, 'microsecond'): 
     845            if settings.DATABASE_ENGINE == 'mysql' and hasattr(value, 'microsecond'): 
    850846                value = value.replace(microsecond=0) 
    851             if settings.DATABASE_ENGINE == 'oracle': 
     847            elif settings.DATABASE_ENGINE == 'oracle': 
    852848                # cx_Oracle expects a datetime.datetime to persist into TIMESTAMP field. 
    853849                if isinstance(value, datetime.time): 
    854                     value = datetime.datetime(1900, 1, 1, value.hour, value.minute, value.second) 
     850                    value = datetime.datetime(1900, 1, 1, value.hour, value.minute, 
     851                                              value.second, value.microsecond) 
    855852                elif isinstance(value, basestring): 
    856853                    value = datetime.datetime(*(time.strptime(value, '%H:%M:%S')[:6]))