Sections 17 and 19 in Foundation This module covers the tests for transaction management (begin, commit, savepoint, etc.), and session management (set). > module Language.SQL.SimpleSQL.SQL2011Bits (sql2011BitsTests) where > import Language.SQL.SimpleSQL.TestTypes > import Language.SQL.SimpleSQL.Syntax > sql2011BitsTests :: TestItem > sql2011BitsTests = Group "sql 2011 bits tests" [ 17 Transaction management 17.1 ::= START TRANSACTION [ ] BEGIN is not in the standard! > (TestStatement ansi2011 > "start transaction" > $ StartTransaction) 17.2 ::= SET [ LOCAL ] TRANSACTION 17.3 ::= [ [ { }... ] ] ::= | | ::= READ ONLY | READ WRITE ::= ISOLATION LEVEL ::= READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE ::= DIAGNOSTICS SIZE ::= 17.4 ::= SET CONSTRAINTS { DEFERRED | IMMEDIATE } ::= ALL | [ { }... ] 17.5 ::= SAVEPOINT ::= > ,(TestStatement ansi2011 > "savepoint difficult_bit" > $ Savepoint $ Name Nothing "difficult_bit") 17.6 ::= RELEASE SAVEPOINT > ,(TestStatement ansi2011 > "release savepoint difficult_bit" > $ ReleaseSavepoint $ Name Nothing "difficult_bit") 17.7 ::= COMMIT [ WORK ] [ AND [ NO ] CHAIN ] > ,(TestStatement ansi2011 > "commit" > $ Commit) > ,(TestStatement ansi2011 > "commit work" > $ Commit) 17.8 ::= ROLLBACK [ WORK ] [ AND [ NO ] CHAIN ] [ ] ::= TO SAVEPOINT > ,(TestStatement ansi2011 > "rollback" > $ Rollback Nothing) > ,(TestStatement ansi2011 > "rollback work" > $ Rollback Nothing) > ,(TestStatement ansi2011 > "rollback to savepoint difficult_bit" > $ Rollback $ Just $ Name Nothing "difficult_bit") 19 Session management 19.1 ::= SET SESSION CHARACTERISTICS AS ::= [ { }... ] ::= ::= TRANSACTION [ { }... ] 19.2 ::= SET SESSION AUTHORIZATION 19.3 ::= SET ROLE ::= | NONE 19.4 ::= SET TIME ZONE ::= | LOCAL 19.5 ::= SET ::= CATALOG 19.6 ::= SET ::= SCHEMA 19.7 ::= SET ::= NAMES 19.8 ::= SET ::= PATH 19.9 ::= SET ::= DEFAULT TRANSFORM GROUP | TRANSFORM GROUP FOR TYPE 19.10 ::= SET COLLATION [ FOR ] | SET NO COLLATION [ FOR ] ::= > ]