Re: function currval(character varying) does not exist, PostgreSQL 8.1 beta3

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Jean-Pierre Pelletier" <pelletier_32(at)sympatico(dot)ca>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: function currval(character varying) does not exist, PostgreSQL 8.1 beta3
Date: 2005-10-20 20:21:24
Message-ID: 13680.1129839684@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

"Jean-Pierre Pelletier" <pelletier_32(at)sympatico(dot)ca> writes:
> pstmt = connection.prepareStatement("select currval(?)"); throws =
> "function currval(character varying) does not exist"

> Is currval(text) gone for good or is this an oversight?

currval(text) is gone for good; the oversight is that we stuck in an
implicit cast from text to regclass, but not one from varchar to
regclass (and the lookup is stupid, there has to be an exact match in
pg_cast).

I think we probably should add an implicit varchar cast. To completely
duplicate the cases in which previous versions would work quietly,
we might need casts from bpchar and name as well, but I'm less excited
about adding those (especially since they would require additional
actual functions, rather than just one more row in pg_cast).

Comments anyone? Do we need to force initdb for this (I suppose so if
we want to be perfectly clean :-()

regards, tom lane

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Richard Huxton 2005-10-21 07:12:55 Re: BUG #1978: connection sinks
Previous Message Jean-Pierre Pelletier 2005-10-20 19:53:09 function currval(character varying) does not exist, PostgreSQL 8.1 beta3