Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1TnZSZ-00088s-3p for pgsql-hackers@arkaria.postgresql.org; Tue, 25 Dec 2012 18:42:39 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.72) (envelope-from ) id 1TnZSY-0008Rw-Kl for pgsql-hackers@arkaria.postgresql.org; Tue, 25 Dec 2012 18:42:38 +0000 Received: from makus.postgresql.org ([98.129.198.125]) by malur.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1TnZSX-0008Rr-2G for pgsql-hackers@postgresql.org; Tue, 25 Dec 2012 18:42:37 +0000 Received: from acidenitrix.villemain.org ([91.121.90.165]) by makus.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1TnZSU-00017M-Te for pgsql-hackers@postgresql.org; Tue, 25 Dec 2012 18:42:36 +0000 Received: from [89.157.243.169] (helo=Dimitris-MacBook-Air.local) by acidenitrix.villemain.org with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1TnZST-0002wk-Gn; Tue, 25 Dec 2012 19:42:33 +0100 From: Dimitri Fontaine To: Robert Haas Cc: PostgreSQL Hackers Subject: Re: Event Triggers: adding information Organization: 2ndQuadrant References: User-Mail-Address: dimitri@2ndQuadrant.fr Date: Tue, 25 Dec 2012 19:42:24 +0100 In-Reply-To: (Robert Haas's message of "Sun, 23 Dec 2012 17:09:14 -0500") Message-ID: User-Agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.2 (darwin) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Pg-Spam-Score: -1.9 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Robert Haas writes: >> Also, keep in mind we want the ObjectID in all CREATE, ALTER and DROP >> statements, so my current patch is still some bricks shy of a load=E2=80= =A6 (I >> added ObjectID only in the commands I added rewrite support for, apart >> from DROP). > > I shall rely on you to provide those bricks which are still missing. Please find attached a patch to change most functions called from standard_ProcessUtility() to return an Oid (passes `make maintainer-clean; configure; make install check`). Most of them only, because it only make sense for functions touching an object that exists in the catalogs and have a distinct Oid. That completes ALTER and CREATE ObjectID support, I did nothing about the DROP case in the attached. The way I intend to solve that problem is using get_object_address() and do an extra lookup from within the Event Trigger code path. Yes that's an extra lookup, the only alternative that I see would be another giant refactoring so that all and any DROP support function is split in a lookup and lock part first, then the actual DROP. I don't see that as a particular win either, as the advantage of doing a separate (extra) lookup in the ddl_command_start Event Trigger is that the actual DROP code then will check that the target still exists. The attached patch is known to miss support for ExecCreateTableAs because I wanted to keep the ball rolling and couldn't figure out where to find the target relation id in time. If you feel like filling that gap that would be awesome, if not I will take care of that later, either in a version v1 of that patch, or in a follow-up patch, or embedded into the next patch to come, the cleaned up Event Trigger Info patch without Normalized Command String support. As you see fit. Merry Christmas All, --=20 Dimitri Fontaine http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=oid-api.0.patch.gz Content-Transfer-Encoding: base64 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 --=-=-= Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers --=-=-=--