Skip to content

0.1.12: five things the tool used to stay silent about

Choose a tag to compare

@JingYu-create520 JingYu-create520 released this 22 Sep 07:31
· 4 commits to main since this release

This release is about what the tool failed to say, found by auditing three more MyBatis projects (421, 277 and 45 statements) instead of our own fixtures.

  • WHERE create_time >= ? with no index on that column produced no advice at all: the guard that keeps a sort behind a range also deleted the range
  • AND (a = 1 OR b = 2), the most common shape in a MyBatis <where> block, was dropped whole because parenthesised groups were opaque to the AND/OR splitters
  • a = 1 OR b = 2 drew an error-severity index for one side and lost the other; an OR over one column is an IN list and now gets advice, while an OR over different columns gets an explanation with no DDL
  • a chain of absorbed suggestions could disappear without a trace; the survivor now reports everything it covers
  • a bound LIMIT ?, ? offset, tables inside IN (SELECT ...), and each distinct parse reason are all attributed instead of being silently skipped

249 tests, examples output unchanged, README screenshot still accurate.