On Mon, Nov 6, 2023 at 11:07 PM jian he <jian.universal...@gmail.com> wrote: > + </para> > + In a temporal foreign key, the delete/update will use > + <literal>FOR PORTION OF</literal> semantics to constrain the > + effect to the bounds being deleted/updated in the referenced row. > + </para> > > The first "para" should be <para> ?
Thanks, fixed (in v18)! > 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? Fixed (in read+out node funcs). > 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". You're right, this dates back to an older version of the patch. Removed. > 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. See below re UNBOUNDED.... > 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. You're right, using a ColumnDef was probably not good here, and treating `"UNBOUNDED"` (with quotes from the user) as a keyword is no good. I couldn't find a way to make this work without reduce/reduce conflicts, so I just took it out. It was syntactic sugar for `FROM/TO NULL` and not part of the standard, so it's not too important. Also I see that UNBOUNDED causes difficult problems already with window functions (comments in gram.y). I hope I can find a way to make this work eventually, but it can go for now. > in create_table.sgml. you also need to add WITHOUT OVERLAPS related > info into <varlistentry id="sql-createtable-parms-unique"> You're right, fixed (though Peter's patch then changed this same spot). Thanks, -- Paul ~{:-) p...@illuminatedcomputing.com