Re: to pg - Mailing list pgsql-general

From Albe Laurenz
Subject Re: to pg
Date
Msg-id A737B7A37273E048B164557ADEF4A58B50FAF8F0@ntex2010i.host.magwien.gv.at
Whole thread Raw
In response to to pg  (Ramesh T <rameshparnanditech@gmail.com>)
List pgsql-general
Ramesh T 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.

CREATE TABLE pick (picked char(1), load_id integer);

CREATE FUNCTION picked_loadid(character, integer) RETURNS integer
   IMMUTABLE STRICT LANGUAGE sql AS
   $$SELECT CASE WHEN $1 = 'y' THEN $2 ELSE NULL END$$;

CREATE INDEX idx_load_pick ON pick (picked_loadid(picked, load_id));

*but*

It will only work with queries like:

SELECT * FROM pick WHERE picked_loadid(picked, load_id) IS NOT NULL;

Yours,
Laurenz Albe

pgsql-general by date:

Previous
From: Ladislav Lenart
Date:
Subject: Re: to pg
Next
From: Francisco Reyes
Date:
Subject: Re: Dropped connections with pg_basebackup