Improve debugging messages in Query.js
Retry scans that fail with TimeoutExpired error.
Close the NdbScanOperation, then define & execute a new one.
Change some scan tests to expect index scan rather than table scan.
Redesign of index scans
For each node of the predicate, we store two bitmasks: a usedColumnMask and an equalColumnMask.
Each bit in the mask represents one column of the table.
The usedColumnMask is set by all comparator nodes, and "bubbles up" through AND, OR, and NOT.
The equalColumnMask is only set by QueryEq and only bubbles up through AND.
A Primary Key or Unique Index is usable for a query if the index's own mask AND the top level predicate's equalColumnMask == the index's mask.
An ordered index is (minimally) usable if the top level usedColumnMask has the bit set for the first index column.
Always close NdbScanOperation
More work on IndexBounds
Currently tests q2,q7,q9 fail in multipartkeys
Change BitMask.js after review
update npm package.json info