Thread: Use of LOCAL in SET command
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
> 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
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
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, Pennsylvania19073
Bruce Momjian <pgman@candle.pha.pa.us> writes: > Has this been resolved? I think the resolution was to do nothing. regards, tom lane