Re: [pgsql-bugs] Daily digest v1.1282 (5 messages)

Поиск
Список
Период
Сортировка
От Josh Berkus
Тема Re: [pgsql-bugs] Daily digest v1.1282 (5 messages)
Дата
Msg-id 200411030833.13662.josh@agliodbs.com
обсуждение исходный текст
Список pgsql-bugs
Brendan,

> Description: =C2=A0 =C2=A0 =C2=A0 =C2=A0update does not honor order of su=
bselect
>
> Details:
>
> SQL Update command does not follow the order of a WHERE field IN subselec=
t.
>
> In the following code, I try to reset the order of rows in a column by
> updating an order field. =C2=A0Update does not honor the order of output =
form
> the subselect.

This is by design.   ORDER BY for anything but output is a PostgreSQL=20
extension, which we support strictly so that subselects can use LIMIT.   Th=
e=20
SQL standard does not allow ORDER BY in subselects, and is pretty specific =
on=20
query results not being ordered until the final execution step.  Also, you=
=20
should not count on subselect order in any subquery, because the subselect=
=20
resultset may need to be re-ordered in order to join to the main query --=
=20
particularly since the PostgreSQL planner may re-write your query into a mo=
re=20
efficient join type.

If you need to update rows in a specific order, then write a script and use=
 a=20
loop.

--=20
--Josh

Josh Berkus
Aglio Database Solutions
San Francisco

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #1303: backend crashes due wrong TCP packet
Следующее
От: "PostgreSQL Bugs List"
Дата:
Сообщение: BUG #1305: can't use the type 'number' with alter table