On 28.10.2022 16:02, Mike Bayer wrote:


On Fri, Oct 28, 2022, at 9:58 AM, Marc-Andre Lemburg wrote:
If there is a pending transaction, though, there are three approaches
we could take:

1. The database module raises an exception, to force an explicit
    .commit() or .rollback() by the programmer.

2. The module automatically commits the pending transaction,
    since that's what autocommit is all about.

3. We leave these semantics open and up to the database module
    to determine.

My preference would be option 2, since this makes things clear for
everyone and is intuitive (well, at least for me :-)).

option 3 is likely what will occur in practice.   it feels a little awkward for an attribute set operation to move forward with a transactional modification to the database server.

Think of this as a property, which is how many database modules
will implement it.

I agree that it feels a bit awkward, especially since setting
an attribute should normally not cause exceptions, but it's become
a standard among modules nonetheless (I don't remember who started
with it).

--
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Experts (#1, Oct 28 2022)
>>> Python Projects, Coaching and Support ...    https://www.egenix.com/
>>> Python Product Development ...        https://consulting.egenix.com/
________________________________________________________________________

::: We implement business ideas - efficiently in both time and costs :::

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611
               https://www.egenix.com/company/contact/
                     https://www.malemburg.com/

_______________________________________________
DB-SIG maillist  -  DB-SIG@python.org
https://mail.python.org/mailman/listinfo/db-sig

Reply via email to