Revert "When serializing a tuple for Motion, don't decompress compressed datums."
This reverts commit c34e76e4. Thank you Ekta for finding this simple repro that demonstrates the problem with this patch and Jesse for initial analysis: CREATE TABLE foo(a text, b text); INSERT INTO foo SELECT repeat('123456789', 100000)::text as a, repeat('123456789', 10)::text as b; SELECT * FROM foo; The motion receiver has no idea whether a datum it received is compressed or not, because the varlena header is stripped off before sending the data. Heikki and I discussed two options to fix this: 1. Include varlena header when sending. This incurs at the most 8-byte overhead per variable length datum in a heap tuple. 2. Always send tuples as MemTuples. This is more desirable because it simplifies code, but also comes with performance cost. Let's evaluate the two options based on performance and then commit the best one.
Showing
想要评论请 注册 或 登录