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
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 |