compatibility issue with DirectFunctionCall1 - Mailing list pgsql-hackers

From Pavel Stehule
Subject compatibility issue with DirectFunctionCall1
Date
Msg-id BANLkTikyY7UW7rNcZ3fYq+eaonAMO01isA@mail.gmail.com
Whole thread Raw
Responses Re: compatibility issue with DirectFunctionCall1  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
List pgsql-hackers
Hello,

I am working on testing Orafce for PostgreSQL 9.1. I found a issue.

I cannot directly call a function "lower".

Is it correct?
 select dbms_assert.enquote_name('''"AAA');
!  enquote_name.
! --------------
!  "'""aaa"
! (1 row)
!. select dbms_assert.enquote_name('''"AAA', false);  enquote_name. --------------
--- 1180,1188 ---- (1 row)
.. select dbms_assert.enquote_name('''"AAA');
! ERROR:  could not determine which collation to use for lower() function
! HINT:  Use the COLLATE clause to set the collation explicitly.
! CONTEXT:  SQL function "enquote_name" statement 1 select dbms_assert.enquote_name('''"AAA', false);  enquote_name.

Datum
dbms_assert_enquote_name(PG_FUNCTION_ARGS)
{
<------>Datum name  = PG_GETARG_DATUM(0);   <-->bool loweralize = PG_GETARG_BOOL(1);

<------>name = DirectFunctionCall1(quote_ident, name);

<------>if (loweralize)
<------><------>name = DirectFunctionCall1(lower, name);

<------>PG_RETURN_DATUM(name);
}

Regards

Pavel Stehule


pgsql-hackers by date:

Previous
From: Ibrar Ahmed
Date:
Subject: Re: "errno" not set in case of "libm" functions (HPUX)
Next
From: Florian Pflug
Date:
Subject: Re: kill -KILL: What happens?