Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pBLki-0000Ii-Vt for pgsql-docs@arkaria.postgresql.org; Fri, 30 Dec 2022 20:13:17 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pBLkh-0005LJ-Ty for pgsql-docs@arkaria.postgresql.org; Fri, 30 Dec 2022 20:13:15 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pAh2i-0003Kl-S6 for pgsql-docs@lists.postgresql.org; Thu, 29 Dec 2022 00:45:08 +0000 Received: from mail-yw1-x112e.google.com ([2607:f8b0:4864:20::112e]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1pAh2f-0004j5-PL for pgsql-docs@lists.postgresql.org; Thu, 29 Dec 2022 00:45:08 +0000 Received: by mail-yw1-x112e.google.com with SMTP id 00721157ae682-46d4840b51fso182986847b3.12 for ; Wed, 28 Dec 2022 16:45:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=extrahop.com; s=google; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=kkCgWbBLCAn75hV0sFE+q2AFqbnJYNwK+S1LBokhE/g=; b=IHjAgv3dqWOHxDzI9KHyxd2uD6krgq1BMkxZQrD1gE2ep8tECBCyexUPF1VH1nkk+n cG5B9wALUYDz+w0QNpJOHkz+Jznzj99uaz94u3f+yVyGKAjvUMHaw6kvzvbBeYX8XA9W 0Ejg1Vz0LQeGcJ+FC2PcaGWoSNK86Gj7h80kRM7QL58mU+OZ9XY7/ojW9QWJnLadlFU9 Go54Zl8oGt8WxcZA4iqJTaUYQmv3hOutdS38gBlos/eQY5HMllpn1ItiXnfju1Z0PMxn DdqfTnsJjwAuNLO1vcfVcps0uKxmiSW1MvPm9hk56XCHk1wYzJTWJHRH16eewtiz1iqn rfww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=kkCgWbBLCAn75hV0sFE+q2AFqbnJYNwK+S1LBokhE/g=; b=fBVau3lqbwNsTiRLx0lzBTf4/vCJDKxZ6/53MeubPkjFV6gDCRXONwInbKXFCinvma h4gmf2Bg2rQ22OlvQwDruG96vyZPI1b/jsj1o/x1n1oRveEDg846M5nhuBTlFifoNvum 0kXYNiOWDf8q9DLKVrBx1i+XzOfh8f58BQ+AZl78sk4BpvNF+alJLCB5ZFRn/Z8gcJOJ VsSrYevHVW4T+rk6BrUA51len/GWBah9qdAgm3Z/oXBSXuXmRGiGZX4nRK8VXeSjFelJ sFLEp5sOcdjh2PbbS13biq/H5RIt42SjgIi8s4XnK1+AarBoh5plbgE9syUb+gYu1vF5 HlZA== X-Gm-Message-State: AFqh2krcSIDDa65rbWiT7dgt2YpKNA+jv0rPbMmSc6BBzVUjgvgSTSbs 5sq5a2hOzO1eE+4d+nNchq5MFrdf1aBqFZ/uKOA7NqkAvcHjH7Pp4e0= X-Google-Smtp-Source: AMrXdXt5HiWTdZ0RDdu00tlcKvD0ts7CII0XR/bfCIx0+fW8ECG/15gGUYRT8hJwuR5a93v7CUID4++f3O+L5KeWB+k= X-Received: by 2002:a0d:e249:0:b0:3d1:1a00:f101 with SMTP id l70-20020a0de249000000b003d11a00f101mr2775929ywe.63.1672274703620; Wed, 28 Dec 2022 16:45:03 -0800 (PST) MIME-Version: 1.0 From: Will Mortensen Date: Wed, 28 Dec 2022 16:44:37 -0800 Message-ID: Subject: [PATCH] Attempt to clarify example of serialization anomaly To: pgsql-docs@lists.postgresql.org Cc: "laurenz.albe@cybertec.at" , "David.G.Johnston@gmail.com" , "ej@evanjones.ca" , "hlinnaka@iki.fi" , "chris.travers@gmail.com" Content-Type: multipart/mixed; boundary="000000000000ad8bb405f0eccb7b" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000ad8bb405f0eccb7b Content-Type: text/plain; charset="UTF-8" (sorry to the CCs for sending this twice) This example has been pointed out as confusing in multiple places, e.g.: * https://postgrespro.com/list/thread-id/1845118 * https://dba.stackexchange.com/a/43951 * https://stackoverflow.com/a/50733640 ("this paragraph is dark") As mentioned in those links, it seems to attempt to summarize the wiki's example at https://wiki.postgresql.org/wiki/SSI#Deposit_Report . I'm not sure if/how to link to the wiki from the docs, so here is my humble attempt to summarize it concisely and (hopefully) clearly. Alternatively, this example could be removed in favor of a reference to the Serializable section and its example. --000000000000ad8bb405f0eccb7b Content-Type: text/plain; charset="US-ASCII"; name="0004-doc-clarify-example-of-serialization-anomaly.patch.txt" Content-Disposition: attachment; filename="0004-doc-clarify-example-of-serialization-anomaly.patch.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lc8d50eh0 RnJvbSAxMzAwN2VhMzZmYTQ0YmQ4MGU1OTVmYjg5ZGVkZGZiNjE4NGU5NmQxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBXaWxsIE1vcnRlbnNlbiA8d2lsbEBleHRyYWhvcC5jb20+CkRh dGU6IFdlZCwgMSBKdW4gMjAyMiAyMzoxNDoxOSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggNC82XSBk b2M6IGNsYXJpZnkgZXhhbXBsZSBvZiBzZXJpYWxpemF0aW9uIGFub21hbHkKClRoaXMgZXhhbXBs ZSBoYXMgYmVlbiBwb2ludGVkIG91dCBhcyBjb25mdXNpbmcgaW4gbXVsdGlwbGUgcGxhY2VzLCBl LmcuOgoKICogaHR0cHM6Ly9wb3N0Z3Jlc3Byby5jb20vbGlzdC90aHJlYWQtaWQvMTg0NTExOAog KiBodHRwczovL2RiYS5zdGFja2V4Y2hhbmdlLmNvbS9hLzQzOTUxCiAqIGh0dHBzOi8vc3RhY2tv dmVyZmxvdy5jb20vYS81MDczMzY0MCAoInRoaXMgcGFyYWdyYXBoIGlzIGRhcmsiKQoKQXMgbWVu dGlvbmVkIGluIHRob3NlIGxpbmtzLCBpdCBzZWVtcyB0byBhdHRlbXB0IHRvIHN1bW1hcml6ZSB0 aGUgd2lraSdzCmV4YW1wbGUgYXQgaHR0cHM6Ly93aWtpLnBvc3RncmVzcWwub3JnL3dpa2kvU1NJ I0RlcG9zaXRfUmVwb3J0IC4gSSdtIG5vdApzdXJlIGlmL2hvdyB0byBsaW5rIHRvIHRoZSB3aWtp IGZyb20gdGhlIGRvY3MsIHNvIHRyeSBhZ2FpbiB0byBzdW1tYXJpemUKaXQgY29uY2lzZWx5IGFu ZCAoaG9wZWZ1bGx5KSBjbGVhcmx5LgoKQWx0ZXJuYXRpdmVseSwgdGhpcyBleGFtcGxlIGNvdWxk IGJlIHJlbW92ZWQgaW4gZmF2b3Igb2YgYSByZWZlcmVuY2UgdG8KdGhlIFNlcmlhbGl6YWJsZSBz ZWN0aW9uIGFuZCBpdHMgZXhhbXBsZS4KLS0tCiBkb2Mvc3JjL3NnbWwvbXZjYy5zZ21sIHwgMzMg KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjMgaW5z ZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL212 Y2Muc2dtbCBiL2RvYy9zcmMvc2dtbC9tdmNjLnNnbWwKaW5kZXggMTM4MjUwNGZhOS4uMDI5YzI1 MjMyYyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL212Y2Muc2dtbAorKysgYi9kb2Mvc3JjL3Nn bWwvbXZjYy5zZ21sCkBAIC01NzEsMTYgKzU3MSwyOSBAQCBFUlJPUjogIGNvdWxkIG5vdCBzZXJp YWxpemUgYWNjZXNzIGR1ZSB0byBjb25jdXJyZW50IHVwZGF0ZQogCiAgICA8cGFyYT4KICAgICBU aGUgUmVwZWF0YWJsZSBSZWFkIG1vZGUgcHJvdmlkZXMgYSByaWdvcm91cyBndWFyYW50ZWUgdGhh dCBlYWNoCi0gICAgdHJhbnNhY3Rpb24gc2VlcyBhIGNvbXBsZXRlbHkgc3RhYmxlIHZpZXcgb2Yg dGhlIGRhdGFiYXNlLiAgSG93ZXZlciwKLSAgICB0aGlzIHZpZXcgd2lsbCBub3QgbmVjZXNzYXJp bHkgYWx3YXlzIGJlIGNvbnNpc3RlbnQgd2l0aCBzb21lIHNlcmlhbAotICAgIChvbmUgYXQgYSB0 aW1lKSBleGVjdXRpb24gb2YgY29uY3VycmVudCB0cmFuc2FjdGlvbnMgb2YgdGhlIHNhbWUgbGV2 ZWwuCi0gICAgRm9yIGV4YW1wbGUsIGV2ZW4gYSByZWFkLW9ubHkgdHJhbnNhY3Rpb24gYXQgdGhp cyBsZXZlbCBtYXkgc2VlIGEKLSAgICBjb250cm9sIHJlY29yZCB1cGRhdGVkIHRvIHNob3cgdGhh dCBhIGJhdGNoIGhhcyBiZWVuIGNvbXBsZXRlZCBidXQKLSAgICA8ZW1waGFzaXM+bm90PC9lbXBo YXNpcz4gc2VlIG9uZSBvZiB0aGUgZGV0YWlsIHJlY29yZHMgd2hpY2ggaXMgbG9naWNhbGx5Ci0g ICAgcGFydCBvZiB0aGUgYmF0Y2ggYmVjYXVzZSBpdCByZWFkIGFuIGVhcmxpZXIgcmV2aXNpb24g b2YgdGhlIGNvbnRyb2wKLSAgICByZWNvcmQuICBBdHRlbXB0cyB0byBlbmZvcmNlIGJ1c2luZXNz IHJ1bGVzIGJ5IHRyYW5zYWN0aW9ucyBydW5uaW5nIGF0Ci0gICAgdGhpcyBpc29sYXRpb24gbGV2 ZWwgYXJlIG5vdCBsaWtlbHkgdG8gd29yayBjb3JyZWN0bHkgd2l0aG91dCBjYXJlZnVsIHVzZQot ICAgIG9mIGV4cGxpY2l0IGxvY2tzIHRvIGJsb2NrIGNvbmZsaWN0aW5nIHRyYW5zYWN0aW9ucy4K KyAgICB0cmFuc2FjdGlvbiBzZWVzIGEgY29tcGxldGVseSBzdGFibGUgdmlldyBvZiB0aGUgZGF0 YWJhc2UuICBIb3dldmVyLCBldmVuCisgICAgZm9yIGEgcmVhZC1vbmx5IHRyYW5zYWN0aW9uLCB0 aGlzIHZpZXcgd2lsbCBub3QgbmVjZXNzYXJpbHkgYWx3YXlzIGJlCisgICAgY29uc2lzdGVudCB3 aXRoIHNvbWUgc2VyaWFsIChvbmUgYXQgYSB0aW1lKSBleGVjdXRpb24gb2YgY29uY3VycmVudAor ICAgIHRyYW5zYWN0aW9ucyBvZiB0aGUgc2FtZSBsZXZlbC4gVGhlcmVmb3JlLCBhdHRlbXB0cyB0 byBlbmZvcmNlIGJ1c2luZXNzCisgICAgcnVsZXMgYnkgdHJhbnNhY3Rpb25zIHJ1bm5pbmcgYXQg dGhpcyBpc29sYXRpb24gbGV2ZWwgYXJlIG5vdCBsaWtlbHkgdG8gd29yaworICAgIGNvcnJlY3Rs eSB3aXRob3V0IGNhcmVmdWwgdXNlIG9mIGV4cGxpY2l0IGxvY2tzIHRvIGJsb2NrIGNvbmZsaWN0 aW5nCisgICAgdHJhbnNhY3Rpb25zLgorICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAgICBGb3Ig ZXhhbXBsZSwgaW1hZ2luZSBhIHN5c3RlbSB3aGVyZSByZWNvcmRzIGFyZSBvcmdhbml6ZWQgYnkg YSAiYmF0Y2ggSUQiCisgICAgY29sdW1uLCBhbmQgYSB0cmFuc2FjdGlvbiBUMSAiY2xvc2VzIiBh IGJhdGNoIGJ5IHVwZGF0aW5nIGEgc2VwYXJhdGUgY29udHJvbAorICAgIHJlY29yZCB0byBpbmRp Y2F0ZSB0aGF0IG5ldyByZWNvcmRzIHNob3VsZCB1c2UgYSBuZXcgYmF0Y2ggSUQuIE1lYW53aGls ZSwKKyAgICBhbm90aGVyIHRyYW5zYWN0aW9uIFQyIHN0YXJ0cyBiZWZvcmUgVDEgY29tbWl0cywg cmVhZHMgdGhlIG9sZCB2ZXJzaW9uIG9mCisgICAgdGhlIGNvbnRyb2wgcmVjb3JkLCBpbnNlcnRz IHJlY29yZHMgd2l0aCB0aGUgb2xkIGJhdGNoIElELCBhbmQgY29tbWl0cyBhZnRlcgorICAgIFQx IGNvbW1pdHMuIEZpbmFsbHksIGEgcmVhZC1vbmx5IHRyYW5zYWN0aW9uIFQzIHN0YXJ0cyBhZnRl ciBUMSBjb21taXRzIGJ1dAorICAgIGJlZm9yZSBUMiBjb21taXRzLCBhbmQgc2VlcyB0aGUgY29u dHJvbCByZWNvcmQgd2l0aCB0aGUgbmV3IGJhdGNoIElECisgICAgaW5kaWNhdGluZyB0aGF0IHRo ZSBwcmV2aW91cyBiYXRjaCB3YXMgY2xvc2VkLCBidXQgY2FuJ3Qgc2VlIFQyJ3MgcmVjb3Jkcy4K KyAgICBUaGlzIGlzIGEgc2VyaWFsaXphdGlvbiBhbm9tYWx5IGFtb25nIHRoZSB0aHJlZSB0cmFu c2FjdGlvbnMuIFNpbWlsYXJseSwgYQorICAgIHNlcmlhbGl6YXRpb24gYW5vbWFseSB3b3VsZCBh cmlzZSBiZXR3ZWVuIGp1c3QgVDEgYW5kIFQyIGlmIFQxIGF0dGVtcHRlZCB0bworICAgIGNvbXB1 dGUgYW4gYWdncmVnYXRpb24gb3ZlciBhbGwgdGhlIHJlY29yZHMgaW4gdGhlIHByZXZpb3VzIGJh dGNoLiBUaGVzZQorICAgIGFub21hbGllcyBhcmUgbm90IGRldGVjdGVkIGF0IHRoZSBSZXBlYXRh YmxlIFJlYWQgbGV2ZWwsIGJ1dCB3b3VsZCBiZQorICAgIGRldGVjdGVkIGF0IHRoZSBTZXJpYWxp emFibGUgbGV2ZWwuCiAgICA8L3BhcmE+CiAKICAgIDxwYXJhPgotLSAKMi4yNS4xCgo= --000000000000ad8bb405f0eccb7b--