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]