Author: mtredinnick
Date: 2009-04-11 21:17:45 -0500 (Sat, 11 Apr 2009)
New Revision: 10533

Modified:
   django/branches/releases/1.0.X/django/db/backends/mysql/base.py
Log:
[1.0.X] Fixed #10438 -- Fixed MySQL backend behaviour for UPDATE behaviour.

We need to know the number of rows that are matched by an UPDATE query,
not just the number of rows that are changed. In the relatively unlikely
event that somebody was using Django's cursor proxy and relying on the
previous behaviour, well, that isn't the case any longer. We need to
this version.

Thanks to Daniel Tang for pointing out the solution here.

Backport of r10532 from trunk.

Modified: django/branches/releases/1.0.X/django/db/backends/mysql/base.py
===================================================================
--- django/branches/releases/1.0.X/django/db/backends/mysql/base.py     
2009-04-12 02:15:14 UTC (rev 10532)
+++ django/branches/releases/1.0.X/django/db/backends/mysql/base.py     
2009-04-12 02:17:45 UTC (rev 10533)
@@ -22,7 +22,7 @@
     raise ImproperlyConfigured("MySQLdb-1.2.1p2 or newer is required; you have 
%s" % Database.__version__)
 
 from MySQLdb.converters import conversions
-from MySQLdb.constants import FIELD_TYPE, FLAG
+from MySQLdb.constants import FIELD_TYPE, FLAG, CLIENT
 
 from django.db.backends import *
 from django.db.backends.mysql.client import DatabaseClient
@@ -258,6 +258,9 @@
                 kwargs['host'] = settings.DATABASE_HOST
             if settings.DATABASE_PORT:
                 kwargs['port'] = int(settings.DATABASE_PORT)
+            # We need the number of potentially affected rows after an
+            # "UPDATE", not the number of changed rows.
+            kwargs['client_flag'] = CLIENT.FOUND_ROWS
             kwargs.update(self.options)
             self.connection = Database.connect(**kwargs)
             self.connection.encoders[SafeUnicode] = 
self.connection.encoders[unicode]


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to