| From: | Paul A Jungwirth <pj(at)illuminatedcomputing(dot)com> | 
|---|---|
| To: | Peter Eisentraut <peter(at)eisentraut(dot)org> | 
| Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> | 
| Subject: | Re: SQL:2011 Application Time Update & Delete | 
| Date: | 2025-10-30 06:02:02 | 
| Message-ID: | CA+renyW7ZB_k9AgmSFJU2EegL9r1k1sgWo4-9tGGkgwxNqe6kw@mail.gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
On Tue, Oct 28, 2025 at 3:49 AM Peter Eisentraut <peter(at)eisentraut(dot)org> wrote:
> On 24.10.25 19:08, Paul A Jungwirth wrote:
> > The first 3 doc patches all apply to features that we released in v18,
> > so it would be nice to get those reviewed/merged soon if possible.
>
> I have looked through the documentation patches 0001 through 0003.
Thanks for taking a look! New patches attached; details below.
Besides addressing your feedback, I corrected a few other details,
like a discrepancy in the valid-times between the SQL, the diagrams,
and the SELECT output.
> I suggest making the Temporal Tables chapter a section instead.  It
> doesn't feel big enough to be a top-level topic.  I think it would fit
> well into the Data Definition chapter, perhaps after the "System
> Columns" section (section 5.6).
>
> And then the temporal update and delete material would go into the
> Data Manipulation chapter.
Okay, done. This separation makes it a little awkward to continue the
example from the PKs/FKs section, but I included a link and repeated
the table contents, so I think it is okay. I agree it fits better into
the existing overall structure.
> The syntax examples for temporal primary keys would be better if they
> used complete CREATE TABLE examples instead of ALTER TABLE on some
> table that is presumed to exist.  (Or you could link to where in the
> documentation the table is created.)
I wound up creating the table without a PK first, then showing ALTER
TABLE to add the PK. I liked how this let me show temporal data in
general without addressing constraints right away.
> The PostgreSQL documentation is not really a place to describe
> features that don't exist.  So while it's okay to mention system time
> in the glossary because it contrasts with application time, it doesn't
> seem appropriate to elaborate further on this in the main body of the
> documentation, unless we actually implement it.  Similarly with
> periods, we can document them when we have them, but before that it's
> just a distraction.
Okay, I removed most of that. I left in a small note about not
supporting system time (not just in the glossary), because it is hard
to explain application time without the contrast. If you want me to
cut that too, please let me know.
The patch for documenting PERIODs is gone completely. I rolled that
into the main PERIODs patch. So now there are only two patches that
cover v18 functionality.
> The pictures are nice.  Again, it would be helpful if you showed the
> full CREATE TABLE statement beforehand, so that it is easier to
> picture when kind of table structure is being reflected.
I agree it is better that way.
> Initially, I read $5, $8, etc. as parameter numbers, not as prices.
> Perhaps possible confusion could be avoided if you notionally make the
> price column of type numeric and show the prices like 5.00, 8.00, etc.
Okay, changed to numeric and removed the dollar signs.
> I also looked over the patch "Add UPDATE/DELETE FOR PORTION OF" a bit.
> I think it has a good structure now.  I'll do a more detailed review
> soon.
Thanks!
Yours,
-- 
Paul              ~{:-)
pj(at)illuminatedcomputing(dot)com
| Attachment | Content-Type | Size | 
|---|---|---|
| v58-0002-Document-temporal-foreign-keys.patch | application/octet-stream | 10.7 KB | 
| v58-0003-Document-temporal-update-delete.patch | application/octet-stream | 19.7 KB | 
| v58-0004-Add-range_minus_multi-and-multirange_minus_multi.patch | application/octet-stream | 22.7 KB | 
| v58-0001-Add-docs-section-for-temporal-tables-with-primar.patch | application/octet-stream | 16.3 KB | 
| v58-0005-Add-UPDATE-DELETE-FOR-PORTION-OF.patch | application/octet-stream | 200.7 KB | 
| v58-0006-Add-tg_temporal-to-TriggerData.patch | application/octet-stream | 10.3 KB | 
| v58-0007-Look-up-more-temporal-foreign-key-helper-procs.patch | application/octet-stream | 6.8 KB | 
| v58-0008-Add-CASCADE-SET-NULL-SET-DEFAULT-for-temporal-fo.patch | application/octet-stream | 205.7 KB | 
| v58-0009-Expose-FOR-PORTION-OF-to-plpgsql-triggers.patch | application/octet-stream | 14.5 KB | 
| v58-0010-Add-PERIODs.patch | application/octet-stream | 564.5 KB | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Smith | 2025-10-30 06:04:05 | Re: Skipping schema changes in publication | 
| Previous Message | Michael Paquier | 2025-10-30 05:55:33 | Re: Question about InvalidatePossiblyObsoleteSlot() |