Re: per-column FDW options, v5

From: Shigeru Hanada <shigeru(dot)hanada(at)gmail(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: per-column FDW options, v5
Date: 2011-08-09 10:28:53
Message-ID: 4E410BE5.103@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

(2011/08/09 1:16), Robert Haas wrote:
> 2011/8/8 Shigeru Hanada<shigeru(dot)hanada(at)gmail(dot)com>:
>>>> Currently table-level options are showin in result of \det+ command
>>>> (only verbose mode), in same style as fdw and foreign servers.
>>>>
>>>> But \d is more popular for table describing, so moving table-level
>>>> options from \det+ to \d might be better. Thoughts?
>>
>> (2011/08/06 9:26), Robert Haas wrote:
>>> I'd show it both places.
>>
>> After taking a look at describe.c, I think some styles are applicable to
>> FDW options in result of \d command.
>>
>> (1) simple array literal style
>> Show table-level FDW options like other FDW options. It is simply a
>> result of array_out(); each options is shown as "key=value" with quoting
>> if necessary and delimited by ','. Whole line is surrounded by { and }.
>> If an element includes any character which need to be escaped, such
>> element is quoted with double-quotation.
>>
>> Ex)
>> FDW Options: {"delimiter=,","quote=\""}
>> #delimiter is a comma, and qutoe is a double-quote
>>
>> (2) reloptions style
>> Show FDW options like reloptions of \d+ result. Each options is shown
>> as "key=value" without quoting. Some special characters might make it
>> little illegible.
>>
>> Ex)
>> FDW Options: delimiter=,, quote="
>> #delimiter is a comma, and qutoe is a double-quote
>>
>> (3) OPTIONS clause style
>> Show FDW options as they were in OPTIONS clause. Each option is shown
>> as "key 'value'", and delimited with ','.
>>
>> Ex)
>> FDW Options: delimiter ',', quote ''''
>> #delimiter is a comma, and qutoe is a single-quote
>>
>> (1) can be implemented with minimum change, and it also keeps the
>> behavior consistent with other existing FDW objects. But IMHO (3) is
>> most readable, though it breaks backward compatibility about the format
>> of FDW options used in the result of \d* command. Thoughts?
>
> I'm against #2, but I could go either way on #1 vs. #3. If you pick
> #3, would you also change the column options to be displayed that way,
> or would we end up with table and column options displayed
> differently?

I'd like to pick #3, and also change per-column options format. In
addition, I'd like to change options format for other FDW objects such
as wrappers, servers and user mappings for consistency. Of course, only
if it's acceptable to break backward compatibility...

Regards,
--
Shigeru Hanada

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2011-08-09 11:38:11 some missing internationalization in pg_basebackup
Previous Message Heikki Linnakangas 2011-08-09 10:25:23 Re: Compiler warnings with stringRelOpts (was WIP: Fast GiST index build)