From: | John Burski <john(dot)burski(at)911ep(dot)com> |
---|---|
To: | |
Cc: | PostgreSQL Novice <pgsql-novice(at)postgresql(dot)org> |
Subject: | Re: Opaque data type |
Date: | 2001-08-16 15:03:39 |
Message-ID: | 3B7BE0CB.E97A955D@911ep.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
Actually, that cleared things up quite a bit. While it may be a bit
confusing, I'm no longer standing on the "ignorant" square.
Thanks!
Tom Lane wrote:
> John Burski <john(dot)burski(at)911ep(dot)com> writes:
> > Could someone clarify the concept that underlies the opaque data type?
>
> It *is* confusing, because OPAQUE is actually used for several distinct
> purposes. If you look in the pg-hackers mail list archives, you'll find
> discussions (as yet unimplemented) to replace OPAQUE by several
> pseudo-types that have crisper meanings.
>
> Offhand I can recall these uses:
>
> * Sometimes OPAQUE means "this function doesn't return anything at all",
> similarly to "returns void" in C and some other languages.
>
> * Sometimes OPAQUE means "this value can be any datatype at all" (eg,
> input of the count() aggregate).
>
> * Sometimes OPAQUE means "I know exactly what this should be, but it's
> an internal datatype with no SQL-level equivalent". This is usually
> what's at stake with a trigger function.
>
> * Sometimes OPAQUE means "I know exactly what this should be, but I
> haven't declared it yet" (ie, a forward reference). This is needed
> to declare I/O functions of user-defined types, since the system
> requires the functions to already exist when the type is declared.
>
> Confused yet? Basically, OPAQUE has been used as an easy out in rather
> more places than it should have been :-(. Someday we'll clean this up.
>
> regards, tom lane
--
John Burski
I.T. Manager and Systems Administration
911EP
First in LEDs... The solid state warning light leader.
25 Sixth Avenue North
Saint Cloud, MN 56303
1-800-863-6911
From | Date | Subject | |
---|---|---|---|
Next Message | P.V. Subramanian | 2001-08-16 18:39:49 | Starting a daemon process on INSERT |
Previous Message | Tom Lane | 2001-08-16 14:43:50 | Re: Opaque data type |