Re: to pg

Поиск
Список
Период
Сортировка
От Alban Hertroys
Тема Re: to pg
Дата
Msg-id CAF-3MvP_8bXGk23tdsO36tYAWd7nZUV0LH9GGLOC5FxRM99GrQ@mail.gmail.com
обсуждение исходный текст
Ответ на to pg  (Ramesh T <rameshparnanditech@gmail.com>)
Ответы Re: to pg
Список pgsql-general
On 25 September 2015 at 13:08, Ramesh T <rameshparnanditech@gmail.com> wrote:
> CREATE UNIQUE INDEX idx_load_pick ON  pick (case picked when picked='y' then
> load_id else null end );
>
> how can i convert case expressed to postgres..above it is oracle.

Assuming that your queries are written in such a way that Oracle is
indeed using that index and you want your queries to use the index as
well in PG:

CREATE UNIQUE INDEX idx_load_pick ON (load_id) WHERE CASE picked WHEN
'y' THEN load_id ELSE NULL END IS NOT NULL;

That's definitely written a bit redundantly, that's Oracle's fault.

If your queries aren't like that, it's as Ladislav wrote. Much simpler in PG!


To make Oracle use your original index, your queries are probably of a
form containing snippets like:

SELECT *
FROM foo
WHERE CASE picked WHEN 'y' THEN load_id ELSE NULL END IS NOT NULL

BTW, your CASE statement isn't exactly valid, even in Oracle. Your
comparison is in fact this: picked = picked='y'.

--
If you can't see the forest for the trees,
Cut the trees and you'll see there is no forest.


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

Предыдущее
От: Francisco Reyes
Дата:
Сообщение: Re: Dropped connections with pg_basebackup
Следующее
От: Tom Lane
Дата:
Сообщение: Re: to pg