Re: create function : change name of input parameter

From: Lori Corbani <Lori(dot)Corbani(at)jax(dot)org>
To: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: create function : change name of input parameter
Date: 2014-08-20 15:54:50
Message-ID: 4542636FF9185340AC1FDDE71BF1992B62BFE309@jaxbhexms02.jax.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


It worked when I included the parameter list in the DROP statement.

Thank you!
Lori

-----Original Message-----
From: Adrian Klaver [mailto:adrian(dot)klaver(at)aklaver(dot)com]
Sent: Wednesday, August 20, 2014 11:54 AM
To: Lori Corbani; pgsql-general(at)postgresql(dot)org
Subject: Re: [GENERAL] create function : change name of input parameter

On 08/20/2014 08:42 AM, Lori Corbani wrote:
>
> OK...if I manually run this within psql it is fine.
>
> But I have a shell script in which I am wrapping a call to 'psql'...and I guess it does not like how things are being passed in when I do it this way.
>
> So, yes, it is working correctly when I copy/paste my script directly into psql.
>
> Will try a different approach to my wrapper.

An additional thing to watch out for is the mixed case in the function name. To demonstrate using a table name:

aklaver(at)test=> create table "CamelCap_Quoted" (id int); CREATE TABLE aklaver(at)test=> create table CamelCap_Not_Quoted (id int); CREATE TABLE aklaver(at)test=> select * from CamelCap_Quoted;
ERROR: relation "camelcap_quoted" does not exist LINE 1: select * from CamelCap_Quoted;
^
aklaver(at)test=> select * from "CamelCap_Quoted";
id

----

(0 rows)

aklaver(at)test=> select * from CamelCap_Not_Quoted;

id

----

(0 rows)

aklaver(at)test=> \d
List of relations
Schema | Name | Type | Owner
--------+---------------------+----------+----------
public | CamelCap_Quoted | table | aklaver
public | camelcap_not_quoted | table | aklaver

If the name is quoted the case is preserved and you have to quote the name to get the same object. A lot of frameworks/ORMS automatically quote object names so this something to watch out for. In the unquoted case the name is folded to lower case by default. So you can get in a situation where you have both the quoted and unquoted name and not be working on the object you think you are.

>
> Many thanks!
> Lori
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

The information in this email, including attachments, may be confidential and is intended solely for the addressee(s). If you believe you received this email by mistake, please notify the sender by return email as soon as possible.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message TigerNassau 2014-08-20 16:22:29 Re: initial auth failure on debian
Previous Message Adrian Klaver 2014-08-20 15:54:04 Re: create function : change name of input parameter