From: Joe Conway <mail@joeconway.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@postgreSQL.org
Subject: Re: Proposal: make "opaque" obsolete
Date: Tue, 20 Aug 2002 22:30:32 -0700
Message-ID: <3D632578.107@joeconway.com> (raw)
References: <18530.1029866880@sss.pgh.pa.us>
Tom Lane wrote:
> About I/O behavior: the pg_type entries for these pseudo-types will have to
> have typinput and typoutput functions. In general these I/O routines must
> just throw errors. Otherwise you could break the intended type safety by
> supplying user-written constants. For instance, the present definition of
> RECORD is wrong (sorry Joe) because it uses oidin and oidout; so I could
> write "SELECT foo('42'::record)" and thereby crash a function expecting
> RECORD. Not that there will be any such function, but the analogous case
> with, say, INTERNAL would be bad news.
Sorry I've been unable to be very involved today. Anything you want me
to do here?
> An exception is that void_out should succeed and just return an empty string;
> this allows functions-returning-void to be called by SELECT and behave
> reasonably. Less obviously, void_in should succeed (and return nothing
> interesting, probably just a zero datum; it can ignore its input). This
> allows plpgsql functions to be defined to return VOID.
This will be useful if/when we want to implement "CALL stored_proc;"
> Should we throw a NOTICE stating that opaque is deprecated if a trigger
> is declared with opaque? Or should we wait a release or two for that?
I'd throw the NOTICE now.
Joe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: mail@joeconway.com, tgl@sss.pgh.pa.us
Subject: Re: Proposal: make "opaque" obsolete
In-Reply-To: <3D632578.107@joeconway.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox