DB XA Module User’s Guide : Chapter 6 Writing Applications with the DB XA Module : Using Data Definition Language
Using Data Definition Language
In general, you cannot use data definition language (DDL) within an XA environment because DDL commits implicitly.
The DB XA Module does not explicitly restrict the use of calls such as RWDBDatabase::createTable() or RWDBTable::drop(), both of which result in DDL calls. Instead, the DB XA Module assumes that the resource manager will handle such calls appropriately. This means that you must take care to properly install an error handler, or check the return value. Typically, if your programs use DDL calls, and you have properly installed an error handler prior to such calls, your database server will return an error.