On Mon, Jun 24, 2013 at 4:20 AM, Dimitri Fontaine <dimi...@2ndquadrant.fr>wrote:
> Jaime Casanova <ja...@2ndquadrant.com> writes: > > just tried to build this one, but it doesn't apply cleanly anymore... > > specially the ColId_or_Sconst contruct in gram.y > > Please find attached a new version of the patch, v7, rebased to current > master tree and with some more cleanup. I've been using the new grammar > entry NonReservedWord_or_Sconst, I'm not sure about that. > > > I played a bit with this patch. - If I have control file that has the same name as template, create extension picks up control file? Is this by design? - Though control file is kind of global information among different databases, pg_extension_template is not. Sounds a little weird to me. - Why do we need with() clause even if I don't need it? - I copied and paste from my plv8.control file to template script, and MODULE_PATHNAME didn't work. By design? - foo=# create template for extension ex2 version '1.0' with (requires ex1) as $$ $$; ERROR: template option "requires" takes an argument - create template ex2, create extension ex2, alter template ex2 rename to ex3, create extension ex3, drop template ex3; foo=# drop template for extension ex3 version '1.0'; ERROR: cannot drop unrecognized object 3179 16429 0 because other objects depend on it - a template that is created in another template script does not appear to depend on the parent template. - Without control file/template, attempt to create a new extension gives: foo=# create extension plv8; ERROR: extension "plv8" has no default control template but can it be better, like "extension plv8 has no default control file or template"? - Do we really need separate tables, pg_extension_template and pg_extension_control? - Looks like both tables don't have toast tables. Some experiment gives: ERROR: row is too big: size 8472, maximum size 8160 Thanks, -- Hitoshi Harada