[BUGS] BUG #8168: duplicated function signature

2013-05-17 Thread vladimir . jovanovic
The following bug has been logged on the website:

Bug reference:  8168
Logged by:  Vladimir Jovanović
Email address:  vladimir.jovano...@aparteko.com
PostgreSQL version: 8.4.11
Operating system:   PostgreSQL 8.4.11 on x86_64-redhat-linux-gnu, com
Description:

Hi,

I noticed that I have two functions with the same signature.

sp_get_league_prediction(IN _id bigint, IN _rank integer, IN
_log_in_expectence double precision, IN _feathers_gained integer, IN
_tokens_all integer, IN _tokens_active integer, IN _score integer)

sp_get_league_prediction(_id bigint, _rank integer, _log_in_expectence
double precision, _feathers_gained integer, _tokens_all integer,
_tokens_active integer, _score integer)

Actually, I created first one with intention, but the second function
appeared when I executed the following code when I wanted to replace the
function:

CREATE OR REPLACE FUNCTION sp_get_league_prediction(IN _id bigint, IN _rank
integer, IN _log_in_expectence double precision, IN _feathers_gained
integer, IN _tokens_all integer, IN _tokens_active integer, IN _score
integer)
  RETURNS SETOF record AS
$BODY$
DECLARE
BEGIN


-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs


Re: [BUGS] BUG #8168: duplicated function signature

2013-05-17 Thread Heikki Linnakangas

On 17.05.2013 13:31, vladimir.jovano...@aparteko.com wrote:

I noticed that I have two functions with the same signature.

sp_get_league_prediction(IN _id bigint, IN _rank integer, IN
_log_in_expectence double precision, IN _feathers_gained integer, IN
_tokens_all integer, IN _tokens_active integer, IN _score integer)

sp_get_league_prediction(_id bigint, _rank integer, _log_in_expectence
double precision, _feathers_gained integer, _tokens_all integer,
_tokens_active integer, _score integer)


In addition to higher-level checks, there is a unique index in the 
pg_proc catalog that should not let that happen, so to be honest, I find 
that hard to believe. Are you 100% they have the same signature? Are 
they in different schemas, perhaps? In psql, what does \df 
sp_get_league_prediction return?


- Heikki


--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs


Re: [BUGS] BUG #8168: duplicated function signature

2013-05-17 Thread Tom Lane
Heikki Linnakangas hlinnakan...@vmware.com writes:
 On 17.05.2013 13:31, vladimir.jovano...@aparteko.com wrote:
 I noticed that I have two functions with the same signature.
 
 sp_get_league_prediction(IN _id bigint, IN _rank integer, IN
 _log_in_expectence double precision, IN _feathers_gained integer, IN
 _tokens_all integer, IN _tokens_active integer, IN _score integer)
 
 sp_get_league_prediction(_id bigint, _rank integer, _log_in_expectence
 double precision, _feathers_gained integer, _tokens_all integer,
 _tokens_active integer, _score integer)

 In addition to higher-level checks, there is a unique index in the 
 pg_proc catalog that should not let that happen, so to be honest, I find 
 that hard to believe. Are you 100% they have the same signature? Are 
 they in different schemas, perhaps? In psql, what does \df 
 sp_get_league_prediction return?

If they are in different schemas, you'd probably need
\df *.sp_get_league_prediction
to see both.

regards, tom lane


-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs


Re: [BUGS] BUG #8168: duplicated function signature

2013-05-17 Thread Heikki Linnakangas

On 17.05.2013 18:53, Vladimir Jovanovic wrote:

Hi Heikki,

Here you can find attached .csv semicolon separated made by :SELECT * FROM
pg_proc WHERE proname LIKE 'sp_get_league_prediction.
\df sp_get_league_prediction is also attached.

Both functions are returning the same setof record:

---
CREATE OR REPLACE FUNCTION sp_get_league_prediction(IN _id bigint, IN _rank
integer, IN _log_in_expectence double precision, IN _feathers_gained
integer, IN _tokens_all integer, IN _tokens_active integer, IN _score
integer)
   RETURNS SETOF record AS
$BODY$
...
---
CREATE OR REPLACE FUNCTION sp_get_league_prediction(_id bigint, _rank
integer, _log_in_expectence double precision, _feathers_gained integer,
_tokens_all integer, _tokens_active integer, _score integer)
   RETURNS SETOF record AS
$BODY$
...


No. One of the functions was created with something like above. But the 
other one takes no arguments, and *returns* a table with those columns. 
Try \ef sp_get_league_prediction() to get a CREATE OR REPLACE FUNCTION 
statement to recreate the latter; you will see that it looks something 
like this:


CREATE OR REPLACE FUNCTION public.sp_get_league_prediction()
 RETURNS TABLE(id bigint, _rank integer, _log_in_expectence double 
precision, _feathers_gained integer, _tokens_all integer, _tokens_active 
integer, _score integer)

AS ...

- Heikki


--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs


Re: [BUGS] BUG #8168: duplicated function signature

2013-05-17 Thread Vladimir Jovanovic
It looks I knocked on the wrong address. This is obviously PgAdmin bug
which obviously not correctly showing procedures (as I sent previously) and
made me waste your time, sorry.




On Fri, May 17, 2013 at 6:10 PM, Heikki Linnakangas hlinnakan...@vmware.com
 wrote:

 On 17.05.2013 18:53, Vladimir Jovanovic wrote:

 Hi Heikki,

 Here you can find attached .csv semicolon separated made by :SELECT *
 FROM
 pg_proc WHERE proname LIKE 'sp_get_league_prediction.
 \df sp_get_league_prediction is also attached.

 Both functions are returning the same setof record:

 ---
 CREATE OR REPLACE FUNCTION sp_get_league_prediction(IN _id bigint, IN
 _rank
 integer, IN _log_in_expectence double precision, IN _feathers_gained
 integer, IN _tokens_all integer, IN _tokens_active integer, IN _score
 integer)
RETURNS SETOF record AS
 $BODY$
 ...
 ---
 CREATE OR REPLACE FUNCTION sp_get_league_prediction(_id bigint, _rank
 integer, _log_in_expectence double precision, _feathers_gained integer,
 _tokens_all integer, _tokens_active integer, _score integer)
RETURNS SETOF record AS
 $BODY$
 ...


 No. One of the functions was created with something like above. But the
 other one takes no arguments, and *returns* a table with those columns. Try
 \ef sp_get_league_prediction() to get a CREATE OR REPLACE FUNCTION
 statement to recreate the latter; you will see that it looks something like
 this:

 CREATE OR REPLACE FUNCTION public.sp_get_league_**prediction()
  RETURNS TABLE(id bigint, _rank integer, _log_in_expectence double
 precision, _feathers_gained integer, _tokens_all integer, _tokens_active
 integer, _score integer)
 AS ...

 - Heikki




-- 

*Vladimir Jovanović* http://www.aparteko.com/

http://www.aparteko.com

CELL: +381 64 211 79 79

OFFICE: + 381 11 314 86 38

E-MAIL: vladimir.jovano...@aparteko.com

[image: Description: cid:image001.png@01CD3D1C.7D977930]

setting standards in social gaming development
image001.png

Re: [BUGS] BUG #8168: duplicated function signature

2013-05-17 Thread Vladimir Jovanovic
Hi Heikki,

Here you can find attached .csv semicolon separated made by :SELECT * FROM
pg_proc WHERE proname LIKE 'sp_get_league_prediction.
\df sp_get_league_prediction is also attached.

Both functions are returning the same setof record:

---
CREATE OR REPLACE FUNCTION sp_get_league_prediction(IN _id bigint, IN _rank
integer, IN _log_in_expectence double precision, IN _feathers_gained
integer, IN _tokens_all integer, IN _tokens_active integer, IN _score
integer)
  RETURNS SETOF record AS
$BODY$
...
---
CREATE OR REPLACE FUNCTION sp_get_league_prediction(_id bigint, _rank
integer, _log_in_expectence double precision, _feathers_gained integer,
_tokens_all integer, _tokens_active integer, _score integer)
  RETURNS SETOF record AS
$BODY$
...





On Fri, May 17, 2013 at 4:11 PM, Heikki Linnakangas hlinnakan...@vmware.com
 wrote:

 On 17.05.2013 13:31, 
 vladimir.jovanovic@aparteko.**comvladimir.jovano...@aparteko.comwrote:

 I noticed that I have two functions with the same signature.

 sp_get_league_prediction(IN _id bigint, IN _rank integer, IN
 _log_in_expectence double precision, IN _feathers_gained integer, IN
 _tokens_all integer, IN _tokens_active integer, IN _score integer)

 sp_get_league_prediction(_id bigint, _rank integer, _log_in_expectence
 double precision, _feathers_gained integer, _tokens_all integer,
 _tokens_active integer, _score integer)


 In addition to higher-level checks, there is a unique index in the pg_proc
 catalog that should not let that happen, so to be honest, I find that hard
 to believe. Are you 100% they have the same signature? Are they in
 different schemas, perhaps? In psql, what does \df
 sp_get_league_prediction return?

 - Heikki




-- 

*Vladimir Jovanović* http://www.aparteko.com/

http://www.aparteko.com

CELL: +381 64 211 79 79

OFFICE: + 381 11 314 86 38

E-MAIL: vladimir.jovano...@aparteko.com

[image: Description: cid:image001.png@01CD3D1C.7D977930]

setting standards in social gaming development
image001.png\df sp_get_league_prediction


 List of functions
 Schema |   Name   |
   Result data type
  |
 Argument data types
  |  Type
+--+

--+-

--+
 public | sp_get_league_prediction | TABLE(_id bigint, _rank integer, _log_in_ex
pectence double precision, _feathers_gained integer, _tokens_all integer, _token
s_active integer, _score integer) |

  | normal
 public | sp_get_league_prediction | SETOF record

  | _id bigint, _rank integer, _log_in_expectenc
e double precision, _feathers_gained integer, _tokens_all integer, _tokens_activ
e integer, _score integer | normal
proname;pronamespace;proowner;prolang;procost;prorows;provariadic;proisagg;proiswindow;prosecdef;proisstrict;proretset;provolatile;pronargs;pronargdefaults;prorettype;proargtypes;proallargtypes;proargmodes;proargnames;proargdefaults;prosrc;probin;proconfig;proacl
sp_get_league_prediction;2200;10;1120780646;100;1000;0;f;f;f;f;t;v;0;0;2249;;{20,23,701,23,23,23,23};{t,t,t,t,t,t,t};{_id,_rank,_log_in_expectence,_feathers_gained,_tokens_all,_tokens_active,_score};;
DECLARE

BEGIN

--body

END
sp_get_league_prediction;2200;10;1120780646;100;1000;0;f;f;f;f;t;v;7;0;2249;20 23 701 23 23 23 23;;;{_id,_rank,_log_in_expectence,_feathers_gained,_tokens_all,_tokens_active,_score};;
DECLARE

BEGIN

--body

END

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs