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.94.2) (envelope-from ) id 1rmXFB-008TTI-6e for pgsql-hackers@arkaria.postgresql.org; Tue, 19 Mar 2024 11:02:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rmXF9-00D2t6-Bw for pgsql-hackers@arkaria.postgresql.org; Tue, 19 Mar 2024 11:02:55 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rmXF8-00D2sy-DB for pgsql-hackers@lists.postgresql.org; Tue, 19 Mar 2024 11:02:55 +0000 Received: from fhigh5-smtp.messagingengine.com ([103.168.172.156]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rmXF4-005Lq5-8P for pgsql-hackers@lists.postgresql.org; Tue, 19 Mar 2024 11:02:54 +0000 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailfhigh.nyi.internal (Postfix) with ESMTP id 980B211400F4; Tue, 19 Mar 2024 07:02:47 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Tue, 19 Mar 2024 07:02:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eisentraut.org; h=cc:cc:content-transfer-encoding:content-type:content-type :date:date:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:subject:subject:to:to; s=fm1; t=1710846167; x=1710932567; bh=hBaof8nQ4cZypukm8Cqej5PjCgurfFSE W+Idmyn1rYI=; b=4YD5ZRXKBOLMqHihFayiCEcXtTbTtH8RoN7JC87vfqmlSwHR 1d4Gq/gZXFFx4TtYtSC+57J2eveHLDtJENbp/1Yaz5+m3Dg0/L0ymz63zzKyLAUV jj/rDKhJThaH4eNazs7ElyakbG/X6PICzf7gNXN/t+22keJ81JNrooxOMFRTVtS/ VJo8A+pFPLcLXzEkq+jvPhK2VUCi1Ta5KOQloQLFZkrrsxnfu51qp8W2H4MZ3EC3 tpWCYe7L9qUJ98P7X4gKo9rFBHP2/yzxuEzAMDXOrXQ5XD2ge92VxJUNgs41N3kJ XOMTeOJWLzoL7ZGE/Z1X1RAtZYlR/6KJ1obd7g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1710846167; x= 1710932567; bh=hBaof8nQ4cZypukm8Cqej5PjCgurfFSEW+Idmyn1rYI=; b=S tc4kV/Pa6l4kuCE0sOroVLNjeIxTLmG1ZKiuM6fA5D8oVRuYLC1KGvHjLQuBehzP m1jlT/WkwUDcJ/PeZej/LgWELQQe/h2MsqAINC2wixPVmdUqlypOY71PGgsHRd8l krrbkZSQwL3HkFDCIMrY5heQg/lNtmqzcoloqLCPxOCoN05sDxQa8ApuhommxtOF GCNl/c8XNt8K659ed4B1Hy5X/wM35CbcwR7XyC8KhpKGJIopca/GLlDIUPXAbtsn 2iZtX0E6YHtVKkw7WATXTSsY45kcXIssgp2HHm/JTFHeWtMJKQ7DHzJTxUSvmQIp Y7WeodFpD502P0xb2GZFA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrkeelgddvvdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefkffggfgfuvfevfhfhjggtgfesthejredttddvjeenucfhrhhomheprfgvthgv rhcugfhishgvnhhtrhgruhhtuceophgvthgvrhesvghishgvnhhtrhgruhhtrdhorhhgqe enucggtffrrghtthgvrhhnpefgjedthfekfedtuefgieelheetleejgefhueeltdfhueet vdffudekfeejhfegheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrih hlfhhrohhmpehpvghtvghrsegvihhsvghnthhrrghuthdrohhrgh X-ME-Proxy: Feedback-ID: ie0a040ee:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 19 Mar 2024 07:02:46 -0400 (EDT) Message-ID: Date: Tue, 19 Mar 2024 12:02:45 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: SQL:2011 application time Content-Language: en-US To: Paul A Jungwirth , jian he Cc: PostgreSQL Hackers References: <71b45adb-b496-4e58-b134-0a091014e63f@illuminatedcomputing.com> <7be8724a-5c25-46d7-8325-1bd8be6fa523@eisentraut.org> <0af6a323-f026-4cd9-adf1-941038cd00de@illuminatedcomputing.com> <88518c81-dcdc-4c5b-9200-146b74a520ab@eisentraut.org> <113f5e25-4455-4bdb-98ec-56275705cc4e@illuminatedcomputing.com> <7bd1c8f9-a91a-41a3-990e-0f796ba692ec@eisentraut.org> <6c3edb2c-bc45-4f19-babd-8f4edf39b384@illuminatedcomputing.com> <41b57948-f4d3-455f-8880-e0ce7e61ffc1@illuminatedcomputing.com> <0d977c63-f4a6-43ba-aad0-35c06c55df11@eisentraut.org> From: Peter Eisentraut In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 16.03.24 22:37, Paul A Jungwirth wrote: > Here is a new patch series addressing the last few feedback emails > from Peter & Jian He. It mostly focuses on the FKs patch, trying to > get it really ready to commit, I have committed the test changes (range and date format etc.). The FOREIGN KEY patch looks okay to me now. Maybe check if any of the subsequent comments from jian should be applied. >> > I'm not sure how else to do it. The issue is that `range_agg` returns >> > a multirange, so the result >> > type doesn't match the inputs. But other types will likely have the >> > same problem: to combine boxes >> > you may need a multibox. The combine mdranges you may need a >> > multimdrange. >> >> Can we just hardcode the use of range_agg for this release? Might be >> easier. I don't see all this generality being useful in the near future. > > Okay, I've hard-coded range_agg in the main patch and separated the > support for multirange/etc in the next two patches. But there isn't > much code there (mostly tests and docs). Since we can't hard-code the > *operators*, most of the infrastructure is already there not to > hard-code the aggregate function. Supporting multiranges is already a > nice improvement. E.g. it should cut down on disk usage when a record > gets updated frequently. Supporting arbitrary types also seems very > powerful, and we already do that for PKs. I think we could also handle multiranges in a hardcoded way? Ranges and multiranges are hardcoded concepts anyway. It's just when we move to arbitrary types supporting containment, then it gets a bit more complicated. What would a patch that adds just multiranges on the FK side, but without the full pluggable gist support, look like? > I don't see any drawbacks from supporting inferred REFERENCES with > temporal tables, so my vote is to break from the standard here, and > *not* apply that follow-up patch. Should I add some docs about that? > Also skipping the patch will cause some annoying merge conflicts, so > let me know if that's what you choose and I'll handle them right away. I agree we can allow this.