Added to TODO: o Prevent tab completion of SET TRANSACTION from querying the database and therefore preventing the transaction isolation level from being set.
Currently, SET <tab> causes a database lookup to check all supported session variables. This query causes problems because setting the transaction isolation level must be the first statement of a transaction. --------------------------------------------------------------------------- Greg Stark wrote: > Tom Lane <[EMAIL PROTECTED]> 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, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly