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

Reply via email to