mirror of
https://github.com/django/django.git
synced 2024-12-23 09:36:06 +00:00
Fixed #10488: fixed DB cache backend test failures in Oracle.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10051 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
0ae95f80b4
commit
83c1572cc4
3
django/core/cache/backends/db.py
vendored
3
django/core/cache/backends/db.py
vendored
@ -35,7 +35,8 @@ class CacheClass(BaseCache):
|
||||
cursor.execute("DELETE FROM %s WHERE cache_key = %%s" % self._table, [key])
|
||||
transaction.commit_unless_managed()
|
||||
return default
|
||||
return pickle.loads(base64.decodestring(row[1]))
|
||||
value = connection.ops.process_clob(row[1])
|
||||
return pickle.loads(base64.decodestring(value))
|
||||
|
||||
def set(self, key, value, timeout=None):
|
||||
self._base_set('set', key, value, timeout)
|
||||
|
@ -255,6 +255,13 @@ class BaseDatabaseOperations(object):
|
||||
"""
|
||||
return 'DEFAULT'
|
||||
|
||||
def process_clob(self, value):
|
||||
"""
|
||||
Returns the value of a CLOB column, for backends that return a locator
|
||||
object that requires additional processing.
|
||||
"""
|
||||
return value
|
||||
|
||||
def return_insert_id(self):
|
||||
"""
|
||||
For backends that support returning the last insert ID as part
|
||||
|
@ -123,6 +123,11 @@ WHEN (new.%(col_name)s IS NULL)
|
||||
def prep_for_iexact_query(self, x):
|
||||
return x
|
||||
|
||||
def process_clob(self, value):
|
||||
if value is None:
|
||||
return u''
|
||||
return force_unicode(value.read())
|
||||
|
||||
def query_class(self, DefaultQueryClass):
|
||||
return query.query_class(DefaultQueryClass, Database)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user