How about this: Obviously there are some applications which need transactions (ACID properties) and so the DA they use must support transactions. Likewise, there are other applications which don't need a transactional database. So: Is it feasible to add a method to the DA class which succeeds if the database supports transactions fails/raises an exception if it does not? I think the ZSQL Method would then need an extra property: transactional (boolean). If a ZSQL Method is transactional, then it won't accept a database connection which is not transactional. Alternatively, simply distribute the DA as-is, make it very clear that the underlying database does not support transactions, and if you use it anyway and something needs to be rolled back, you're screwed, and you were warned that this sort of thing could happen... -- andy dustman | programmer/analyst | comstar.net, inc. telephone: 770.485.6025 / 706.549.7689 | icq: 32922760 | pgp: 0xc72f3f1d