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 1kd7kK-00066B-HG for pgsql-docs@arkaria.postgresql.org; Thu, 12 Nov 2020 08:14:20 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kd7kJ-00028h-Ch for pgsql-docs@arkaria.postgresql.org; Thu, 12 Nov 2020 08:14:19 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kd7kJ-00021x-2y for pgsql-docs@lists.postgresql.org; Thu, 12 Nov 2020 08:14:19 +0000 Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1kd7kG-00040W-4G for pgsql-docs@lists.postgresql.org; Thu, 12 Nov 2020 08:14:18 +0000 Received: by mail-ed1-x529.google.com with SMTP id cq7so5163119edb.4 for ; Thu, 12 Nov 2020 00:14:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec-at.20150623.gappssmtp.com; s=20150623; h=message-id:subject:from:to:date:in-reply-to:references:user-agent :mime-version; bh=8hM6TBEFdBu5I0W1DbIhylotrAhpO0rnWJ4B91g/pLI=; b=UPa8i239pHpGJhmXrUX+q8NL9GP/USw0F9KZ/cBzAVV+YZpNq2pvNTuf7144apaxGb BBasomlE0j1aPYaTMgxZ1LiFNeu3R72dU5ELLZH9jVks/nwvmQga2YstXl5csNyqPusD Sd7kN3br9Kzm7n/ptcCkymPTTBu+6MYXUcoNrVM+TtDqsGOYFukj8etiQkiE4YyLCP/h E7W9p2cpIqlIRuyAR0T1KBdrswBy+ZHQBNIfstlzLaIkQqi8Baf+UnghoNJmZAechcug pJDrpsEqrJicnIzY0xJ9x9RetCT/sJbQ2nVMNLa6VZKC2h1HRn151qDD5JKwlmRF8dSQ suaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:date:in-reply-to :references:user-agent:mime-version; bh=8hM6TBEFdBu5I0W1DbIhylotrAhpO0rnWJ4B91g/pLI=; b=MG6jkAuvT/4bOETp1oseACsCEueaBIDGh/OVPDO6ZJeazmT20azI3YYUcSyDDs/AvW rDgUQqrpBcgaW3BZpOh48giDTa77mR6OQCI+BJG6S9fyvhj01GAiegJ+5TKHozvThO53 xQt2GtCKaIMaeFZ1FrKgWfr3a23XhejTyv6nbU30Z6kSQZK78+tHImQtMLQSjpwGAS13 JpBgmGsZ/iCfqc7VIysuxjFvyLmzY+SB3U5XogexIsNL/meYxS0Vhhl450pvmjI77fyV 65oMPvDFN+alSkKxO725fKxEI8ltD458yqbG5S3l+vjqW6UMRabpONm06xmGYy3WSd8s cx1Q== X-Gm-Message-State: AOAM530BCC2GgeZyMW1YSCM5SfbPircrUx7YXujjTFHZTNwDuiTq1v6L PXxO/hEiLey8RZmv356V1s71qg== X-Google-Smtp-Source: ABdhPJw0MU2hafH1LCSOwHY6PwNZvib23+U/E6SMrG7kEloSElq7KC089GC+U94DOyRPNGWMoc6D9w== X-Received: by 2002:aa7:d1d8:: with SMTP id g24mr3983655edp.324.1605168853942; Thu, 12 Nov 2020 00:14:13 -0800 (PST) Received: from localhost.localdomain (217-149-170-133.nat.highway.telekom.at. [217.149.170.133]) by smtp.gmail.com with ESMTPSA id n11sm1972820eds.3.2020.11.12.00.14.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Nov 2020 00:14:13 -0800 (PST) Message-ID: <16601466752e40543051369fac722c0a200bb4e6.camel@cybertec.at> Subject: Re: Documentation of return values of range functions lower and upper From: Laurenz Albe To: jani.rahkola@iki.fi, pgsql-docs@lists.postgresql.org Date: Thu, 12 Nov 2020 09:14:12 +0100 In-Reply-To: <53ec9f116bea9252d7fa9341e024530553656c42.camel@cybertec.at> References: <160508672127.25505.8356390205508789564@wrigleys.postgresql.org> <53ec9f116bea9252d7fa9341e024530553656c42.camel@cybertec.at> Content-Type: multipart/mixed; boundary="=-1qtsEYjRS/qk1sVQC6l7" User-Agent: Evolution 3.36.5 (3.36.5-1.fc32) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --=-1qtsEYjRS/qk1sVQC6l7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit On Wed, 2020-11-11 at 18:19 +0100, Laurenz Albe wrote: > > Table 9.54 in page > > https://www.postgresql.org/docs/current/functions-range.html states that the > > functions lower and upper return NULL if the requested bound is infinite. If > > the element type of the range contains the special values infinity and > > -infinity, this is not correct, as those values are returned if explicitly > > used as either bound. > > +1 > > Perhaps it would be better to say > > NULL if the range is empty or has no lower/upper bound Here is a patch for this. Yours, Laurenz Albe --=-1qtsEYjRS/qk1sVQC6l7 Content-Disposition: attachment; filename="0001-Improve-upper-lower-documentation-for-ranges.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-Improve-upper-lower-documentation-for-ranges.patch"; charset="UTF-8" RnJvbSBiMTdkMmQ5NjgyNjgyNTdjNWQxMzg1YmI4MzQ3NDdmZTNjMzM4MzRiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMYXVyZW56IEFsYmUgPGxhdXJlbnouYWxiZUBjeWJlcnRlYy5h dD4KRGF0ZTogVGh1LCAxMiBOb3YgMjAyMCAwOToxMzowOSArMDEwMApTdWJqZWN0OiBbUEFUQ0hd IEltcHJvdmUgdXBwZXIvbG93ZXIgZG9jdW1lbnRhdGlvbiBmb3IgcmFuZ2VzCgpUaGUgb2xkIHdv cmRpbmcgY291bGQgZ2l2ZSB0aGUgaW1wcmVzc2lvbiB0aGF0IHRoZXNlCmZ1bmN0aW9ucyB3b3Vs ZCByZXR1cm4gTlVMTCBpZiB0aGUgcmFuZ2UgaXMgYm91bmRlZApieSBhIHZhbHVlICJpbmZpbml0 eSIuICBSZXBvcnQgYnkgSmFuaSBSYWhrb2xhLgoKRGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3Iu ZXMvbS8xNjA1MDg2NzIxMjcuMjU1MDUuODM1NjM5MDIwNTUwODc4OTU2NEB3cmlnbGV5cy5wb3N0 Z3Jlc3FsLm9yZwotLS0KIGRvYy9zcmMvc2dtbC9mdW5jLnNnbWwgfCA0ICsrLS0KIDEgZmlsZSBj aGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9j L3NyYy9zZ21sL2Z1bmMuc2dtbCBiL2RvYy9zcmMvc2dtbC9mdW5jLnNnbWwKaW5kZXggMjc4Mzk4 NWI1NS4uZDI5MDY1M2FlOCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2Z1bmMuc2dtbAorKysg Yi9kb2Mvc3JjL3NnbWwvZnVuYy5zZ21sCkBAIC0xODE3Niw3ICsxODE3Niw3IEBAIFNFTEVDVCBO VUxMSUYodmFsdWUsICcobm9uZSknKSAuLi4KICAgICAgICA8L3BhcmE+CiAgICAgICAgPHBhcmE+ CiAgICAgICAgIEV4dHJhY3RzIHRoZSBsb3dlciBib3VuZCBvZiB0aGUgcmFuZ2UgKDxsaXRlcmFs Pk5VTEw8L2xpdGVyYWw+IGlmIHRoZQotICAgICAgICByYW5nZSBpcyBlbXB0eSBvciB0aGUgbG93 ZXIgYm91bmQgaXMgaW5maW5pdGUpLgorICAgICAgICByYW5nZSBpcyBlbXB0eSBvciBoYXMgbm8g bG93ZXIgYm91bmQpLgogICAgICAgIDwvcGFyYT4KICAgICAgICA8cGFyYT4KICAgICAgICAgPGxp dGVyYWw+bG93ZXIobnVtcmFuZ2UoMS4xLDIuMikpPC9saXRlcmFsPgpAQCAtMTgxOTQsNyArMTgx OTQsNyBAQCBTRUxFQ1QgTlVMTElGKHZhbHVlLCAnKG5vbmUpJykgLi4uCiAgICAgICAgPC9wYXJh PgogICAgICAgIDxwYXJhPgogICAgICAgICBFeHRyYWN0cyB0aGUgdXBwZXIgYm91bmQgb2YgdGhl IHJhbmdlICg8bGl0ZXJhbD5OVUxMPC9saXRlcmFsPiBpZiB0aGUKLSAgICAgICAgcmFuZ2UgaXMg ZW1wdHkgb3IgdGhlIHVwcGVyIGJvdW5kIGlzIGluZmluaXRlKS4KKyAgICAgICAgcmFuZ2UgaXMg ZW1wdHkgb3IgaGFzIG5vIHVwcGVyIGJvdW5kKS4KICAgICAgICA8L3BhcmE+CiAgICAgICAgPHBh cmE+CiAgICAgICAgIDxsaXRlcmFsPnVwcGVyKG51bXJhbmdlKDEuMSwyLjIpKTwvbGl0ZXJhbD4K LS0gCjIuMjYuMgoK --=-1qtsEYjRS/qk1sVQC6l7--