From 874024399b96b1330ca5a990a9ba4bd761ad20be Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Wed, 2 Sep 2026 16:45:47 +0200 Subject: [PATCH] State the trgeometry scope of the third restrict verb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit meta/type-scope.json declares atTime and minusTime for trgeometry over all three time types. deleteTime is the third verb of that trio and takes the same three, so its three functions are declared beside them. Each reads its scope from the validity check its body states, and that check names the time argument — the span, the set or the span set being deleted — rather than the temporal type the function serves. A signature is kept when the scope covers one of its arguments, so naming the time type keeps every temporal operand its wrapper declares: trgeometry_delete_tstzset answered for a tbigint as readily as for a trgeometry. The three carry one signature each after the declaration, and the catalog moves in those three functions and nowhere else. Their sibling trgeometry_delete_timestamptz already reads trgeometry and is unchanged. --- meta/type-scope.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/meta/type-scope.json b/meta/type-scope.json index 71ee757..41e2e8a 100644 --- a/meta/type-scope.json +++ b/meta/type-scope.json @@ -91,6 +91,18 @@ "types": ["trgeometry"], "note": "Serves trgeometry alone; states no validity check." }, + "trgeometry_delete_tstzspan": { + "types": ["trgeometry"], + "note": "Serves trgeometry alone; its validity check names the time span deleted, not the temporal type." + }, + "trgeometry_delete_tstzset": { + "types": ["trgeometry"], + "note": "Serves trgeometry alone; its validity check names the timestamp set, not the temporal type." + }, + "trgeometry_delete_tstzspanset": { + "types": ["trgeometry"], + "note": "Serves trgeometry alone; its validity check names the time span set, not the temporal type." + }, "trgeometry_at_value": { "types": ["trgeometry"], "note": "Serves trgeometry alone. Its operand is a Temporal *, and the only parameter naming a type is the pose restricted to, so the parameter types name the value rather than the temporal type."