Re: Unreproducible bug in snapshot import code

Bruce Momjian <bruce@momjian.us>

From: Bruce Momjian <bruce@momjian.us>
To: Gurjeet Singh <singh.gurjeet@gmail.com>
Cc: Fujii Masao <masao.fujii@gmail.com>, Alvaro Herrera <alvherre@commandprompt.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2012-08-16T22:44:45Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Don't trust deferred-unique indexes for join removal.

Attachments

On Fri, Oct 28, 2011 at 11:07:25AM -0400, Gurjeet Singh wrote:
> On Fri, Oct 28, 2011 at 10:11 AM, Bruce Momjian <bruce@momjian.us> wrote:
> 
>     Gurjeet Singh wrote:
>     > > > I have tried reproducing the bug starting from 1 and 2 transactions
>     > > before
>     > > > the one shown in snippet, and I used tab-completion to get the same
>     > > > screen-output as termonal1.txt and yet it's not reproducible.
>     > >
>     > > I could reproduce it when I typed TAB just after typing "set" in "set
>     > > transaction snapshot".
>     > > As Tom and Alvaro pointed out, the tab-completion issues a query and
>     which
>     > > prevents the "set transaction snapshot" command.
>     > >
>     >
>     > Great! That settles it then. Reproducible, but not a bug.
> 
>     Yes, it is only tabs that query the database for completion that cause
>     this.  Should this be documented somehow?  (No idea how.)
> 
> 
> If we have a doc section on psql's tab-completion, I think this needs to go
> there. A note like:
> 
> "Trying to tab-complete on psql may send queries to the server, and depending
> on the transaction state, execution of these queries may lead to non-default/
> unexpected behaviour by the queries executed after tab-completion. For example,
> ..."

I have added the attached patch to document this limitation.

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +