Re: [HACKERS] weird problem with latest cvs - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [HACKERS] weird problem with latest cvs
Date
Msg-id 199808190615.CAA08206@candle.pha.pa.us
Whole thread Raw
In response to Re: [HACKERS] weird problem with latest cvs  (Oleg Bartunov <oleg@sai.msu.su>)
List pgsql-hackers
It is my code that tries to check if a new row was matched by a previous
index, and hence discard it.  If the previous index did not return any
rows, the slot is NULL, and it crashes.  I will try to work on a fix.


> It seems this happens only if
> select * from WORK_FLATS where DISTRICT_ID=101
> produces zero result                                           ^^^
> and
> select * from WORK_FLATS where DISTRICT_ID=4
>                                            ^
> produces non-zero result
>
> Below is an example:
>
> flats=> select count(*) from WORK_FLATS where DISTRICT_ID in (101);
> count
> -----
>     0
> (1 row)
>
> flats=> select count(*) from WORK_FLATS where DISTRICT_ID in (100);
> count
> -----
>     0
> (1 row)
>
> flats=> select count(*) from WORK_FLATS where DISTRICT_ID in (100,101);
> count
> -----
>     0
> (1 row)
>
> flats=> select count(*) from WORK_FLATS where DISTRICT_ID in (0);
> count
> -----
>     4
> (1 row)
>
> flats=> select count(*) from WORK_FLATS where DISTRICT_ID in (101,0);
> pqReadData() -- backend closed the channel unexpectedly.
>         This probably means the backend terminated abnormally before or while processing the request.
> We have lost the connection to the backend, so further processing is impossible.  Terminating.
>
>
>     Oleg
>
> On Tue, 18 Aug 1998, Oleg Bartunov wrote:
>
> > Date: Tue, 18 Aug 1998 23:27:57 +0400 (MSK DST)
> > From: Oleg Bartunov <oleg@sai.msu.su>
> > To: hackers@postgreSQL.org
> > Subject: [HACKERS] weird problem with latest cvs
> >
> > Hi,
> >
> >
> > just updated development version from cvs and got strange problem :
> >
> > select * from WORK_FLATS where DISTRICT_ID in (4,101);
> > select * from WORK_FLATS where DISTRICT_ID in (101,4);
> >
> > Does anyone understand what's the difference between this two selects ?
> >
> > explain produces the same plans:
> > Index Scan using wfidx_district_id on work_flats  (cost=6.90 size=29 width=132)
> > but first select works fine while second fails with message:
> > flats=> select * from WORK_FLATS where DISTRICT_ID in (101,4);
> > pqReadData() -- backend closed the channel unexpectedly.
> >         This probably means the backend terminated abnormally before or while processing the request.
> > We have lost the connection to the backend, so further processing is impossible.  Terminating.
> >
> >
> > 6.3.2+patches works ok !!!
> >
> >     Regards,
> >
> >         Oleg
> >
> > _____________________________________________________________
> > Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
> > Sternberg Astronomical Institute, Moscow University (Russia)
> > Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
> > phone: +007(095)939-16-83, +007(095)939-23-83
> >
> >
>
> _____________________________________________________________
> Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
> Sternberg Astronomical Institute, Moscow University (Russia)
> Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
> phone: +007(095)939-16-83, +007(095)939-23-83
>
>
>


--
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)

pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] New Developer's FAQ item
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] weird problem with latest cvs