Re: Oid registry

From: Hannu Krosing <hannu(at)krosing(dot)net>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Oid registry
Date: 2012-09-26 08:46:46
Message-ID: 5062C0F6.2010607@krosing.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 09/26/2012 02:48 AM, Andrew Dunstan wrote:
>
> On 09/25/2012 08:35 PM, Peter Eisentraut wrote:
>> On Tue, 2012-09-25 at 18:22 -0400, Tom Lane wrote:
>>> Actually, after reading another message you sent, I thought you were
>>> going to respond that your proposed transforms feature would cover it.
>> I had thought about this some time ago, but it's clearer to think of
>> casts as associating two types, versus transforms associating a type and
>> a language. JSON and XML tend to be types.
>
>
> OK, I think this solves the object_to_json problem after all - we'll
> look for a cast to json and if it's not there use the string form of
> the object. Nice.
This is solved then :)

Would it be possible to also use the cast mechanism to do
anyarray-to-json casts as parallel spelling for array_to_json()
and record-to-json cast for row_to_json()

btw, is anybody currently working on also going the opposite way, that
is loading rows/records from json ?

> That still leaves the other uses for having well known Oids (or
> possibly UUIDs) for non-builtin types (e.g. so Drivers don't have to
> look them up in the catalogs, or having issues when types are added to
> the core.)
One way to solve this would be to pass non-system oids to clients as
their names. this would need a change in protocol.

Or we could make it so that server sends a special record with
typename->typeoid mappings at first use of non-system type.

> cheers
>
> andrew
>
>
>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2012-09-26 08:50:51 Re: htup header reorganization breaks many extension modules
Previous Message Andres Freund 2012-09-26 08:45:56 Re: [COMMITTERS] pgsql: Properly set relpersistence for fake relcache entries.