Added to TODO:
o Prevent tab completion of SET TRANSACTION from querying the database and therefore preventing the
transactionisolation level from being set.
Currently, SET <tab> causes a database lookup to check all supported session variables. This query
causesproblems because setting the transaction isolation level must be the first statement of a
transaction.
---------------------------------------------------------------------------
Greg Stark wrote:
> Tom Lane <tgl@sss.pgh.pa.us> writes:
>
> > Hm, that's a bit nasty.
> >
> > The only plan I can think of involves reading the list of available
> > variable names in advance and keeping it around. However, I'm not
> > sure I want psql issuing such a query at connection startup whether
> > or not the info will ever be used :-(
>
> Well, it could just lazily cache the data if it's ever fetched. That would at
> least limit the occurrence of this problem to only happening once per
> connection.
>
> psql could also hard code "SET TRANSACTION ISOLATION" specifically. If psql
> knew that "SET TRANS" completes to SET TRANSACTION and "SET TRANSACTION I"
> completes to "SET TRANSACTION ISOLATION" it could avoid doing the query at
> all.
>
> That would only fail if someone uses TAB to view the available completions for
> "SET" or any shorter string. And since transaction isolation is strangely
> absent from the list of completions that seems like not such a big concern. If
> he's doing that he's not going to find it anyways.
>
> --
> greg
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend
>
-- 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