Thread: Re: CTTAS w/ DISTINCT ON crashes backend

Re: CTTAS w/ DISTINCT ON crashes backend

From
Tom Lane
Date:
The crash I'm getting can be boiled down to this:

regression=# create table fooey(f1 int) without oids;
CREATE TABLE
regression=# insert into fooey values(11);
INSERT 0 1
regression=# create temp table fooey2 as select distinct * from fooey;
server closed the connection unexpectedly       This probably means the server terminated abnormally       before or
whileprocessing the request.
 
The connection to the server was lost. Attempting reset: Failed.
!>

I'm getting an Assert failure, which no doubt detects the problem much
sooner than you were doing.  The problem is in adding OIDs to rows that
initially did not have 'em when returned from the SELECT DISTINCT plan.
So your best immediate workaround is to create the first temp table with
oids, or create the second one without.
        regards, tom lane


Re: CTTAS w/ DISTINCT ON crashes backend

From
Mike Mascari
Date:
Tom Lane wrote:

>The crash I'm getting can be boiled down to this:
>
>regression=# create table fooey(f1 int) without oids;
>CREATE TABLE
>regression=# insert into fooey values(11);
>INSERT 0 1
>regression=# create temp table fooey2 as select distinct * from fooey;
>server closed the connection unexpectedly
>        This probably means the server terminated abnormally
>        before or while processing the request.
>The connection to the server was lost. Attempting reset: Failed.
>!>
>
>I'm getting an Assert failure, which no doubt detects the problem much
>sooner than you were doing.  The problem is in adding OIDs to rows that
>initially did not have 'em when returned from the SELECT DISTINCT plan.
>  
>
Okay.

>So your best immediate workaround is to create the first temp table with
>oids, or create the second one without.
>  
>
Thanks!

Mike Mascari