Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> ... I think we
> should just do an automatic COMMIT if it is the first statement of a
> transaction, and if not, throw the same error we used to throw. We are
> performing autocommit for SET at the start of a transaction now anyway,
> so it isn't totally strange to do it for TRUNCATE, etc. too. In fact,
> you can just put the xact commit check in the same place SET is handled
> in postgres.c. It isn't great, but it is clean. ;-)
Well, "clean" isn't the adjective I would use ;-), but this might be the
most useful approach. The analogy to SET hadn't occurred to me.
regards, tom lane