johnf wrote:
> On Wednesday 15 August 2007 13:00, Uwe Grauer wrote:
>> Not possible for firebird.
>> There is no autocommit support in the firebird backend.
>> We would have to mimic this in dabo.
>> See dbCursorMixin.flush()
> 
> Did you mean "dCursorMixin" and not "dbCursorMixin"???
>

Yes, it's dCursorMixin.

> Why can't you handle the transactions?  
> Bizobj.execute("BEGIN")
> Bizobj.execute("ROLLBACK")
> Bizobj.execute("COMMIT")
> 

Because there is dCursorMixin.flush() which is called anyway.
So i can't do a transaction over subsequent inserts/updates/deletes.

> Doesn't FireBird support the commands???????  What does dCursorMixin.flush() 
> have to do with your issue????

Firebird supports the commands but dabo doesn't play well either.
As i have Foreign key constraints in my db i have to the following in my
parent-bizobj:

    def deleteCurrentRecord(self):
        crs = self._CurrentCursor
        crs.beginTransaction()
        all_ok = 0
        try:
            self.deleteAllChildren()
            self.delete()
            all_ok = 1
        finally:
            if all_ok:
                crs.commitTransaction()
            else:
                crs.rollbackTransaction()
        return all_ok


Watch the commits from dCursorMixin.flush():

Database Activity Log: Wed Aug 15 22:19:33 2007: SQL: SELECT  first 1000
e_val,        e_tok,        iid   from etyp  order by e_tok
Database Activity Log: Wed Aug 15 22:19:33 2007: SQL: SELECT  first 1000
e_tok,        e_val,        sort_order,        e_str1,        e_str3,
     e_str2,        iid,        etyp_iid   from ENUM  where
ENUM."ETYP_IID" = 70000    order by sort_order
Database Activity Log: Wed Aug 15 22:19:35 2007: SQL: SELECT  first 1000
e_tok,        e_val,        sort_order,        e_str1,        e_str3,
     e_str2,        iid,        etyp_iid   from ENUM  where
ENUM."ETYP_IID" = 1000023    order by sort_order
deleteEtyp()
Database Activity Log: Wed Aug 15 22:19:42 2007: SQL: select count(*) as
cnt from ENUM where ENUM."IID"=1000003
Database Activity Log: Wed Aug 15 22:19:42 2007: SQL: delete from ENUM
where ENUM."IID"=1000003
Database Activity Log: Wed Aug 15 22:19:42 2007: SQL: commit
Database Activity Log: Wed Aug 15 22:19:42 2007: SQL: select count(*) as
cnt from ETYP where ETYP."IID"=1000023
Database Activity Log: Wed Aug 15 22:19:42 2007: SQL: delete from ETYP
where ETYP."IID"=1000023
Database Activity Log: Wed Aug 15 22:19:42 2007: SQL: commit
Database Activity Log: Wed Aug 15 22:19:42 2007: SQL: commit
Database Activity Log: Wed Aug 15 22:19:42 2007: SQL: SELECT  first 1000
e_val,        e_tok,        iid   from etyp  order by e_tok
Database Activity Log: Wed Aug 15 22:19:42 2007: SQL: SELECT  first 1000
e_tok,        e_val,        sort_order,        e_str1,        e_str3,
     e_str2,        iid,        etyp_iid   from ENUM  where
ENUM."ETYP_IID" = 80000    order by sort_order



_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message: http://leafe.com/archives/byMID/dabo-dev/[EMAIL PROTECTED]

Reply via email to