Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vsvxY-009RX7-27 for pgsql-hackers@arkaria.postgresql.org; Thu, 19 Feb 2026 04:48:17 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vsvxX-002068-24 for pgsql-hackers@arkaria.postgresql.org; Thu, 19 Feb 2026 04:48:15 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vsvxX-002060-13 for pgsql-hackers@lists.postgresql.org; Thu, 19 Feb 2026 04:48:15 +0000 Received: from meldrar.postgresql.org ([2a02:c0:301:0:ffff::31]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vsvxT-0000000054h-1T35 for pgsql-hackers@postgresql.org; Thu, 19 Feb 2026 04:48:14 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Content-Transfer-Encoding:Content-Type: Mime-Version:References:In-Reply-To:From:Subject:Cc:To:Message-Id:Date:Sender :Reply-To:Content-ID:Content-Description; bh=HgUXjgOMK2Fl1bvOsrc1IKrykczrYgGdRJSm7Xo/3iQ=; b=bOQeNycNxvLtB/kp19u+Phg1k7 CkZFcfF4BZjnncAM2mdFldNztKAOrtTwuNa3wk/M/+CO/n2rUxA9f35U2UTRwmqhAYx/jt5mrPnD3 H3wz0nnx9x7NqGx1lO6Iw1B8BsLjsAmbp0JzGS7v4OeFcLIbbBRV2dleWFYPz1Y9jDh79GVVYDd1S sT4BOi9ssLNyRv6G2f3ytOcGpMav/PEQZeEjAk4DRW1lrZ0/4bL1eYw0VpHTOWj37zhtpXbwh4P+k tEjrJub+9ppm9Ans+S4LD0xWRxcYQQw846R6LYln3ftJamOHhJPkILz6hK5mGFdsKh4r789grVeO+ Nm01IAcg==; Received: from [2409:11:4120:300:8dbb:1f1:5ce3:905c] (helo=localhost) by meldrar.postgresql.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vsvxK-000DES-0s; Thu, 19 Feb 2026 04:48:05 +0000 Date: Thu, 19 Feb 2026 13:47:51 +0900 (JST) Message-Id: <20260219.134751.1095180149902968829.ishii@postgresql.org> To: assam258@gmail.com Cc: vik@postgresfriends.org, er@xs4all.nl, jacob.champion@enterprisedb.com, david.g.johnston@gmail.com, peter@eisentraut.org, pgsql-hackers@postgresql.org Subject: Re: Row pattern recognition From: Tatsuo Ishii In-Reply-To: <20260215.180652.676783304925959084.ishii@postgresql.org> References: <20260214.092310.1353606038244245395.ishii@postgresql.org> <20260215.180652.676783304925959084.ishii@postgresql.org> X-Mailer: Mew version 6.8 on Emacs 29.3 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Thu_Feb_19_13_47_51_2026_149)--" Content-Transfer-Encoding: 7bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2409:11:4120:300:8dbb:1f1:5ce3:905c (failed) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk ----Next_Part(Thu_Feb_19_13_47_51_2026_149)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi Henson, > Thanks for the patches! I applied them on top of v42 and rebased > against current master. Attached are the v43 patches. I noticed that current RPR patches allows to use PREV/NEXT anywhere in an SQL statement where normal functions are allowed. According to the standard, PREV/NEXT are only allowed in a DEFINE clause. Attached is a patch to follow the standard regarding PREV/NEXT. Best regards, -- Tatsuo Ishii SRA OSS K.K. English: http://www.sraoss.co.jp/index_en/ Japanese:http://www.sraoss.co.jp ----Next_Part(Thu_Feb_19_13_47_51_2026_149)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="disallow_prev_next_other_than_in_DEFINE.txt" ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9mdW5jLmMgYi9zcmMvYmFja2Vu ZC9wYXJzZXIvcGFyc2VfZnVuYy5jCmluZGV4IDM1N2IyMzZhODE4Li5iYTk1MjNhZTNkNCAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2Z1bmMuYworKysgYi9zcmMvYmFja2Vu ZC9wYXJzZXIvcGFyc2VfZnVuYy5jCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAicGFyc2Vy L3BhcnNlX3RhcmdldC5oIgogI2luY2x1ZGUgInBhcnNlci9wYXJzZV90eXBlLmgiCiAjaW5jbHVk ZSAidXRpbHMvYnVpbHRpbnMuaCIKKyNpbmNsdWRlICJ1dGlscy9mbWdyb2lkcy5oIgogI2luY2x1 ZGUgInV0aWxzL2xzeXNjYWNoZS5oIgogI2luY2x1ZGUgInV0aWxzL3N5c2NhY2hlLmgiCiAKQEAg LTc1Niw2ICs3NTcsMTYgQEAgUGFyc2VGdW5jT3JDb2x1bW4oUGFyc2VTdGF0ZSAqcHN0YXRlLCBM aXN0ICpmdW5jbmFtZSwgTGlzdCAqZmFyZ3MsCiAJaWYgKHJldHNldCkKIAkJY2hlY2tfc3JmX2Nh bGxfcGxhY2VtZW50KHBzdGF0ZSwgbGFzdF9zcmYsIGxvY2F0aW9uKTsKIAorCS8qIG5leHQoKSBh bmQgcHJldigpIGFyZSBvbmx5IGFsbG93ZWQgaW4gYSBXSU5ET1cgREVGSU5FIGNsYXVzZSAqLwor CWlmIChmZHJlc3VsdCA9PSBGVU5DREVUQUlMX05PUk1BTCAmJgorCQlwc3RhdGUtPnBfZXhwcl9r aW5kICE9IEVYUFJfS0lORF9SUFJfREVGSU5FICYmCisJCShmdW5jaWQgPT0gRl9QUkVWIHx8IGZ1 bmNpZCA9PSBGX05FWFQpKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVf U1lOVEFYX0VSUk9SKSwKKwkJCQkgZXJybXNnKCIlcyBjYW4gb25seSBiZSB1c2VkIGluIGEgREVG SU5FIGNsYXVzZSIsCisJCQkJCQlOYW1lTGlzdFRvU3RyaW5nKGZ1bmNuYW1lKSksCisJCQkJIHBh cnNlcl9lcnJwb3NpdGlvbihwc3RhdGUsIGxvY2F0aW9uKSkpOworCiAJLyogYnVpbGQgdGhlIGFw cHJvcHJpYXRlIG91dHB1dCBzdHJ1Y3R1cmUgKi8KIAlpZiAoZmRyZXN1bHQgPT0gRlVOQ0RFVEFJ TF9OT1JNQUwgfHwgZmRyZXN1bHQgPT0gRlVOQ0RFVEFJTF9QUk9DRURVUkUpCiAJewpkaWZmIC0t Z2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ycHJfYmFzZS5vdXQgYi9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3Jwcl9iYXNlLm91dAppbmRleCBlYzY3YTA5OWVlNi4uMWQ0MmFmMTU5 ODAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnByX2Jhc2Uub3V0Cisr KyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnByX2Jhc2Uub3V0CkBAIC0xNjIyLDYgKzE2 MjIsMzggQEAgT1JERVIgQlkgaWQ7CiAgIDUgfCAgMzAgfCAgIDAKICg1IHJvd3MpCiAKKy0tIFBS RVYgZnVuY3Rpb24gY2Fubm90IGJlIHVzZWQgb3RoZXIgdGhhbiBpbiBERUZJTkUKK1NFTEVDVCBQ UkVWKGlkKSwgaWQsIHZhbCwgQ09VTlQoKikgT1ZFUiB3IGFzIGNudAorRlJPTSBycHJfbmF2CitX SU5ET1cgdyBBUyAoCisgICAgT1JERVIgQlkgaWQKKyAgICBST1dTIEJFVFdFRU4gQ1VSUkVOVCBS T1cgQU5EIFVOQk9VTkRFRCBGT0xMT1dJTkcKKyAgICBQQVRURVJOIChBIEIrKQorICAgIERFRklO RQorICAgICAgICBBIEFTIHZhbCA+IDAsCisgICAgICAgIEIgQVMgdmFsID4gUFJFVih2YWwpCisp CitPUkRFUiBCWSBpZDsKK0VSUk9SOiAgcHJldiBjYW4gb25seSBiZSB1c2VkIGluIGEgREVGSU5F IGNsYXVzZQorTElORSAxOiBTRUxFQ1QgUFJFVihpZCksIGlkLCB2YWwsIENPVU5UKCopIE9WRVIg dyBhcyBjbnQKKyAgICAgICAgICAgICAgIF4KKy0tIEV4cGVjdGVkOiBFUlJPUjogcHJldiBjYW4g b25seSBiZSB1c2VkIGluIGEgREVGSU5FIGNsYXVzZQorLS0gTkVYVCBmdW5jdGlvbiBjYW5ub3Qg YmUgdXNlZCBvdGhlciB0aGFuIGluIERFRklORQorU0VMRUNUIE5FWFQoaWQpLCBpZCwgdmFsLCBD T1VOVCgqKSBPVkVSIHcgYXMgY250CitGUk9NIHJwcl9uYXYKK1dJTkRPVyB3IEFTICgKKyAgICBP UkRFUiBCWSBpZAorICAgIFJPV1MgQkVUV0VFTiBDVVJSRU5UIFJPVyBBTkQgVU5CT1VOREVEIEZP TExPV0lORworICAgIFBBVFRFUk4gKEEgQispCisgICAgREVGSU5FCisgICAgICAgIEEgQVMgdmFs ID4gMCwKKyAgICAgICAgQiBBUyB2YWwgPiBQUkVWKHZhbCkKKykKK09SREVSIEJZIGlkOworRVJS T1I6ICBuZXh0IGNhbiBvbmx5IGJlIHVzZWQgaW4gYSBERUZJTkUgY2xhdXNlCitMSU5FIDE6IFNF TEVDVCBORVhUKGlkKSwgaWQsIHZhbCwgQ09VTlQoKikgT1ZFUiB3IGFzIGNudAorICAgICAgICAg ICAgICAgXgorLS0gRXhwZWN0ZWQ6IEVSUk9SOiBuZXh0IGNhbiBvbmx5IGJlIHVzZWQgaW4gYSBE RUZJTkUgY2xhdXNlCiBEUk9QIFRBQkxFIHJwcl9uYXY7CiAtLSA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tIFNLSVAgVE8gLyBJ TklUSUFMIFRlc3RzCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9ycHJfYmFzZS5z cWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9ycHJfYmFzZS5zcWwKaW5kZXggODc5ZjVmZTQ4YTIu LmI3NTJhZDEyODczIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9ycHJfYmFzZS5z cWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcnByX2Jhc2Uuc3FsCkBAIC0xMjE5LDYgKzEy MTksMzQgQEAgV0lORE9XIHcgQVMgKAogKQogT1JERVIgQlkgaWQ7CiAKKy0tIFBSRVYgZnVuY3Rp b24gY2Fubm90IGJlIHVzZWQgb3RoZXIgdGhhbiBpbiBERUZJTkUKK1NFTEVDVCBQUkVWKGlkKSwg aWQsIHZhbCwgQ09VTlQoKikgT1ZFUiB3IGFzIGNudAorRlJPTSBycHJfbmF2CitXSU5ET1cgdyBB UyAoCisgICAgT1JERVIgQlkgaWQKKyAgICBST1dTIEJFVFdFRU4gQ1VSUkVOVCBST1cgQU5EIFVO Qk9VTkRFRCBGT0xMT1dJTkcKKyAgICBQQVRURVJOIChBIEIrKQorICAgIERFRklORQorICAgICAg ICBBIEFTIHZhbCA+IDAsCisgICAgICAgIEIgQVMgdmFsID4gUFJFVih2YWwpCispCitPUkRFUiBC WSBpZDsKKy0tIEV4cGVjdGVkOiBFUlJPUjogcHJldiBjYW4gb25seSBiZSB1c2VkIGluIGEgREVG SU5FIGNsYXVzZQorCistLSBORVhUIGZ1bmN0aW9uIGNhbm5vdCBiZSB1c2VkIG90aGVyIHRoYW4g aW4gREVGSU5FCitTRUxFQ1QgTkVYVChpZCksIGlkLCB2YWwsIENPVU5UKCopIE9WRVIgdyBhcyBj bnQKK0ZST00gcnByX25hdgorV0lORE9XIHcgQVMgKAorICAgIE9SREVSIEJZIGlkCisgICAgUk9X UyBCRVRXRUVOIENVUlJFTlQgUk9XIEFORCBVTkJPVU5ERUQgRk9MTE9XSU5HCisgICAgUEFUVEVS TiAoQSBCKykKKyAgICBERUZJTkUKKyAgICAgICAgQSBBUyB2YWwgPiAwLAorICAgICAgICBCIEFT IHZhbCA+IFBSRVYodmFsKQorKQorT1JERVIgQlkgaWQ7CistLSBFeHBlY3RlZDogRVJST1I6IG5l eHQgY2FuIG9ubHkgYmUgdXNlZCBpbiBhIERFRklORSBjbGF1c2UKKwogRFJPUCBUQUJMRSBycHJf bmF2OwogCiAtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0K ----Next_Part(Thu_Feb_19_13_47_51_2026_149)----