Bug #939: Function parameter of type int2 fail when called. - Mailing list pgsql-bugs

From pgsql-bugs@postgresql.org
Subject Bug #939: Function parameter of type int2 fail when called.
Date
Msg-id 20030409131957.A68CA475458@postgresql.org
Whole thread Raw
Responses Re: Bug #939: Function parameter of type int2 fail when called.  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
Paul Johnston (paulj@sonalysts.com) reports a bug with a severity of 2
The lower the number the more severe it is.

Short Description
Function parameter of type int2 fail when called.

Long Description
In version 7.2 we defined a bunch of functions with parameters of type int2.  In version 7.2 this worked as advertised.
We then upgraded to version 7.3.2.  After upgrading we were not able to run any functions that had the int2 type as a
parameter. When we tried to run one of those functions we got the following error message: 

Number: -2147467259
Description:  ERROR: Function generate_snapshot(integer, integer, integer) does not exist.  Unable to identify a
functionthat satisfies the given argument types.  You may need to add explicit typecasts. 

The function generate_snapshot takes an int8, int8, int2.  We did try an explicit cast which did not help.  When we
changedthe int2 parameter type to int4 the function worked as designed. 

In the example code I have put a few function definitions that work and do not work to give some examples.

Sample Code
'
    LANGUAGE plpgsql IMMUTABLE;


--
-- TOC entry 509 (OID 18479)
-- Name: works_example (bigint); Type: FUNCTION; Schema: public; Owner: postgres
--

CREATE FUNCTION works_example (bigint) RETURNS bigint
    AS '--works_example
declare

begin
raise notice ''We are in works_example!!!'';
return 3;
end;


'
    LANGUAGE plpgsql IMMUTABLE;


--
-- TOC entry 510 (OID 18480)
-- Name: works_two_example (bigint); Type: FUNCTION; Schema: public; Owner: postgres
--

CREATE FUNCTION works_two_example (bigint) RETURNS integer
    AS '--works_two_example
declare

begin
raise notice ''We are in works_two_example!!!'';
return 2;
end;


'
    LANGUAGE plpgsql IMMUTABLE;


--
-- TOC entry 511 (OID 18481)
-- Name: works_three_example (bigint, integer, text); Type: FUNCTION; Schema: public; Owner: postgres
--

CREATE FUNCTION works_three_example (bigint, integer, text) RETURNS integer
    AS '--works_three_example
declare

begin
raise notice ''We are in works_three_example!!!'';
return 3;
end;


'
    LANGUAGE plpgsql IMMUTABLE;


--
-- TOC entry 512 (OID 18482)
-- Name: broke_one_example (bigint, smallint); Type: FUNCTION; Schema: public; Owner: postgres
--

CREATE FUNCTION broke_one_example (bigint, smallint) RETURNS bigint
    AS '--broke_one_example
declare

begin
raise notice ''We are in broke_one_example!!!'';
return 1;
end;


'
    LANGUAGE plpgsql IMMUTABLE;


--
-- TOC entry 513 (OID 18484)
-- Name: works_four_example (bigint, text); Type: FUNCTION; Schema: public; Owner: postgres
--

CREATE FUNCTION works_four_example (bigint, text) RETURNS smallint
    AS '--works_four_example
declare

begin
raise notice ''We are in works_four_example!!!'';
return 4;
end;
'
    LANGUAGE plpgsql IMMUTABLE;


--
-- TOC entry 514 (OID 18485)
-- Name: broke_two_example (bigint, smallint, text); Type: FUNCTION; Schema: public; Owner: postgres
--

CREATE FUNCTION broke_two_example (bigint, smallint, text) RETURNS integer
    AS '--broke_two_example
declare

begin
raise notice ''We are in broke_two_example!!!'';
return 2;
end;
'
    LANGUAGE plpgsql IMMUTABLE;


--
-- TOC entry 515 (OID 18486)
-- Name: broke_three_example (smallint); Type: FUNCTION; Schema: public; Owner: postgres
--

CREATE FUNCTION broke_three_example (smallint) RETURNS void
    AS '--broke_three_example
declare

begin
raise notice ''We are in broke_three_example!!!'';
end;


No file was uploaded with this report

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: ERROR: heap_mark4update: (am)invalid tid, after the 14th update in 7.3.2
Next
From: Tom Lane
Date:
Subject: Re: Bug #939: Function parameter of type int2 fail when called.