[sqlalchemy] Re: UOW relation delete bug

2007-03-28 Thread Rick Morrison
yikes, you're right - fixed in rev 2458. thanks for having a look. On 3/28/07, Michael Bayer <[EMAIL PROTECTED]> wrote: > > are you sure thats right ? ClauseParameters doesnt have any kind of > "__getattr__" logic going oni think the test you have there would return > False in all cases. ar

[sqlalchemy] Re: UOW relation delete bug

2007-03-28 Thread Michael Bayer
I doubt theres any performance difference if the DBAPI does the right thing with a prepared statement. also, IN() wont work too well if the rows are targeted by more than just one column; plus it generally limits to 1000 elements and presents a larger and non-consistent string to the DB wh

[sqlalchemy] Re: UOW relation delete bug

2007-03-28 Thread Rick Morrison
Working now... Anyway, wouldn't this operation be a lot more efficient using IN() instead of executemany()? Is detecting that too hard? Rick On 3/28/07, Michael Bayer <[EMAIL PROTECTED]> wrote: > > > it works for me, the bind params are in sqlite: > > [[1], [3], [5]] > > in postgres: > > [{'id'

[sqlalchemy] Re: UOW relation delete bug

2007-03-28 Thread Michael Bayer
are you sure thats right ? ClauseParameters doesnt have any kind of "__getattr__" logic going oni think the test you have there would return False in all cases. are you sure you dont mean: self.IINSERT = tbl.has_sequence.key in parameters[0] has_key() has been removed in favor of just _

[sqlalchemy] Re: UOW relation delete bug

2007-03-28 Thread Rick Morrison
The MSSQL module examines the parameter object, looking for whether or not the query being executed has an explicit primary key on an autoincrementing column. Inserting those things in MSSQL is a special mode (don't get me started on how goofy that is...). The code was using "key in parmobject" to

[sqlalchemy] Re: UOW relation delete bug

2007-03-28 Thread Rick Morrison
Hey Mike, this looks to be related to the parameters-as-ClauseParameters instead of Python dict() on a different thread. I'm going to need some help or advice beating the MSSQL module into shape with the new convention. Where does the positional / non-positional specification go? I don't see it in

[sqlalchemy] Re: UOW relation delete bug

2007-03-28 Thread Michael Bayer
On Mar 28, 1:15 pm, "Rick Morrison" <[EMAIL PROTECTED]> wrote: > Hey Mike, this looks to be related to the parameters-as-ClauseParameters > instead of Python dict() on a different thread. you mean the thing i just checked in yesterday ? OK yeah, youve always been getting a ClauseParameters obj

[sqlalchemy] Re: UOW relation delete bug

2007-03-27 Thread Michael Bayer
it works for me, the bind params are in sqlite: [[1], [3], [5]] in postgres: [{'id': 1}, {'id': 3}, {'id': 5}] in both cases, thats a list of three sets of bind params, one positional and the other named, which correspond to executemany(). if this condition doesnt work with MS-SQL, MS-S