Re: [pgadmin-support] Overloading functions that are used by operators. - Mailing list pgsql-admin
From | Dave Page |
---|---|
Subject | Re: [pgadmin-support] Overloading functions that are used by operators. |
Date | |
Msg-id | 03AF4E498C591348A42FC93DEA9661B83AF171@mail.vale-housing.co.uk Whole thread Raw |
List | pgsql-admin |
> -----Original Message----- > From: Tom Lane [mailto:tgl@sss.pgh.pa.us] > Sent: 10 July 2003 16:38 > To: Dave Page > Cc: Donald Fraser; [ADMIN]; [pgADMIN] > Subject: Re: [ADMIN] [pgadmin-support] Overloading functions > that are used by operators. > > > "Dave Page" <dpage@vale-housing.co.uk> writes: > > Well I always thought you could overload functions in this way, > > however with your example below, although it creates it OK, > PostgreSQL > > (not > > pgAdmin) gives the error 'ERROR: There is more than one > function named > > textcat'. > > I see no such error here ... > > regression=# create function pg_catalog.textcat(varchar,text) > regression-# returns text as 'textcat' language 'internal'; > CREATE FUNCTION Andreas (Pflug) reckons it's gone in 7.4, but in 7.3.2 I see: postgresql=# create function pg_catalog.textcat(varchar,text) postgresql-# returns text as 'textcat' language 'internal'; CREATE FUNCTION postgresql=# SELECT op.oid, op.oprname, pg_get_userbyid(op.oprowner) as opowner, op.oprkind, op.oprcanhash, postgresql-# op.oprleft, op.oprright, lt.typname as lefttype, rt.typname as righttype, et.typname as resulttype, postgresql-# co.oprname as compop, ne.oprname as negop, lso.oprname as leftsortop, rso.oprname as rightsortop, postgresql-# lco.oprname as lscmpop, gco.oprname as gtcmpop, postgresql-# po.proname as operproc, pj.proname as joinproc, pr.proname as restrproc, description postgresql-# FROM pg_operator op postgresql-# LEFT OUTER JOIN pg_type lt ON lt.oid=op.oprleft postgresql-# LEFT OUTER JOIN pg_type rt ON rt.oid=op.oprright postgresql-# JOIN pg_type et on et.oid=op.oprresult postgresql-# LEFT OUTER JOIN pg_operator co ON co.oid=op.oprcom postgresql-# LEFT OUTER JOIN pg_operator ne ON ne.oid=op.oprnegate postgresql-# LEFT OUTER JOIN pg_operator lso ON lso.oid=op.oprlsortop postgresql-# LEFT OUTER JOIN pg_operator rso ON rso.oid=op.oprrsortop postgresql-# LEFT OUTER JOIN pg_operator lco ON lco.oid=op.oprltcmpop postgresql-# LEFT OUTER JOIN pg_operator gco ON gco.oid=op.oprgtcmpop postgresql-# JOIN pg_proc po ON po.oid=op.oprcode postgresql-# LEFT OUTER JOIN pg_proc pr ON pr.oid=op.oprrest postgresql-# LEFT OUTER JOIN pg_proc pj ON pj.oid=op.oprjoin postgresql-# LEFT OUTER JOIN pg_description des ON des.objoid=op.oid; ERROR: There is more than one procedure named textcat Dropping the extra function, or changing the query a little fixes it: postgresql=# SELECT op.oid, op.oprname, pg_get_userbyid(op.oprowner) as opowner, op.oprkind, op.oprcanhash, postgresql-# op.oprleft, op.oprright, lt.typname as lefttype, rt.typname as righttype, et.typname as resulttype, postgresql-# co.oprname as compop, ne.oprname as negop, lso.oprname as leftsortop, rso.oprname as rightsortop, postgresql-# lco.oprname as lscmpop, gco.oprname as gtcmpop, postgresql-# op.oprcode as operproc, op.oprjoin as joinproc, op.oprrest as restrproc, description postgresql-# FROM pg_operator op postgresql-# LEFT OUTER JOIN pg_type lt ON lt.oid=op.oprleft postgresql-# LEFT OUTER JOIN pg_type rt ON rt.oid=op.oprright postgresql-# JOIN pg_type et on et.oid=op.oprresult postgresql-# LEFT OUTER JOIN pg_operator co ON co.oid=op.oprcom postgresql-# LEFT OUTER JOIN pg_operator ne ON ne.oid=op.oprnegate postgresql-# LEFT OUTER JOIN pg_operator lso ON lso.oid=op.oprlsortop postgresql-# LEFT OUTER JOIN pg_operator rso ON rso.oid=op.oprrsortop postgresql-# LEFT OUTER JOIN pg_operator lco ON lco.oid=op.oprltcmpop postgresql-# LEFT OUTER JOIN pg_operator gco ON gco.oid=op.oprgtcmpop postgresql-# LEFT OUTER JOIN pg_description des ON des.objoid=op.oid; oid | oprname | opowner | oprkind | oprcanhash | oprleft | oprright | lefttype .... Regards, Dave.
pgsql-admin by date: