Postres falls down on "having"

From: Paul Mamin <pm(at)sky(dot)ru>
To: pgsql-sql(at)postgreSQL(dot)org
Subject: Postres falls down on "having"
Date: 1999-08-10 05:35:11
Message-ID: 13482.990810@sky.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Please, help me. I have Postgres 6.5 on Linux and found some bug.

=====================================
Table definitions:

>create sequence serialseq;
>
>create table calls
>(numcall integer default nextval('serialseq') not null primary key,
>uzer integer not null,
>inter integer not null,
>calltime abstime not null,
>calldur reltime not null,
>inb integer not null,
>outb integer not null,
>callprice integer);
>
>create index uzer_udx
>on calls
>(uzer);
>
>create index inter_udx
>on calls
>(inter);
>
>create index calltime_udx
>on calls
>(calltime)

>create table pppdisab
>(uzer integer primary key,
>timedisab abstime,
>maxprice integer,
>maxdur integer,
>maxinb int8);
>
>create index timedisab_idx on pppdisab (timedisab)

=====================================

And then I make some query (time is european):

>select calls.uzer
> from calls,pppdisab
> where
> calltime>='01/08/1999'
> and calls.uzer=pppdisab.uzer
> and pppdisab.timedisab is NULL
> group by calls.uzer,maxprice,maxdur,maxinb
> having
> sum((int(calldur)+59)/60)>=maxdur
> or sum(callprice)>=maxprice
> or sum(int8(inb))>=maxinb

=====================================

And when result is not empty - everything's Ok.
But when it's empty then the main postmaster crashes with message to
stdout like this:

>pq_recvbuf: unexpected EOF on client connection
>pq_flush: send() failed: Broken pipe
>pq_recvbuf: recv() failed: Connection reset by peer
>pq_recvbuf: unexpected EOF on client connection
>NOTICE: Message from PostgreSQL backend:
> The Postmaster has informed me that some other backend died abnormally a
>nd possibly corrupted shared memory.
> I have rolled back the current transaction and am going to terminate you
>r database system connection and exit.
> Please reconnect to the database system and repeat your query.
>NOTICE: Message from PostgreSQL backend:
> The Postmaster has informed me that some other backend died abnormally a
>nd possibly corrupted shared memory.
> I have rolled back the current transaction and am going to terminate you
>r database system connection and exit.
> Please reconnect to the database system and repeat your query.

... and all backends fall down :(

=====================================

At the same time, when I make similar query, but without "having",
all works fine in any cases:

>select calls.uzer,sum((int(calldur)+59)/60),maxdur,sum(callprice),maxprice,sum(int8(inb)),maxinb
> from calls,pppdisab
> where
> calltime>='01/08/1999'
> and calls.uzer=pppdisab.uzer
> and pppdisab.timedisab is NULL
> group by calls.uzer,maxprice,maxdur,maxinb

=====================================

What's the matter?

Best regards,
Paul mailto:pm(at)sky(dot)ru

Browse pgsql-sql by date

  From Date Subject
Next Message Giovanni B. Stefanoni 1999-08-10 14:21:25 rpm 6.5 requires libcurses.so.4?
Previous Message Jackson, DeJuan 1999-08-09 20:25:32 RE: [SQL] Question about arrays