The default isolation level is based on whether or not the database has transaction logging enabled, and whether or not it is ANSI-compliant. The info in this link is summarized below:
|Informix Name||ANSI Name||When This Is the Default Level of Isolation|
|Dirty Read||Read Uncommitted||Database without transaction logging|
|Committed Read||Read Committed||Databases with logging that are not ANSI- compliant|
|Repeatable Read||Serializable||ANSI-compliant databases|
How do you know if your database is ANSI-compliant or not. There must be an explicit way of finding this out, but I don’t know it. However, there are a couple of empirical ways of finding out:
- Non ANSI-compliant databases quietly truncate text that is longer than the size of the associated CHAR, VARCHAR, etc, column.
- For an ANSI-compliant database you cannot change the logging mode to buffered logging, or turn logging off.