Transaction Rollback Mode
The Rollback Mode for a transaction can be set to either ON or OFF. A setting of ON denotes
that the system will rollback the effects of a transaction it aborts. A setting of OFF denotes that
the system does not need to perform rollback on abort, rather you are responsible for continuing
after the abort. The default is OFF.
When transactions that contain long running INSERT, UPDATE, and DELETE statements are
aborted, rollback is very expensive in system resources and is time consuming. You may consider
setting the Rollback Mode to OFF for these statements. In some situations, not rolling back aborted
transactions can lead to an inconsistent database, with respect to dependent objects such as
indexes. For these situations, Neoview SQL raises an error during compilation.
When Rollback Mode is set to OFF, Neoview SQL sets the auto abort interval for the transaction
to 0, indicating that this transaction should never abort for exceeding a predefined time interval.
This means that locks on this table can be held for long durations, resulting in reduced
concurrency. You can override the default setting of never abort for NO ROLLBACK type
transactions by using the SET TRANSACTION AUTOABORT statement. In addition, Neoview
SQL does not abort such transactions for exceeding 45% of the audit trail. Such transactions need
not be limited by the 45% rule since rollback will not be performed on them. Setting this flag also
prevents TMF from pinning the audit trail for this transaction.
ANSI Compliance and Neoview SQL Extensions
Neoview SQL complies most closely with Core SQL 99. Neoview SQL also includes some features
from SQL 99 and part of the SQL 2003 standard, in addition to special Neoview SQL extensions
to the SQL language.
Statements and SQL elements in this manual are ANSI compliant unless specified as Neoview
SQL extensions. For details about Neoview SQL conformance with SQL:1999 standards, see
Appendix D, Standard SQL and Neoview SQL.
ANSI-Compliant Statements
These statements are ANSI compliant, but some might contain Neoview SQL extensions:
•
ALTER MATERIALIZED VIEW statement
•
ALTER TABLE statement
•
ALTER VIEW statement
•
COMMIT WORK statement
•
CREATE SCHEMA statement
•
CREATE TABLE statement
•
CREATE TRIGGER statement
•
CREATE VIEW statement
•
DELETE statement
•
DROP SCHEMA statement
•
DROP TABLE statement
•
DROP TRIGGER statement
•
DROP VIEW statement
•
GRANT statement
•
GRANT EXECUTE statement
•
GRANT SCHEMA statement
•
INSERT statement
•
PREPARE statement
•
REVOKE statement
•
REVOKE EXECUTE statement
ANSI Compliance and Neoview SQL Extensions
37