{- Sections 17 and 19 in Foundation This module covers the tests for transaction management (begin, commit, savepoint, etc.), and session management (set). -} {-# LANGUAGE OverloadedStrings #-} 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 ] ::= -} ]