On Wed, Aug 26, 2015 at 7:20 PM, Alexander Korotkov <
a.korot...@postgrespro.ru> wrote:

> On Wed, Aug 26, 2015 at 6:50 PM, Tom Lane <t...@sss.pgh.pa.us> wrote:
>
>> Alexander Korotkov <a.korot...@postgrespro.ru> writes:
>> > OK. So, as we mentioned before, if we need to expose something of am
>> > parameters at SQL-level then we need to write special functions which
>> would
>> > call amhandler and expose it.
>> > Did we come to the agreement on this solution?
>>
>> I think we were agreed that we should write functions to expose whatever
>> needs to be visible at SQL level.  I'm not sure that we had a consensus
>> on exactly which things need to be visible.
>>
>> One thought here is that we might not want to just blindly duplicate
>> the existing pg_am behavior anyway.  For example, the main use of the
>> amstrategies column was to allow validation of pg_amop.amopstrategy
>> entries --- but in 4 out of the 6 existing AMs, knowledge of the AM alone
>> isn't sufficient information to determine the valid set of strategy
>> numbers anyway.  So inventing a "pg_amstrategies(am oid)" function seems
>> like it would be repeating a previous failure.  Not quite sure what to
>> do instead, though.  We could imagine something like "pg_amstrategies(am
>> oid, opclass oid)", but I don't see how to implement it without asking
>> opclasses to provide a validation function, which maybe is a change we
>> don't want to take on here.
>>
>
> Could we add another function to access method interface which would
> validate opclass?
> Am could validate this way not only strategies, but also supporting
> functions. For instance, in GIN, we now require opclass to specify at least
> one of consistent and triconsistent. ISTM I would be nice to let the access
> method check such conditions. Also, we would be able to check opclass
> correction on its creation. Now one can create opclass with missing support
> functions which doesn't work.
> In the SQL-level we can create function which validates opclass using this
> new method. This function can be used in regression tests.
>

Should I try to implement such new access method function, say 'amvalidate'?

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

Reply via email to