On 2015-09-07 21:28, Petr Jelinek wrote:
> On 2015-09-07 21:09, Alvaro Herrera wrote:
>> Andres Freund wrote:
>>> On 2015-09-07 20:56:50 +0200, Petr Jelinek wrote:
>>>> Yes that sounds cleaner. Just as a side note, List is a Node and
>>>> does have
>>>> copy support (and we pass List as DefElem->arg from gram.y in several
>>>> places).
>>>
>>> I know - but the list element in this case don't have copy support, no?
>>> You seem to have put plain C strings in there, right?
>>
>> Seems slightly easier to use makeString(), no?
>>
>
> Yes, but I think Andres is correct when saying DefElem->arg is not
> nicest place to put it to.
>
Attached patch uses just boolean in cascade DefElem and splits the
CreateExtension into two functions, the cascade code now calls the
CreateExtensionInternal. One thing though - I am passing the DefElems
directly to the cascaded CreateExtensionStmt options, I think it's not
problem but want to give it extra visibility.
Also the schema check was moved.
--
Petr Jelinek http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services