HELPLIB.HLB  —  RDML72  Preprocessor  /DEFAULT_TRANSACTIONS
    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.
Close Help