Received: from maia.hub.org (maia-2.hub.org [200.46.204.251]) by mail.postgresql.org (Postfix) with ESMTP id 474D4B5DBD1 for ; Sat, 17 Sep 2011 16:44:31 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.251]) (amavisd-maia, port 10024) with ESMTP id 53614-08 for ; Sat, 17 Sep 2011 19:44:24 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.8.0-rc2 Received: from mail-ww0-f50.google.com (mail-ww0-f50.google.com [74.125.82.50]) by mail.postgresql.org (Postfix) with ESMTP id 81608B5DBDA for ; Sat, 17 Sep 2011 16:44:24 -0300 (ADT) Received: by wwe3 with SMTP id 3so8432418wwe.19 for ; Sat, 17 Sep 2011 12:44:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juffo.org; s=google; h=mime-version:from:date:message-id:subject:to:content-type; bh=oC5dpdr3y4T/llrbji7zYxiCFrEYUk3MLcq86ozS5Yw=; b=joaQ89qTgvDiAwB2TMGDi6pIC2+6pYLR9IILcYuI49PdW2kB+kzdlkJYtmWiRvg6Gq x5b78HvFiK4qHHifzZs1NinkQgWHIJuLHl3qbksb0fi0JSnPIPoyxzn7/xeBI4E64k/F AZ5p5/UPPGmN/r31MNqR5iGwoFSl4UlHgsalQ= Received: by 10.216.154.145 with SMTP id h17mr939860wek.39.1316288663225; Sat, 17 Sep 2011 12:44:23 -0700 (PDT) MIME-Version: 1.0 Received: by 10.216.165.75 with HTTP; Sat, 17 Sep 2011 12:43:53 -0700 (PDT) From: Marti Raudsepp Date: Sat, 17 Sep 2011 22:43:53 +0300 Message-ID: Subject: Document DELETE/UPDATE command tag vs triggers To: pgsql-docs Content-Type: multipart/mixed; boundary=0016e6563b7831872d04ad2856c6 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: 201109/53 X-Sequence-Number: 6974 --0016e6563b7831872d04ad2856c6 Content-Type: text/plain; charset=UTF-8 Hi list, Currently the documentation for DELETE and UPDATE doesn't mention that the number returned in the command tag is affected by triggers which may suppress the change. Worse, it currently states "If count is 0, no rows matched the condition" which is incorrect -- the condition may have matched rows, but the trigger might be suppressing the updates. The new text says: The count is the number of rows updated, including matched rows whose values did not change. Note that the number may be less than the number of rows that matched the condition when updates were suppressed by a BEFORE UPDATE trigger. If count is 0, no rows were updated by the query (this is not considered an error). Patch attached. Regards, Marti --0016e6563b7831872d04ad2856c6 Content-Type: text/x-patch; charset=US-ASCII; name="0001-Document-DELETE-UPDATE-command-tag-vs-triggers.patch" Content-Disposition: attachment; filename="0001-Document-DELETE-UPDATE-command-tag-vs-triggers.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gsozm7zp0 RnJvbSBlNzkyYTdhMTNmYjcwM2QwNzdmMmM1ZDkwMTY2M2U4YzEzOTFjNmJlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJ0aSBSYXVkc2VwcCA8bWFydGlAanVmZm8ub3JnPgpEYXRl OiBTYXQsIDE3IFNlcCAyMDExIDIyOjE0OjQ5ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gRG9jdW1l bnQgREVMRVRFL1VQREFURSBjb21tYW5kIHRhZyB2cyB0cmlnZ2VycwoKLS0tCiBkb2Mvc3JjL3Nn bWwvcmVmL2RlbGV0ZS5zZ21sIHwgICAxMCArKysrKystLS0tCiBkb2Mvc3JjL3NnbWwvcmVmL3Vw ZGF0ZS5zZ21sIHwgICAxMCArKysrKystLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlv bnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9kZWxl dGUuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvZGVsZXRlLnNnbWwKaW5kZXggNzFlYmVkYS4uNjM2 NmIxNSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9kZWxldGUuc2dtbAorKysgYi9kb2Mv c3JjL3NnbWwvcmVmL2RlbGV0ZS5zZ21sCkBAIC0yMDYsMTAgKzIwNiwxMiBAQCBERUxFVEUgRlJP TSBbIE9OTFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9IlBBUkFNRVRFUiI+dGFibGU8L3JlcGxhY2Vh YmxlPiBbIFsgQVMgXQogREVMRVRFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb3Vu dDwvcmVwbGFjZWFibGU+CiA8L3NjcmVlbj4KICAgIFRoZSA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+Y291bnQ8L3JlcGxhY2VhYmxlPiBpcyB0aGUgbnVtYmVyCi0gICBvZiByb3dzIGRl bGV0ZWQuICBJZiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y291bnQ8L3JlcGxhY2Vh YmxlPiBpcwotICAgMCwgbm8gcm93cyBtYXRjaGVkIHRoZSA8cmVwbGFjZWFibGUKLSAgIGNsYXNz PSJwYXJhbWV0ZXIiPmNvbmRpdGlvbjwvcmVwbGFjZWFibGU+ICh0aGlzIGlzIG5vdCBjb25zaWRl cmVkCi0gICBhbiBlcnJvcikuCisgICBvZiByb3dzIGRlbGV0ZWQuICBOb3RlIHRoYXQgdGhlIG51 bWJlciBtYXkgYmUgbGVzcyB0aGFuIHRoZSBudW1iZXIgb2YKKyAgIHJvd3MgdGhhdCBtYXRjaGVk IHRoZSA8cmVwbGFjZWFibGUKKyAgIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbmRpdGlvbjwvcmVwbGFj ZWFibGU+IHdoZW4gZGVsZXRlcyB3ZXJlCisgICBzdXBwcmVzc2VkIGJ5IGEgPGxpdGVyYWw+QkVG T1JFIERFTEVURTwvPiB0cmlnZ2VyLiAgSWYgPHJlcGxhY2VhYmxlCisgICBjbGFzcz0icGFyYW1l dGVyIj5jb3VudDwvcmVwbGFjZWFibGU+IGlzIDAsIG5vIHJvd3Mgd2VyZSBkZWxldGVkIGJ5Cisg ICB0aGUgcXVlcnkgKHRoaXMgaXMgbm90IGNvbnNpZGVyZWQgYW4gZXJyb3IpLgogICA8L3BhcmE+ CiAKICAgPHBhcmE+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL3VwZGF0ZS5zZ21sIGIv ZG9jL3NyYy9zZ21sL3JlZi91cGRhdGUuc2dtbAppbmRleCBiYTVhZjhlLi4xYzBlMjE1IDEwMDY0 NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL3VwZGF0ZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9y ZWYvdXBkYXRlLnNnbWwKQEAgLTIyNiwxMCArMjI2LDEyIEBAIFVQREFURSBbIE9OTFkgXSA8cmVw bGFjZWFibGUgY2xhc3M9IlBBUkFNRVRFUiI+dGFibGU8L3JlcGxhY2VhYmxlPiBbIFsgQVMgXSA8 cmVwCiBVUERBVEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvdW50PC9yZXBsYWNl YWJsZT4KIDwvc2NyZWVuPgogICAgVGhlIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5j b3VudDwvcmVwbGFjZWFibGU+IGlzIHRoZSBudW1iZXIKLSAgIG9mIHJvd3MgdXBkYXRlZC4gIElm IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb3VudDwvcmVwbGFjZWFibGU+IGlzCi0g ICAwLCBubyByb3dzIG1hdGNoZWQgdGhlIDxyZXBsYWNlYWJsZQotICAgY2xhc3M9InBhcmFtZXRl ciI+Y29uZGl0aW9uPC9yZXBsYWNlYWJsZT4gKHRoaXMgaXMgbm90IGNvbnNpZGVyZWQKLSAgIGFu IGVycm9yKS4KKyAgIG9mIHJvd3MgdXBkYXRlZCwgaW5jbHVkaW5nIG1hdGNoZWQgcm93cyB3aG9z ZSB2YWx1ZXMgZGlkIG5vdCBjaGFuZ2UuCisgICBOb3RlIHRoYXQgdGhlIG51bWJlciBtYXkgYmUg bGVzcyB0aGFuIHRoZSBudW1iZXIgb2Ygcm93cyB0aGF0IG1hdGNoZWQKKyAgIHRoZSA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29uZGl0aW9uPC9yZXBsYWNlYWJsZT4gd2hlbgorICAg dXBkYXRlcyB3ZXJlIHN1cHByZXNzZWQgYnkgYSA8bGl0ZXJhbD5CRUZPUkUgVVBEQVRFPC8+IHRy aWdnZXIuICBJZgorICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvdW50PC9yZXBs YWNlYWJsZT4gaXMgMCwgbm8gcm93cyB3ZXJlCisgICB1cGRhdGVkIGJ5IHRoZSBxdWVyeSAodGhp cyBpcyBub3QgY29uc2lkZXJlZCBhbiBlcnJvcikuCiAgIDwvcGFyYT4KIAogICA8cGFyYT4KLS0g CjEuNy42LjEKCg== --0016e6563b7831872d04ad2856c6--