[Neo-report] r2325 gregory - /trunk/neo/storage/database/mysqldb.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Oct 1 16:12:30 CEST 2010


Author: gregory
Date: Fri Oct  1 16:12:29 2010
New Revision: 2325

Log:
Compute partition to take advantage of the primary key.

Modified:
    trunk/neo/storage/database/mysqldb.py

Modified: trunk/neo/storage/database/mysqldb.py
==============================================================================
--- trunk/neo/storage/database/mysqldb.py [iso-8859-1] (original)
+++ trunk/neo/storage/database/mysqldb.py [iso-8859-1] Fri Oct  1 16:12:29 2010
@@ -295,8 +295,12 @@ class MySQLDatabaseManager(DatabaseManag
             raise ValueError, "Incorrect value reference found for " \
                 "oid %d at tid %d: reference = %d" % (oid, value_serial, tid)
         r = self.query("""SELECT compression, checksum, value, """ \
-            """value_serial FROM obj WHERE oid = %d AND serial = %d""" % (
-            oid, value_serial))
+            """value_serial FROM obj WHERE partition = %(partition)d """
+            """AND oid = %(oid)d AND serial = %(serial)d""" % {
+                'partition': self._getPartition(oid),
+                'oid': oid,
+                'serial': value_serial,
+            })
         compression, checksum, value, next_value_serial = r[0]
         if value is None:
             logging.info("Multiple levels of indirection when " \





More information about the Neo-report mailing list