Re: [HACKERS] is it possible to use LIMIT and INTERSECT ?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Oleg Bartunov <oleg(at)sai(dot)msu(dot)su>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] is it possible to use LIMIT and INTERSECT ?
Date: 1999-10-17 23:31:09
Message-ID: 20769.940203069@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Oleg Bartunov <oleg(at)sai(dot)msu(dot)su> writes:
> select ......
> intersect
> select ......
> Current implementation of LIMIT doesn't support this.
> Are there any solutions ?

The problem seems to be right about where I suspected it was...

Try the attached (line numbers are for current, probably are way off
for 6.5.*, but the code in that routine hasn't changed much).

regards, tom lane

*** src/backend/rewrite/rewriteHandler.c.orig Thu Oct 7 00:23:15 1999
--- src/backend/rewrite/rewriteHandler.c Sun Oct 17 19:18:01 1999
***************
*** 1806,1811 ****
--- 1806,1813 ----
bool isBinary,
isPortal,
isTemp;
+ Node *limitOffset,
+ *limitCount;
CmdType commandType = CMD_SELECT;
List *rtable_insert = NIL;

***************
*** 1856,1861 ****
--- 1858,1865 ----
isBinary = parsetree->isBinary;
isPortal = parsetree->isPortal;
isTemp = parsetree->isTemp;
+ limitOffset = parsetree->limitOffset;
+ limitCount = parsetree->limitCount;

/*
* The operator tree attached to parsetree->intersectClause is still
***************
*** 2057,2062 ****
--- 2061,2068 ----
result->isPortal = isPortal;
result->isBinary = isBinary;
result->isTemp = isTemp;
+ result->limitOffset = limitOffset;
+ result->limitCount = limitCount;

/*
* The relation to insert into is attached to the range table of the

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 1999-10-17 23:53:00 Re: [HACKERS] mdnblocks is an amazing time sink in huge relations
Previous Message Mike Mascari 1999-10-17 23:00:12 Re: [HACKERS] Re: ORACLE COMMENT statement