Received: from maia.hub.org (maia-3.hub.org [200.46.204.243]) by mail.postgresql.org (Postfix) with ESMTP id 7CDFD133655C; Mon, 14 Feb 2011 07:48:35 -0400 (AST) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.243]) (amavisd-maia, port 10024) with ESMTP id 35223-03; Mon, 14 Feb 2011 11:48:27 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from acidenitrix.villemain.org (acidenitrix.villemain.org [91.121.90.165]) by mail.postgresql.org (Postfix) with ESMTP id 841D413364DE; Mon, 14 Feb 2011 07:48:27 -0400 (AST) Received: from localhost ([127.0.0.1] helo=dim) by acidenitrix.villemain.org with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.69) (envelope-from ) id 1Powup-0002bV-3O; Mon, 14 Feb 2011 12:48:27 +0100 Received: by dim (Postfix, from userid 1000) id 7642B78D4D; Mon, 14 Feb 2011 12:48:26 +0100 (CET) From: Dimitri Fontaine To: Tom Lane Cc: pgsql-hackers@postgreSQL.org, pgsql-docs@postgreSQL.org Subject: Re: [HACKERS] "Extension" versus "module" Organization: 2ndQuadrant References: <25160.1297664305@sss.pgh.pa.us> User-Mail-Address: dimitri@2ndQuadrant.fr Date: Mon, 14 Feb 2011 12:48:26 +0100 In-Reply-To: <25160.1297664305@sss.pgh.pa.us> (Tom Lane's message of "Mon, 14 Feb 2011 01:18:25 -0500") Message-ID: <87r5ba4z1x.fsf@2ndQuadrant.fr> User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.9 tagged_above=-5 required=5 tests=BAYES_00=-1.9 X-Spam-Level: X-Archive-Number: 201102/52 X-Sequence-Number: 6400 Tom Lane writes: > Appendix F (contrib.sgml and its subsidiary files) is pretty consistent > about using "module" to refer to a contrib, uh, module. I'm now thinking in those terms: the module is the shared object library that the backend needs to dlopen(). The extension is the SQL level object that wraps all its components. > I considered doing a search-and-replace to change this to "extension", > but I'm not convinced that's a good idea. I think "extension" means a > specific kind of SQL object that we just invented, and it's not exactly > the same concept as "one of those subdirectories under contrib/". One > pretty obvious example is that contrib/spi calls itself a module, and > it's definitely not an extension --- it contains five extensions, none > of them named "spi". Another problem is that we'd like to speak of > upgrading a module from pre-9.1 to 9.1, and in only one of those two > states is it strictly correct to call it an "extension". But in some > sense it's still the same entity. > > So I'm not sure whether to change the text at all. Comments? +1 -- Dimitri Fontaine http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support