Short patch to implement SQL standard behaviour of the SET TRANSACTION command. According to their publically accessible docs, I note that MySQL and Ingres correctly implement this behaviour, SQLServer does this also (and more), while Oracle and DB2 do so since they use implicit transaction blocks.
Docs page updated. Manual tests OK. There isn't a test suite for SET TRANSACTION, so I haven't created one just for this. Behaviour is shown below; the SET command sets the session characteristics of the *next* transaction, when executed outside of a transaction block. postgres=# show transaction_read_only; transaction_read_only ----------------------- off (1 row) postgres=# set transaction read only; SET postgres=# begin; BEGIN postgres=# show transaction_read_only; transaction_read_only ----------------------- on (1 row) postgres=# commit; COMMIT -- Simon Riggs 2ndQuadrant http://www.2ndQuadrant.com ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq