The /[NO]DEFAULT_TRANSACTIONS qualifier controls whether or not the RDML preprocessor will generate code to support automatic database attachment and automatic transactions by default. Format: /DEFAULT_TRANSACTIONS (Default) /NODEFAULT_TRANSACTIONS (Recommended) When you use the /DEFAULT_TRANSACTIONS qualifier, RDML allows you to issue a query, without explicitly issuing a READY statement or START_TRANSACTION statement first. If you do not issue these statements explicitly, RDML will attach to the database and start a READ_ONLY transaction for you when it encounters the first DML statement. Furthermore, RDML allows you to detach from a database without first completing (committing or rolling back) any transaction that is attached to the database you are finishing. RDML will commit any outstanding transaction for you. The /DEFAULT_TRANSCTIONS qualifier causes the RDML preprocessor to generate additional (often unnecessary) code that may incur a significant amount of overhead because RDML must check the state of the database and transactions as each DML statement is processed. The /NODEFAULT_TRANSACTIONS qualifier eliminates this overhead by requiring you to explicitly READY a database and begin and end transactions. When you use the /NODEFAULT_TRANSACTIONS qualifier RDML does not check the state of the database and transactions as each RDML statement is processed. In fact, if you do not close a transaction prior to issuing a FINISH statement for the database with which the transaction is associated, RDML will issue the error message: %RDB-F-OPEN_TRANS. Rdb recommends that you always use the /NODEFAULT_TRANSACTIONS qualifier to reduce overhead, maximize performance and enforce good programming practices. However, the default for this qualifier is /DEFAULT_TRANSACTIONS, as this causes the behavior that RDML has exhibited prior to Oracle Rdb V3.0.