I've got patches which:

1) Implement session-specific settings, including isolation level and
time zone:

SET SESSION CHARACTERISTICS AS
 TRANSACTION ISOLATION LEVEL SERIALIZABLE,
 TIME ZONE 'PST8PDT';

Per SQL99 spec, the command rejects duplicate or conflicting clauses.
Under the covers, it uses the "SET key = value" feature, adding
DefaultXactIsoLevel as an allowed keyword.

2) Implement nested comments per SQL99. This involves (small) changes to
psql and to scan.l to count the depth of a comment delimiter pair, and
in the case of scan.l to explicitly recognize "/*" while inside a
comment. This seems to work in my limited testing.

3) Implement SQL99 IN, OUT, INOUT keywords on arguments for function
declarations. The syntax also allows a "placeholder name" to be
specified. IN is a noop, OUT and INOUT are rejected with an elog(ERROR).
This required that NATIONAL be removed from the list of allowed
column/table names.


I'd like to implement an "autocommit toggle" feature, which would allow
one to specify that all queries open a transaction, which is closed with
an explicit COMMIT. This mode is required by SQL9x, and the toggling
feature was available, for example, in Ingres.

Any hints on what needs to be touched internally? I've got the parser
work done, so just need to tweak the relevant internals. Does someone
else want to pick this up??

                      - Thomas

Fri, 07 Jul 2000 14:53:20 +0000
Thomas Lockhart <lockhart@alumni.caltech.edu>
Patches coming...