Here is couple more items, after talking to Trey:
1. How do I get metadata for columns returned by "GET /db/v0/query"? I assume that later we might want to select columns from multiple tables. It would be nice to have a way to get the metadata for all the columns retrieved by this query in one call. Something like "GET /db/v0/header" with the same query parameters?
2. How will this API support asynchronous requests? (It's the same concern Trey and Xiuqin were talking about.) Let's say the query is too long to execute right away. Would you return HTTP status 202 and URLs to query for status or to cancel? Are there alternatives to polling model?
It might be handy to determine the timing before the subsequent checks for status. How would I estimate the time a query would take? Also how can one obtain partial results, if available?