syncbase: syncQL: query optimization and regex rewrite
1. Optimization: examine fewer key values by using ranges rather
than prefixes. The query package was written with the
understanding that only prefixes could be specified when
fetching key/values from the store (e.g., for the where clause
expression 'k = "foo", all keys beginning with "foo" would be
returned. With this change, at most one key/value pair
will be examined for the above case.
2. Optimize like expressions that contain no wildcards to an
equal expression. If a like is used where not needed, the
expression is translated to an equals (escaped wildcard
characters are unescaped as the equals expression does not
expect escaped characters).
3. The computeRegularExpression function has been rewritten
because the author (that's me) found it confusing and
unmaintainable.
Change-Id: Ie66625f6af6baefd45f0292bbf0ac11b9f5d5d86
1 file changed
tree: 30ede69d7c9f709a645196d616786832ea897a2f
- services/