Peter Geoghegan <p...@bowt.ie> writes: > The heapallindexed enhancement that made it into Postgres 11 assumes > that the representation of index tuples produced by index_form_tuple() > (or all relevant index_form_tuple() callers) is deterministic: for > every possible heap tuple input there must be a single possible > (bitwise) output.
That assumption seems unbelievably fragile. How badly do things break when it's violated? Also, is the assumption just that a fixed source tuple will generate identical index entries across repeated index_form_tuple attempts? Or is it assuming that logically equal index entries will be bitwise equal? The latter is broken on its face, because index_form_tuple() doesn't try to hide differences in the toasting state of source datums. regards, tom lane