FTR: ADO supports nested transactions: <http://msdn.microsoft.com/library/en-us/ado270/htm/mdmthbegintrans.asp?frame=no>
The level of nesting may be limited, e.g. Access and Foxpro support 5 levels, Oracle and SQL Server only 1. With some bookkeeping, it should be possible to emulate savepoints on top of nested transactions. Of course, it is a bit weird if the database supports savepoints, ADO maps this to nested transactions and DBD::ADO maps it back to savepoints - that's layering. Steffen