Re: how to found a variable is in a aggregation or not? - Mailing list pgsql-general

From Pavel Stehule
Subject Re: how to found a variable is in a aggregation or not?
Date
Msg-id 162867790807150430s3bce8d0aw24e3ce8bc6aea3ec@mail.gmail.com
Whole thread Raw
In response to how to found a variable is in a aggregation or not?  (Yi Zhao <yi.zhao@alibaba-inc.com>)
Responses Re: how to found a variable is in a aggregation or not?
List pgsql-general
Hello

in this case you must not use quoting

postgres=# create or replace function anytest(val text) returns boolean as $$
begin
       perform 1 where val in ('hello', 'world', 'test');
       if not found then
               return false;
       else
               return true;
       end if;
end;
$$ language plpgsql;
CREATE FUNCTION
Time: 3,342 ms
postgres=# select anytest('hello');
 anytest
---------
 t
(1 row)

Time: 42,034 ms
postgres=# select anytest('helloa');
 anytest
---------
 f
(1 row)

Time: 0,468 ms
postgres=#

you have to use quoting only together dynamic sql, etc EXECUTE statement

regards
Pavel Stehule

2008/7/15 Yi Zhao <yi.zhao@alibaba-inc.com>:
> I want to check a variable is in a aggregattion or not, so I create a
> function as below:
>
> create or replace function anytest(val text) returns boolean as $$
> begin
>        perform 1 where quote_literal(val) in ('hello', 'world', 'test');
>        if not found then
>                return false;
>        else
>                return true;
>        end if;
> end;
> $$ language plpgsql;
>
> but when I used, I got the result below, why?
>
> test=# select anytest('world111');
>  anytest
> ---------
>  f
> (1 row)
>
> test=# select anytest('world');
>  anytest
> ---------
>  f
> (1 row)
>
>
> any help is appreciated.
>
> regards,
> Zy
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

pgsql-general by date:

Previous
From: Yi Zhao
Date:
Subject: how to found a variable is in a aggregation or not?
Next
From: "Sergey Konoplev"
Date:
Subject: Referential integrity vulnerability in 8.3.3