Use of LOCAL in SET command

Started by Peter Eisentrautover 23 years ago5 messages
#1Peter Eisentraut
peter_e@gmx.net

Sorry to nag about this so late, but I fear that the new command SET LOCAL
will cause some confusion later on.

SQL uses LOCAL to mean the local node in a distributed system (SET LOCAL
TRANSACTION ...) and the current session as opposed to all sessions (local
temporary table). The new SET LOCAL command adds the meaning "this
transaction only". Instead we could simply use SET TRANSACTION, which
would be consistent in behaviour with the SET TRANSACTION ISOLATION LEVEL
command.

Comments?

--
Peter Eisentraut peter_e@gmx.net

#2Thomas Lockhart
lockhart@fourpalms.org
In reply to: Peter Eisentraut (#1)
Re: Use of LOCAL in SET command

SQL uses LOCAL to mean the local node in a distributed system (SET LOCAL
TRANSACTION ...) and the current session as opposed to all sessions (local
temporary table). The new SET LOCAL command adds the meaning "this
transaction only". Instead we could simply use SET TRANSACTION, which
would be consistent in behaviour with the SET TRANSACTION ISOLATION LEVEL
command.

Yes. If there is a possibility of confusion (now or later) over SQL99
syntax, we should do it The Right Way per spec.

- Thomas

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Peter Eisentraut (#1)
Re: Use of LOCAL in SET command

Peter Eisentraut <peter_e@gmx.net> writes:

Sorry to nag about this so late, but I fear that the new command SET LOCAL
will cause some confusion later on.

Okay...

SQL uses LOCAL to mean the local node in a distributed system (SET LOCAL
TRANSACTION ...) and the current session as opposed to all sessions (local
temporary table). The new SET LOCAL command adds the meaning "this
transaction only". Instead we could simply use SET TRANSACTION, which
would be consistent in behaviour with the SET TRANSACTION ISOLATION LEVEL
command.

Hmm ... this would mean that the implicit parsing of SET TRANSACTION
ISOLATION LEVEL would change (instead of SET / TRANSACTION ISOLATION
LEVEL you'd now tend to read it as SET TRANSACTION / ISOLATION LEVEL)
but I guess that would still not create any parse conflicts. I'm okay
with this as long as we can fix psql's command completion stuff to
handle it intelligently. I hadn't gotten round to looking at that point
yet for the LOCAL case; do you have any thoughts?

regards, tom lane

#4Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Tom Lane (#3)
Re: Use of LOCAL in SET command

Has this been resolved?

---------------------------------------------------------------------------

Tom Lane wrote:

Peter Eisentraut <peter_e@gmx.net> writes:

Sorry to nag about this so late, but I fear that the new command SET LOCAL
will cause some confusion later on.

Okay...

SQL uses LOCAL to mean the local node in a distributed system (SET LOCAL
TRANSACTION ...) and the current session as opposed to all sessions (local
temporary table). The new SET LOCAL command adds the meaning "this
transaction only". Instead we could simply use SET TRANSACTION, which
would be consistent in behaviour with the SET TRANSACTION ISOLATION LEVEL
command.

Hmm ... this would mean that the implicit parsing of SET TRANSACTION
ISOLATION LEVEL would change (instead of SET / TRANSACTION ISOLATION
LEVEL you'd now tend to read it as SET TRANSACTION / ISOLATION LEVEL)
but I guess that would still not create any parse conflicts. I'm okay
with this as long as we can fix psql's command completion stuff to
handle it intelligently. I hadn't gotten round to looking at that point
yet for the LOCAL case; do you have any thoughts?

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
#5Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#4)
Re: Use of LOCAL in SET command

Bruce Momjian <pgman@candle.pha.pa.us> writes:

Has this been resolved?

I think the resolution was to do nothing.

regards, tom lane