First, thanks for that quick answer, that explains it. I turned
autocommit on, and it works again.

That leads me to this question: I do have session.commit() sprinkled
throughout my code without any "except: rollback()" blocks, can that
lead to problems down the line? I had the impression that rollback is
called automatically anytime a commit fails, but I'm not so sure
anymore.


On Sep 29, 4:07 pm, Michael Bayer <mike...@zzzcomputing.com> wrote:
> On Sep 29, 2010, at 7:13 AM, tom wrote:
>
>
> > Hey,
>
> > I'm applying finishing touches to my web app before rolling it out,
> > when this strange error occurs:
>
> > sqlalchemy.exc.InternalError
> > InternalError: (InternalError) current transaction is aborted,
> > commands ignored until end of transaction block 'SELECT count(1) AS
> > count_1 \nFROM personal_message \nWHERE personal_message.receiver_id =
> > %(receiver_id_1)s AND personal_message.read = %
> > (read_1)s' {'receiver_id_1': 1, 'read_1': False}
>
> > Now, this hasn't happened before, and as far as I can tell I haven't
> > touched the concerning code recently. Googling the error doesn't turn
> > up anything useful, I'm not even sure it has to do with Sqlalchemy
> > (I'm using version 0.5.8, with Postgres).
>
> > Any pointers in the right direction would be greatly appreciated.
>
> when an integrity error is issued by Postgresql, such as attempting to insert 
> a primary key that already exists, the ongoing transaction is then marked as 
> invalid.  If you try to do anything else in the transaction, you get that 
> error.
>
> The underlying reason from a Python interaction perspective is that the 
> session or connection you're using has encountered an error, but the 
> transaction was not rolled back, and the application proceeded with that same 
> connection.    In a web applciation, the simplest cause of this is that one 
> web request is re-using the session or connection from a previous request 
> that raised an error.    Theres myriad other variants of that sequence but 
> that is the most ordinary one.

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

Reply via email to