Re: create function : change name of input parameter

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Lori Corbani <Lori(dot)Corbani(at)jax(dot)org>, "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:04
Message-ID: 53F4C49C.2040404@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Lori Corbani 2014-08-20 15:54:50 Re: create function : change name of input parameter
Previous Message Lori Corbani 2014-08-20 15:48:18 Re: create function : change name of input parameter