Django

Code

Changeset 695

Show
Ignore:
Timestamp:
09/25/05 22:14:37 (3 years ago)
Author:
jacob
Message:

Fixed #515 (again) - renamed "key" field in SQL cache to "cache_key" because
MySQL reserves "key".

Files:

Legend:

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

    r692 r695  
    378378    def get(self, key, default=None): 
    379379        cursor = db.cursor() 
    380         cursor.execute("SELECT key, value, expires FROM %s WHERE key = %%s" % self._table, [key]) 
     380        cursor.execute("SELECT cache_key, value, expires FROM %s WHERE cache_key = %%s" % self._table, [key]) 
    381381        row = cursor.fetchone() 
    382382        if row is None: 
     
    384384        now = datetime.now() 
    385385        if row[2] < now: 
    386             cursor.execute("DELETE FROM %s WHERE key = %%s" % self._table, [key]) 
     386            cursor.execute("DELETE FROM %s WHERE cache_key = %%s" % self._table, [key]) 
    387387            db.commit() 
    388388            return default 
     
    400400            self._cull(cursor, now) 
    401401        encoded = base64.encodestring(pickle.dumps(value, 2)).strip() 
    402         cursor.execute("SELECT key FROM %s WHERE key = %%s" % self._table, [key]) 
     402        cursor.execute("SELECT cache_key FROM %s WHERE cache_key = %%s" % self._table, [key]) 
    403403        if cursor.fetchone(): 
    404             cursor.execute("UPDATE %s SET value = %%s, expires = %%s WHERE key = %%s" % self._table, [encoded, str(exp), key]) 
     404            cursor.execute("UPDATE %s SET value = %%s, expires = %%s WHERE cache_key = %%s" % self._table, [encoded, str(exp), key]) 
    405405        else: 
    406             cursor.execute("INSERT INTO %s (key, value, expires) VALUES (%%s, %%s, %%s)" % self._table, [key, encoded, str(exp)]) 
     406            cursor.execute("INSERT INTO %s (cache_key, value, expires) VALUES (%%s, %%s, %%s)" % self._table, [key, encoded, str(exp)]) 
    407407        db.commit() 
    408408         
    409409    def delete(self, key): 
    410410        cursor = db.cursor() 
    411         cursor.execute("DELETE FROM %s WHERE key = %%s" % self._table, [key]) 
     411        cursor.execute("DELETE FROM %s WHERE cache_key = %%s" % self._table, [key]) 
    412412        db.commit() 
    413413         
    414414    def has_key(self, key): 
    415415        cursor = db.cursor() 
    416         cursor.execute("SELECT key FROM %s WHERE key = %%s" % self._table, [key]) 
     416        cursor.execute("SELECT cache_key FROM %s WHERE cache_key = %%s" % self._table, [key]) 
    417417        return cursor.fetchone() is not None 
    418418         
     
    425425            num = cursor.fetchone()[0] 
    426426            if num > self._max_entries: 
    427                 cursor.execute("SELECT key FROM %s ORDER BY key LIMIT 1 OFFSET %%s" % self._table, [num / self._cull_frequency]) 
    428                 cursor.execute("DELETE FROM %s WHERE key < %%s" % self._table, [cursor.fetchone()[0]]) 
     427                cursor.execute("SELECT cache_key FROM %s ORDER BY cache_key LIMIT 1 OFFSET %%s" % self._table, [num / self._cull_frequency]) 
     428                cursor.execute("DELETE FROM %s WHERE cache_key < %%s" % self._table, [cursor.fetchone()[0]]) 
    429429         
    430430########################################## 
  • django/trunk/django/core/management.py

    r692 r695  
    627627    from django.core import db, meta 
    628628    fields = ( 
    629         meta.CharField(name='key', maxlength=255, unique=True, primary_key=True), 
     629        # "key" is a reserved word in MySQL, so use "cache_key" instead. 
     630        meta.CharField(name='cache_key', maxlength=255, unique=True, primary_key=True), 
    630631        meta.TextField(name='value'), 
    631632        meta.DateTimeField(name='expires', db_index=True),