Skip to content

Commit

Permalink
fix(core): incorrect result when execute sql with between | > or < | …
Browse files Browse the repository at this point in the history
…in or not in #1332

[summary]
In tianmu, pack_int uses uint64_t to store level 2 encode, ranges from [0, uint64_max], so
when filter data, the conditions(in code named "pv1, pv2") should be also changed to level 2 encode.
e.g.: stored value = actually value - min
uint64 upv1 = pv1 - local_min;
uint64 upv2 = local_max - local_min;
the fixes mainly in funciont "EvaluatePack_BetweenInt".

For not int (value): when value < local_min, it should be a special case.
Only used when rough check = RS_ALL(no numeric data matchs), but table has null, rough check will be reset RS_SOME.
  • Loading branch information
hustjieke authored and mergify[bot] committed Mar 17, 2023
1 parent e2b836a commit c2b7463
Show file tree
Hide file tree
Showing 3 changed files with 702 additions and 21 deletions.
Loading

0 comments on commit c2b7463

Please sign in to comment.