Re: BUG #6483: Rows being evaluated, although being outside the LIMIT / OFFSET boundaries

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: kouber(at)saparev(dot)com
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #6483: Rows being evaluated, although being outside the LIMIT / OFFSET boundaries
Date: 2012-02-22 18:58:43
Message-ID: CAFj8pRBFVec_RuoQ-4CrYPjcq6zpdB+HpkFCm+9-HhN3j-wc2A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hello

this is not bug

"OFFSET" doesn't mean go to line n - it means - first n lines don't
send to client.

Regards

Pavel Stehule

2012/2/22 <kouber(at)saparev(dot)com>:
> The following bug has been logged on the website:
>
> Bug reference:      6483
> Logged by:          Kouber Saparev
> Email address:      kouber(at)saparev(dot)com
> PostgreSQL version: 9.1.2
> Operating system:   Debian
> Description:
>
> The rows of a SELECT statement are being evaluated, even when not shown in
> the final result, when using an OFFSET > 0. Although I know that LIMIT is
> imposed just before flushing the result set to the client, this behaviour
> seems quite confusing, especially when using DML statements in the field
> list of the SELECT itself.
>
> CREATE TABLE xxx (id INT);
>
> CREATE FUNCTION f(xxx) RETURNS VOID AS $$
> BEGIN
>  -- imagine some DML statements here --
>
>  RAISE NOTICE '%', $1.id;
> END;
> $$ LANGUAGE PLPGSQL;
>
> INSERT INTO xxx VALUES (1), (2), (3), (4), (5);
>
>
> -- shows a notice for 1 and 2
> SELECT x.id, f(x) FROM xxx as x LIMIT 2;
>
>
> -- shows a notice for 1, 2, 3 and 4
> SELECT x.id, f(x) FROM xxx as x LIMIT 2 OFFSET 2;
>
>
> --
> Sent via pgsql-bugs mailing list (pgsql-bugs(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-bugs

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2012-02-22 20:16:40 Re: BUG #6482: Service terminates executing "With ... as ... UPDATE" query
Previous Message kouber 2012-02-22 18:53:19 BUG #6483: Rows being evaluated, although being outside the LIMIT / OFFSET boundaries