Re: Where is the error

From: Kaloyan Iliev Iliev <news1(at)faith(dot)digsys(dot)bg>
To: John DeSoi <desoi(at)pgedit(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Where is the error
Date: 2004-12-27 12:47:06
Message-ID: 41D0044A.2070808@faith.digsys.bg
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi again,

When I chage in the dump file

CREATE FUNCTION int (boolean) RETURNS integer AS '
select CASE WHEN $1 THEN 1
ELSE 0
END ' LANGUAGE sql;

ERROR: syntax error at or near "(" at character 21

I receive this message. So the question is how to create it without quotes.

Thank in advance:)

Kaloyan

John DeSoi wrote:

>
> On Dec 27, 2004, at 6:42 AM, Kaloyan Iliev Iliev wrote:
>
>> CREATE OR REPLACE FUNCTION "int" (boolean) RETURNS integer AS'
>> select CASE WHEN $1 THEN 1
>> ELSE 0
>> END
>> 'LANGUAGE 'sql';
>>
>
> The problem is that you have quoted the function name as "int". You
> should only do this when you want to force the exact case of the name.
> When you do it this way, you have to use double quotes when you refer
> to the identifier:
>
>
> select "int"('t'::boolean);
> int
> -----
> 1
> (1 row)
>
>
> So in this case you probably want to call your function int -- without
> quotes. By default, PostgreSQL folds the names to lowercase.
>
>
> Best,
>
> John DeSoi, Ph.D.
> http://pgedit.com/
> Power Tools for PostgreSQL
>
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Kaloyan Iliev Iliev 2004-12-27 12:52:23 Re: Where is the error
Previous Message Andreas Kretschmer 2004-12-27 12:31:53 Re: Where is the error