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 1mucoA-0004se-FF for pgsql-hackers@arkaria.postgresql.org; Tue, 07 Dec 2021 15:55:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1muco9-0001zr-CD for pgsql-hackers@arkaria.postgresql.org; Tue, 07 Dec 2021 15:55:09 +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 1muco8-0001ze-V5 for pgsql-hackers@lists.postgresql.org; Tue, 07 Dec 2021 15:55:09 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by makus.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1muco1-0002zI-II for pgsql-hackers@lists.postgresql.org; Tue, 07 Dec 2021 15:55:07 +0000 Received: from [192.168.28.61] (cyclops.postgrespro.ru [93.174.131.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mail.postgrespro.ru (Postfix) with ESMTPSA id 736FA21C05A3; Tue, 7 Dec 2021 18:54:58 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mail; t=1638892498; bh=ik93rscbl5zObr8ShY0PGXFlYt927fxE6XQKQKRYIeo=; h=Subject:To:References:From:Date:In-Reply-To; b=Yda9weDCMD6fO7V5yqfi5hMp+Os7aSfDnvJeREuEAfa3C1U9+ZOn34JEDchtxlIKD dmT1z0Xln66faLm2ihX8c3tNAI+2XjZfbHlX1ZT3le2AX+i1xA5MNce6CT4Z29A0P9 leKkxQ9esRm4ansb2IDthXfjqw+iJBeI+oPfNrX8= Subject: Re: Triage for unimplemented geometric operators To: Tom Lane , pgsql-hackers@lists.postgresql.org References: <3426566.1638832718@sss.pgh.pa.us> From: Anton Voloshin Message-ID: <56f39d7c-88cb-ff51-e3fc-ebce97703c81@postgrespro.ru> Date: Tue, 7 Dec 2021 22:54:57 +0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: <3426566.1638832718@sss.pgh.pa.us> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 07/12/2021 06:18, Tom Lane wrote: > So my inclination for HEAD is to implement poly_distance and nuke > the others. I'm a bit less sure about the back branches, but maybe > just de-document all of them there. I agree, seems to be a reasonable compromise. Removing 20+-years old unused and slightly misleading code probably should overweight the natural inclination to implement all of the functions promised in the catalog. Enhancing software by deleting the code is not an everyday chance and IMHO should be taken, even when it requires an extra catversion bump. I am kind of split on whether it is worth it to implement poly_distance in back branches. Maybe there is a benefit in implementing: it should not cause any reasonable incompatibilities and will introduce somewhat better compatibility with v15+. We could even get away with not updating v10..12' docs on poly_distance because it's not mentioned anyway. I agree on de-documenting all of the unimplemented functions in v13 and v14. Branches before v13 should not require any changes (including documentation) because detailed table on which operators support which geometry primitives only came in 13, and I could not find in e.g. 12's documentation any references to the cases you listed previously: > dist_lb: <->(line,box) > dist_bl: <->(box,line) > close_sl: lseg ## line > close_lb: line ## box > poly_distance: polygon <-> polygon > path_center: @@ path -- Anton Voloshin Postgres Professional, The Russian Postgres Company https://postgrespro.ru