Re: [sqlalchemy] orm_exc.NoResultFound safe with autoflush?
If I could have Python3's nice system of chaining exceptions all the time, this would be an easy one. But a little hesitant at the moment. On Feb 8, 2013, at 1:01 PM, Kent wrote: > right... that's exactly what I've determined to do for my session subclass. > > On Friday, February 8, 2013 12:34:36 PM UTC-5, Michael Bayer wrote: > > On Feb 8, 2013, at 12:22 PM, Kent wrote: > > > We often use this pattern: > > > > try: > > session.query().one() > > except orm_exc.NoResultFound: > > gracefully deal with it > > > > If the query() execution causes an autoflush, I just want to make sure that > > an autoflush will never raise orm_exc.NoResultFound, or we could be > > catching the wrong error. Were that the case, to be safe, we'd always > > need: > > > > session.flush() > > try: > > session.query().one() > > except orm_exc.NoResultFound: > > gracefully deal with it > > > Well, it wont raise that right now, no, but if you had something going on in > a flush event that did, then it could. > > I suppose flush() should be wrapping that kind of exception so that this use > case can proceed. > > > > -- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sqlalchemy+unsubscr...@googlegroups.com. > To post to this group, send email to sqlalchemy@googlegroups.com. > Visit this group at http://groups.google.com/group/sqlalchemy?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > > -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at http://groups.google.com/group/sqlalchemy?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: [sqlalchemy] orm_exc.NoResultFound safe with autoflush?
right... that's exactly what I've determined to do for my session subclass. On Friday, February 8, 2013 12:34:36 PM UTC-5, Michael Bayer wrote: > > > On Feb 8, 2013, at 12:22 PM, Kent wrote: > > > We often use this pattern: > > > > try: > > session.query().one() > > except orm_exc.NoResultFound: > > gracefully deal with it > > > > If the query() execution causes an autoflush, I just want to make sure > that an autoflush will never raise orm_exc.NoResultFound, or we could be > catching the wrong error. Were that the case, to be safe, we'd always > need: > > > > session.flush() > > try: > > session.query().one() > > except orm_exc.NoResultFound: > > gracefully deal with it > > > Well, it wont raise that right now, no, but if you had something going on > in a flush event that did, then it could. > > I suppose flush() should be wrapping that kind of exception so that this > use case can proceed. > > > -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at http://groups.google.com/group/sqlalchemy?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: [sqlalchemy] orm_exc.NoResultFound safe with autoflush?
On Feb 8, 2013, at 12:22 PM, Kent wrote: > We often use this pattern: > > try: > session.query().one() > except orm_exc.NoResultFound: > gracefully deal with it > > If the query() execution causes an autoflush, I just want to make sure that > an autoflush will never raise orm_exc.NoResultFound, or we could be catching > the wrong error. Were that the case, to be safe, we'd always need: > > session.flush() > try: > session.query().one() > except orm_exc.NoResultFound: > gracefully deal with it Well, it wont raise that right now, no, but if you had something going on in a flush event that did, then it could. I suppose flush() should be wrapping that kind of exception so that this use case can proceed. -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at http://groups.google.com/group/sqlalchemy?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[sqlalchemy] orm_exc.NoResultFound safe with autoflush?
We often use this pattern: try: session.query().one() except orm_exc.NoResultFound: gracefully deal with it If the query() execution causes an autoflush, I just want to make sure that an autoflush will never raise orm_exc.NoResultFound, or we could be catching the wrong error. Were that the case, to be safe, we'd always need: session.flush() try: session.query().one() except orm_exc.NoResultFound: gracefully deal with it -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at http://groups.google.com/group/sqlalchemy?hl=en. For more options, visit https://groups.google.com/groups/opt_out.