SQL/MX 2.x Database and Application Migration Guide (G06.23+, H06.04+, J06.03+)

Migrating SQL/MX Release 1.8 Applications to
SQL/MX Release 2.x
HP NonStop SQL/MX Database and Application Migration Guide540435-005
7-3
Adapting SQL/MX Release 1.8 Applications to
SQL/MX Release 2.x Functionality
Adapting SQL/MX Release 1.8 Applications to
SQL/MX Release 2.x Functionality
Statement-Level Atomicity: No Automatic Abort Following an Error on page 7-3
Stable Access on page 7-4
IEEE Floating-Point Host Variables on page 7-4
Using INVOKE for Date-Time and Interval Host Variables on page 7-5
KANJI and KSC5601 Character Data on page 7-6
Statement-Level Atomicity: No Automatic Abort Following an
Error
Statement atomicity provides database consistency by ensuring the all-or-nothing
completion of an individual DML statement. Statement atomicity causes a DML
statement to either complete successfully or abort.
SQL/MX Release 1.8 Transaction-Level Atomicity
In SQL/MX Release 1.8, the default behavior is transaction-level atomicity, which
means that the current transaction is aborted following an unsuccessful INSERT,
UPDATE, or DELETE operation.
SQL/MX Release 2.x Transaction-Level Atomicity
In SQL/MX Release 2.x, the default behavior is statement-level atomicity, which means
that the current transaction is not aborted following an unsuccessful INSERT, UPDATE,
or DELETE operation. The decision to abort following an error must be handled by the
application.
Effect of the New Behavior on SQL/MX Applications
Applications that were statically compiled in SQL/MX Release 1.8 will continue using
transaction-level atomicity as the default in SQL/MX Release 2.x. However, SQL/MX
applications that are compiled dynamically at run time or statically recompiled in
SQL/MX Release 2.x will use statement-level atomicity.
Retaining SQL/MX Release 1.8 Atomicity
To retain transaction-level atomicity for dynamic applications and recompiled
applications in SQL/MX Release 2.x, set the default attribute
UPD_ABORT_ON_ERROR to ON.
For statically compiled applications, specify UPD_ABORT_ON_ERROR in the
mxCompileUserModule command line during SQL compilation so that you can avoid