ANSI vs. Non-ANSI Databases
Posted in 1999
Topics: General Discussion
Hi, What is the difference between an ANSI-compliant and not-ANSI-compliant database? Does this term relate only to Informix OnLine? -- Azarkar.
Ali Azarkar wrote:
>
> Hi,
> What is the difference between an ANSI-compliant and not-ANSI-compliant
> database? Does this term relate only to Informix OnLine?
This refers to logging and transaction handling requirements that ANSI
imposes on compliant databases. Informix is one of the few vendors which
provides an ANSI compliance option. It is implemented as a logging mode
of the database. When creating the database add the clause "WITH LOG
MODE ANSI". To alter a database from another logging mode to ANSI mode
you have to take a level 0 archive of the system and add the flag:
"-A <database list>" to ontape. OnBar has an equivalent option (see the
Backup and Restore manual).
Details? ANSI mode databases begin and implied transaction with the first
SQL statement which is not part of an existing transaction. Such a
transaction continues until it is either commited or rolled back. This
differs from BUFFERED and UNBUFFERED logging modes in that it is illegal
(and unneccessary) to issue a BEGIN WORK statement and you cannot have any
statements that constitute singleton transaction under ANSI logging mode.
In addition, ANSI mode is an UNBUFFERED logging mode which adds some
subtle differences from Informix UNBUFFERED logging mode. See the
Administrator's Guide for details on this point.
Lastly, ANSI also specifies the default, and possible, ISOLATION LEVELS
for a compliant database which differs from the default ISOLATION for
Informix logging mode (and unlogged) databases. Again see the Admin Guide
for details.
Art S. Kagel