Re: xmlagg doesn't honor LIMIT?

Поиск
Список
Период
Сортировка
От Peter Kroon
Тема Re: xmlagg doesn't honor LIMIT?
Дата
Msg-id CAOh+DOmGNX-rt5ePSa4_+2Px7YUwg6FR_KfOmk9w7uEbr2DSvQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: xmlagg doesn't honor LIMIT?  (Albe Laurenz <laurenz.albe@wien.gv.at>)
Список pgsql-general
This is how I solved it:

SELECT
xmlagg(
xmlconcat(
xmlelement(name test_element,
xmlforest(
ff.d AS a
)--xmlforest
)
)--xmlconcat
)--xmlagg

FROM (
SELECT
--xmlagg(
xmlconcat(
xmlelement(name test_element,
xmlattributes(
0 AS m 
),
xmlforest(
dh.id AS i
,dh.some_value AS sv
)--xmlforest
)--test_element
) AS d 
--)
FROM __pg_test_table AS dh
WHERE dh.__rel=5 LIMIT 2 --OFFSET 10;
) AS ff;


2013/11/26 Albe Laurenz <laurenz.albe@wien.gv.at>
Peter Kroon wrote:
> Is anyone able to reproduce?
> When I run the query below all 5 rows are returned instead of 2.
> Or is this the default behaviour..

> SELECT
> xmlagg(
[...]
> )--xmlagg
> FROM __pg_test_table AS dh
> WHERE dh.__rel=5 LIMIT 2 --OFFSET 10;

According to the documentation, that query should return
exactly one row since xmlagg is an aggregate.

So the LIMIT 2 won't do anything to the result.

You can wrap your query in a
SELECT count(*) FROM (SELECT ...) AS dummy;
to see how many rows you got.

Yours,
Laurenz Albe

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

Предыдущее
От: Nelson Green
Дата:
Сообщение: Re: Inserting rows containing composite foreign keys
Следующее
От: Chris Curvey
Дата:
Сообщение: restore crashes PG on Linux, works on Windows