2009/9/7 Pavel Stehule <pavel.steh...@gmail.com>:
> Hello
>
> 2009/9/7 Tomasz Karlik <tomasz.kar...@ultimo.pl>:
>>
>>
>>>>> Alvaro Herrera <alvhe...@commandprompt.com> 9/4/2009 7:23 PM >>>
>> tkar...@ultimo.pl wrote:
>>
>>> Without casting function executes much slower:
>>>
>>> CREATE OR REPLACE FUNCTION table_exists(tblname text) RETURNS boolean AS '
>>> DECLARE
>>> exists boolean;
>>> BEGIN
>>>     SELECT 1 INTO exists FROM pg_class WHERE relname = name($1);
>>>     RETURN exists;
>>> END;
>>> ' LANGUAGE 'plpgsql' IMMUTABLE;
>>
>
> it some strange. What version do you use?
>
> on 5.4

sorry 8.4


>
> postgres=# explain select * from pg_class where relname='aaa';
>                                         QUERY PLAN
>
> --------------------------------------------------------------------------------
> -------------
>  Index Scan using pg_class_relname_nsp_index on pg_class  (cost=0.00..8.27 
> rows=
> 1 width=185)
>   Index Cond: (relname = 'aaa'::name)
> (2 rows)
>
> the casting is implicit.
>
> regards
> Pavel Stehule
>
>> If you're looking for a speedy answer, try a SQL function, not plpgsql.
>>
>>
>> The same issue when using SQL function... However other casting (for example
>> int4->int8) works properly.
>>
>

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to