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 1r0GCP-004cYy-Ru for pgsql-hackers@arkaria.postgresql.org; Tue, 07 Nov 2023 07:08:33 +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 1r0GBP-005cKw-2P for pgsql-hackers@arkaria.postgresql.org; Tue, 07 Nov 2023 07:07:31 +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.94.2) (envelope-from ) id 1r0GBO-005cKE-Ma for pgsql-hackers@lists.postgresql.org; Tue, 07 Nov 2023 07:07:30 +0000 Received: from mail-vs1-xe2d.google.com ([2607:f8b0:4864:20::e2d]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1r0GBL-004MOA-VG for pgsql-hackers@lists.postgresql.org; Tue, 07 Nov 2023 07:07:29 +0000 Received: by mail-vs1-xe2d.google.com with SMTP id ada2fe7eead31-45db499e2faso1031448137.1 for ; Mon, 06 Nov 2023 23:07:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699340847; x=1699945647; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=LMXLrLw4W9/t2o/sCtFCR86TE6GPqU8ykk3rDeiyy5w=; b=goK6/Pq8eb0JEGGH8PpEifjdBuZOlyj8BQ43WFL2SxaFRzxqrQIg8RO9eDlvKLLJRt DgFyZim2oGnwiKY7otAVXc3uQ2NrZbcYTNedRNZFuwTBaARJMbwJ6jDDBbwFufWO7GiU 8dbIdK+uOOqiS4vpPzgv1stYWpuTc4kMVfA+r5Fj8C0YVHk3MkFEmu7+zmOmlwNgcVqg 1LAVscBP/6WFFoHV/uTxTVcUJTEPev5jW1uv7NKPqDbMeC7UtPiwoOlCEx/YVWPZgi0t 9N4VHlxF5NHQdNv0iBYQP9dA6LWmGNm3mj0vMv2Yh4dLNjiNJc/HIMiSVny/2+tKkEH7 /ZZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699340847; x=1699945647; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=LMXLrLw4W9/t2o/sCtFCR86TE6GPqU8ykk3rDeiyy5w=; b=FSpFf85OsnqDP53MPRoSIz5KC41ozgjag91RPOZOClrD83QFvJwcHgqJmDJuqh12CT z3dEfLW7Gh5weI+VOMvjiar2dTD6nlTsyAYBrDnn8/w0jsP0WYzTAv0TJDce3sH8S/Ah OEycuB344KozsmN8HCd7zWXq17dWphuE51S+XLtH85JHxfDN4PVSGoWAhmXo9zrefRyj ZBdZPd/o6/zjCTU5A0te/7IquFwOkAVrcLgndIZWPy+YMos6wZU5nmjXCK5Z2SWP/cA9 ftefwqo7D94k+TJxQdDA3LTwU6qENsVceJL/JHemfup/nBYr23o+MARDICZwa+hcNZ5I BDTg== X-Gm-Message-State: AOJu0Yx3vmrocDmM2KVgXMKj/7b0IR6ZP5BxbyrDIgc0GmA7DSpxwd1I kd9oNgiXiF+p8LWOfIPngpt3lORQGIRqnaENxdEXydQHj7NcBQ== X-Google-Smtp-Source: AGHT+IGBfrpfgwYlsAp16/JrAVyduXeZ3aYWUmOy3pwIt71160Fn0d8O5mDepBVqOmZpIJZPAzQGN+yD+HCUsHK2rDI= X-Received: by 2002:a05:6102:2092:b0:457:c37d:33c with SMTP id h18-20020a056102209200b00457c37d033cmr20672423vsr.10.1699340846899; Mon, 06 Nov 2023 23:07:26 -0800 (PST) MIME-Version: 1.0 References: <5157e85a-6007-27a7-853a-5601d9c3722f@illuminatedcomputing.com> <5a16a59a-d497-7d72-07aa-0afc09d5193a@illuminatedcomputing.com> <2d9740ad-3bb7-473c-8441-344351caa8ee@illuminatedcomputing.com> In-Reply-To: <2d9740ad-3bb7-473c-8441-344351caa8ee@illuminatedcomputing.com> From: jian he Date: Tue, 7 Nov 2023 15:07:15 +0800 Message-ID: Subject: Re: SQL:2011 application time To: Paul Jungwirth Cc: PostgreSQL Hackers , Peter Eisentraut Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk hi. based on v17. I found several doc related issues. previously I didn't look closely.... + + In a temporal foreign key, the delete/update will use + FOR PORTION OF semantics to constrain the + effect to the bounds being deleted/updated in the referenced row. + The first "para" should be ? --- There are many warnings after #define WRITE_READ_PARSE_PLAN_TREES see: http://cfbot.cputube.org/highlights/all.html#4308 Does that mean oue new change in gram.y is somehow wrong? ------ sgml/html/sql-update.html: "range_or_period_name The range column or period to use when performing a temporal update. This must match the range or period used in the table's temporal primary key." Is the second sentence unnecessary? since no primary can still do "for portion of update". sgml/html/sql-update.html: "start_time The earliest time (inclusive) to change in a temporal update. This must be a value matching the base type of the range or period from range_or_period_name. It may also be the special value MINVALUE to indicate an update whose beginning is unbounded." probably something like the following: "lower_bound" The lower bound (inclusive) to change in an overlap update. This must be a value matching the base type of the range or period from range_or_period_name. It may also be the special value UNBOUNDED to indicate an update whose beginning is unbounded." Obviously the "start_time" reference also needs to change, and the sql-delete.html reference also needs to change. ---------------------------------- UPDATE for_portion_of_test FOR PORTION OF valid_at FROM NULL TO "unbounded" SET name = 'NULL to NULL'; should fail, but not. double quoted unbounded is a column reference, I assume. That's why I am confused with the function transformForPortionOfBound. "if (nodeTag(n) == T_ColumnRef)" part. ----------------------------------- in create_table.sgml. you also need to add WITHOUT OVERLAPS related info into