And when things _do_ work, there are serious caching problems.
Sometimes it gives me the transaction rollback error, sometimes it
gives me an old version of the page, and sometimes it gives me a
current version of the page. I assume this has something to do with
what connection is getting used. How can I remove these problems?
Would pool_recycle be of any use?

On Thu, Oct 15, 2009 at 1:27 PM, Jeff Cook <cookieca...@gmail.com> wrote:
> I see. So Pylons should handle this by default, but it's not doing so?
> That's highly disappointing. Clearly, something is quite incorrect
> here. Is my usage of SQLSoup causing rollback not to run?
>
> On Thu, Oct 15, 2009 at 1:16 PM, Michael Bayer <mike...@zzzcomputing.com> 
> wrote:
>>
>> Jeff Cook wrote:
>>> I don't fully understand what you're talking about. I have this error
>>> and I need to make it stop. I just want SQLAlchemy to connect, run the
>>> query I instructed, and give me the results back and do this reliably
>>> without necessitating consistent server restarts. Thus far, it's been
>>> a serious pain managing connection errors and so on. SQLSoup may
>>> complicate this because they have no mention anywhere in their docs
>>> explaining the necessity to close your connections, and all methods I
>>> tried (explicit session.close()s at the end of each query, explicit
>>> db.close()s, and now autoflush=True) to make sure that the resources
>>> are being returned correctly to the pooler have failed and caused
>>> other blow-up problem attacks.
>>
>> none of the statements regarding SQLA in that paragraph are accurate.
>> close() is not needed, autoflush=True is the default setting (did you mean
>> autocommit?  that's a feature better left off), SQLAlchemy always returns
>> resources to their original pooled state when a transaction is not in
>> progress.
>>
>> What is necessary, however, is that you must call rollback() when an
>> exception is raised.   I see you're using Pylons, the default Pylons
>> template establishes this pattern within the BaseController.
>>
>> unfortunately there is no feature within SQLAlchemy that can "fix" your
>> issue.  Your application needs to get a handle on transaction failures.  A
>> transaction is only "invalid" if an error were already raised in a
>> previous operation within the same transaction, and you haven't attached
>> any stack trace for that.
>>
>>
>>
>> >>
>>
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@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