Bug 32175 - Exception thrown by clearBindings in MySql 4.1 if updated bindings are present
Summary: Exception thrown by clearBindings in MySql 4.1 if updated bindings are present
Status: RESOLVED FIXED
Alias: None
Product: Slide
Classification: Unclassified
Component: Stores (show other bugs)
Version: Nightly
Hardware: All All
: P3 normal (vote)
Target Milestone: ---
Assignee: Slide Developer List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-11-11 06:18 UTC by Alex Cruikshank
Modified: 2004-11-16 19:05 UTC (History)
0 users



Attachments
Patch file for MySQL41RDBMSAdapter, MySQLRDBMSAdapter and StandardRDBMSAdapter (23.68 KB, patch)
2004-11-11 06:26 UTC, Alex Cruikshank
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Cruikshank 2004-11-11 06:18:07 UTC
I'm not quite sure of the exact conditions under which clearBindings is called
with a non-empty set of updatedBindings, but it appears to happen during the
(very complicated) save sequence in WebDAVFS on OS X 10.3.  The delete semantics
in MySQL 4.1 are different from MySQL 4.0.  This problem has mostly been solved
with the addition of the MySQL41RDBMSAdapter, but it looks like additional
delete statements were added to resolve bug #30442, and they weren't overridden
in the 4.1 adapter.
Comment 1 Alex Cruikshank 2004-11-11 06:26:08 UTC
Created attachment 13395 [details]
Patch file for MySQL41RDBMSAdapter, MySQLRDBMSAdapter and StandardRDBMSAdapter
Comment 2 Alex Cruikshank 2004-11-11 06:30:40 UTC
The easiest way to fix this problem is to copy the clearBindings method from
MySQLRDBMSAdapter to MySQL41RDBMSAdapter, but the 4.1 adapter is already
duplicating a lot of logic simply to replace the table name in the delete
statements with aliases.  The proposed patch is a refactor of
StandardRDBMSAdapter and MySQLRDBMSAdapter that creates a callback method to
create the standard delete statements. MySQL41RDBMSAdapter simply overrides this
method to delete the alias rather than the table.
Comment 3 Oliver Zeigermann 2004-11-11 17:17:48 UTC
Patch applied to CVS HEAD.