On Wed, Jul 30, 2008 at 7:02 PM, James Henstridge <[EMAIL PROTECTED]> wrote:
> On Mon, Jul 28, 2008 at 4:17 PM, Gabriel Rossetti
> <[EMAIL PROTECTED]> wrote:
>> Hello everyone,
>>
>> I turned on the debugging and I'm seeing queries like these :
>>
>> INSERT INTO `language` (name) VALUES (%s) (u'ENGLISH',)
>> SELECT `language`.language_id FROM `language` WHERE
>> `language`.language_id = 1 ()
>> INSERT INTO `language` (name) VALUES (%s) (u'FRENCH',)
>> SELECT `language`.language_id FROM `language` WHERE
>> `language`.language_id = 2 ()
>>
>> Why is a query made for `language`.language_id if we already have it
>> (it's used in the WHERE statement)?
>
> This looks like a bug in the mysql backend.  The use of
> cursor.lastrowid could probably be used to fill in the primary
> variables in MySQLConnection.execute(), similar to what we do in the
> PostgreSQL backend.
>
> Filling them in at that point should be just as reliable as using them
> to construct the where clause in get_insert_identity().

I've uploaded a branch here that should help with this problem:

https://code.launchpad.net/~jamesh/storm/mysql-insert-id

Could you try it out to see if it helps for you?  I believe I've got
the correct semantics for handling the insert identity.

James.

-- 
storm mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/storm

Reply via email to