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.



Reply via email to