On Wed, 2025-06-25 at 12:22 +1000, Peter Smith wrote: > Hi. > > Here are the latest v9* patches. These have following changes: > > 0001 > - fixes some of the minor quirks reported by Tomas [1]. > > 0002 > - fixes to added address some of Timur's feedback/patches [2] > - test code updated to remove unsupported type > - test code updated to remove dynamic costings > Hello Peter!
Thanks for updates. I was trying to move some code from Postgres core patch to contrib/vci. Started with moving VCI options from StdRdOptions struct and reloptions.c, reloptions.h files into contrib/vci like Tomas suggested earlier. Getting new relopt kind using add_reloption_kind() instead of hardcoded RELOPT_KIND_VCI and so on, just like in contrib/bloom. During this work I've found that those VCI-specific options, "vci_column_ids" and "vci_dropped_column_ids", are only read in case vci_IsExtendedToMoreThan32Columns() is true. And vci_IsExtendedToMoreThan32Columns() itself checks if vci_column_ids option is non-empty string to return true. AFAIK no one sets those options and vci_IsExtendedToMoreThan32Columns() always returns false. There are comments in code mentioning that one can create VCI index with more than 32 columns using vci_create(). However, there is no such a function anywhere. I guess it is now impossible to create VCI index with more than 32 (INDEX_MAX_KEYS) columns. Maybe the options were used to store column information for indexes created with vci_create() but this function has gone. So, giving the ideas above, can we remove those vci_column_ids, vci_dropped_column_ids options and all the code that assumes vci_IsExtendedToMoreThan32Columns() to be true? This would make core patch a bit shorter, specifically there will be no changes in reloptions.{c,h} files and no changes in StdRdOptions struct in rel.h. -- Regards, Timur Magomedov