Re: LIMIT problem

Поиск
Список
Период
Сортировка
От Jasen Betts
Тема Re: LIMIT problem
Дата
Msg-id hrfqqn$u2r$1@reversiblemaps.ath.cx
обсуждение исходный текст
Ответ на LIMIT problem  (silly sad <sad@bankir.ru>)
Ответы Re: LIMIT problem  (silly sad <sad@bankir.ru>)
Список pgsql-sql
On 2010-04-30, silly sad <sad@bankir.ru> wrote:
> suppose i request
>
> SELECT foo(t.x) FROM t LIMIT 1;
>
> Whither it DEFINED how many times foo() will be executed?

foo will be executed repeatedly until it returns a result or all the
rows in t are exhausted.

> May anyone rely on it?

not sure

> Or we have to avoid this non SQLish trick?


This will execute it once (or not at all where t has no rows)
SELECT foo(x) FROM (SELECT x FROM t LIMIT 1) as bar;

But may return a number of records differing from 1 in the case where
foo is a set-returning function.

jasen=# select a from foo;a 
---147  636 rows)

jasen=# select generate_series(1,a),a from foo limit 1;generate_series | a 
-----------------+---              1 | 1
(1 row)

the first row jas 1 and the first row from
generate_series(1,1) is returned 

jasen=# select generate_series(5,a),a from foo limit 1;generate_series | a 
-----------------+---              5 | 7
(1 row)
the 1st row has 1 and generate_series(5,1) returns 0 rowsthe 2nd row has 4 and generate_series(5,4) returns 0 rowsthe
3rdrow has 7 and generate_series(5,7) returns 3 rows
 

And the first of those is returned.





В списке pgsql-sql по дате отправления:

Предыдущее
От: Nilesh Govindarajan
Дата:
Сообщение: Re: LIMIT problem
Следующее
От: silly sad
Дата:
Сообщение: Re: LIMIT problem