Repository navigation
fix(gstat): Use correct RHD, RHDE and RHDF based on header flags in gstat - #9245
TreeHunter9 wants to merge 4 commits into
Conversation
…stat - Changes in dpm.epp and sqz.cpp are related to the edge case where record size is big for RHDE (cannot store it with this header), but is enough for RHD, so the whole record will be put in tail, the head will not contain any data;
| * | ||
| **************************************/ | ||
| fb_assert(m_length > outLength); | ||
| [[maybe_unused]] const bool truncateAll = m_length <= outLength; |
There was a problem hiding this comment.
May be it is better to fix caller (store_big_record()) and not break compressor assumptions ?
There was a problem hiding this comment.
I'm not sure that we are breaking compressor assumption. As I see, it's fine that we can have head with no data, so at least outLength can be equal to m_length. But, anyway, I think it's fine that outLength can also be bigger then m_length because outLength is more like a buffer size, and return value will contain actual length anyway, so I see no restriction why we should limit outLength value to m_length (except branch if (m_runs.isEmpty()) at the beginning will break if outLength is bigger then m_length, but I can fix that).
There was a problem hiding this comment.
I tend to agree that nothing is going to be broken.
| * | ||
| **************************************/ | ||
| fb_assert(m_length > outLength); | ||
| [[maybe_unused]] const bool truncateAll = m_length <= outLength; |
There was a problem hiding this comment.
I tend to agree that nothing is going to be broken.
|
I have found that there is a copy-paste of |
Changes in dpm.epp and sqz.cpp are related to the edge case where record size is big for RHDE (cannot store it with this header), but is enough for RHD, so the whole record will be put in tail, the head will not contain any data;
This patch affects v5 and v6.
Related to #9244.