Hi hackers, > OK, I see your point now. And I think this is a very good point. > Basing "Compression dictionaries" on the API provided by "pluggable > TOASTer" can also be less hacky than what I'm currently doing with > `typmod` argument. I'm going to switch the implementation at some > point, unless anyone will object to the idea.
Here is the rebased patch. I reworked the memory management a bit but other than that there are no new changes. So far we seem to have a consensus to: 1. Use bytea instead of NameData to store dictionary entries; 2. Assign monotonically ascending IDs to the entries instead of using Oids, as it is done with pg_class.relnatts. In order to do this we should either add a corresponding column to pg_type, or add a new catalog table, e.g. pg_dict_meta. Personally I don't have a strong opinion on what is better. Thoughts? Both changes should be straightforward to implement and also are a good exercise to newcomers. I invite anyone interested to join this effort as a co-author! (since, honestly, rewriting the same feature over and over again alone is quite boring :D). -- Best regards, Aleksander Alekseev
v4-0001-Compression-dictionaries-for-JSONB.patch
Description: Binary data