On 10/29/2018 04:17 PM, Andrew Gierth wrote:
>>>>>> "Tomas" == Tomas Vondra <tomas.vondra@2ndquadrant.com> writes:
>
> > On 10/26/2018 12:28 PM, Surafel Temesgen wrote:
> >> hello ,
> >>
> >> The WITH TIES keyword is sql standard that specifies any peers of
> >> retained rows to retained in the result set too .which means
> >> according to ordering key the result set can includes additional rows
> >> which have ties on the last position, if there are any and It work
> >> with ORDER BY query.
>
> Tomas> Thanks for the patch. I've looked at it today, and it seems
> Tomas> mostly OK, with a couple of minor issues. Most of it is code
> Tomas> formatting and comment wording issues, so I'm not going to go
> Tomas> through them here - see the attached 0002 patch (0001 is your
> Tomas> patch, rebased to current master).
>
> I still think that this is the wrong approach. Implementing WITH TIES
> and PERCENT together using an implicit window function call kills two
> birds with one very small stone (the only executor change needed would
> be teaching LIMIT to be able to stop on a boolean condition), with
> maximum reuse of existing facilities.
>
Hmmm, maybe. How would that work, exactly? Wouldn't that mean extra
overhead (the window functions are hardly free) and limitations? Perhaps
that was discussed in some other thread in the past?
FWIW, I doubt the patch can be much smaller/simpler - a significant part
of the new stuff is in gram.y and node read/out infrastructure, the
changes to LIMIT node are fairly minimal.
regards
--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services