Hi Simon, Many thanks for your feedback!
I'm going to submit an updated version of the patch in a bit. I just wanted to reply to some of your questions / comments. > Dictionaries have no versioning. [...] > Does the order of entries in the dictionary allow us to express a priority? > i.e. to allow Huffman coding. [...] This is something we discussed in the RFC thread. I got an impression that the consensus was reached: 1. To simply use 32-bit codes in the compressed documents, instead of 16-bit ones as it was done in ZSON; 2. Not to use any sort of variable-length coding; 3. Not to use dictionary versions. New codes can be added to the existing dictionaries by executing ALTER TYPE mydict ADD ENTRY. (This also may answer your comment regarding a limit on SQL statement size.) 4. The compression scheme can be altered in the future if needed. Every compressed document stores algorithm_version (1 byte). Does this plan of action sound OK to you? At this point it is not too difficult to make design changes. -- Best regards, Aleksander Alekseev