пн, 2 дек. 2024 г. в 13:24, David Rowley <dgrowle...@gmail.com>:
> I ended up adjusting the code here so that TupleDescSize() returns the > full size and TupleDescAttrAddress() manually calculates the offset to > start the FormData_pg_attribute array. That allows > TupleDescFullSize() to be deleted. I changed how TupleDescCopy() > works as it used to perform the memcpy in 2 parts. I've changed that > to now perform a single memcpy() and reset the ->attrs field after the > memcpy so that it correctly points to the address for its own > TupleDesc rather than the one from the source. > > Nice! > I've attached a v5 set of patches, which I think addresses everything > you mentioned. I've also shuffled the patches around a little to how > I think they should be committed. > I'm glad that the patch from “More tuple deformation speedups” is moved here, I wanted to mention that both patches should be committed together. All is good, and the benefits are clearly visible (same setup used). -- Victor Yegorov