>>>>> "Tom" == Tom Lane <tgl@sss.pgh.pa.us> writes:
Tom> I think the way most people are envisioning this is that aTom> module is a set of SQL objects (functions, types,
tables,Tom>whatever). Whether any of those are C functions in one or moreTom> underlying .so files is not really
particularlyrelevant to theTom> module mechanism.
Tom> It should be possible to have a module that doesn't contain anyTom> C code,
Yes.
Tom> so the concept of a defining function does not look good to me.Tom> A defining SQL script is the way to go.
But I disagree with this, for the simple reason that we don't have
anything like enough flexibility in the form of conditional DDL or
error handling, when working in pure SQL without any procedural help.
This is especially true when you start to look at how to handle
conflicts, upgrades and versioning.
--
Andrew.