syncbase: syncQL: integrate syncQL with key value store

This change implements Exec on the store's database object.
Later, when it is ready, Exec will also be added to BatchRequest.

They query package interacts with the store via implementaitons
of query's Database, Table and KeyValueStream interfaces (these
implemenations reside, for now, in
x/ref/services/syncbase/server/nosql/database.go.  The query_db
package needed to be moved out of internal to accomodate this.

Unlike Scan, which returns all errors via the stream, exec
needs to return execution errors on the function itself
(so forr example, the client doesn't attempt to print
headers before iterating over the stream).

Note: Rhis change requires a resolution to the error wrapping
issue.  See:
https://vanadium-review.googlesource.com/#/c/12651/
but we might as well start the review for this change.

Change-Id: I76d7fcee1557d36094c4e66cfee4cb6c9f8eedca
26 files changed
tree: ff0352376e91e35f235aa1d7906a3befe6e4f89c
  1. v23/
  2. x/
  3. .gitignore
  4. AUTHORS
  5. CONTRIBUTORS
  6. LICENSE
  7. PATENTS
  8. VERSION