...
N1QL API Parameter | Value | Old Asterix API Parameter | Proposed API Parameter | Comment |
results | JSONList | HTTP response body | results | One of three possible values depending on result delivery 1) A list of all results returned by the query (sync result delivery). 2) A list of all URIs to QueryStatus endpoint (async result delivery). 3) No value (DDL\update\load) |
signature | JSONObject | - | signature | The schema of the results (if signature=true , & format !=CSV) |
status | string | HTTP response status | status | The status of the request; possible values are: Success, Running (async result), Error (parse\optimizer error), Fatal (execution error). |
error | JSONObject | HTTP response body | error | An object containing details of the error |
error.code | int | error-code | error.code | A code that identifies the error. |
error.msg | string | summary | error.msg | A message describing the error in detail. |
stacktrace | A stack trace of the error. | |||
metrics | JSONObject | - | metrics | An object containing details of the execution metrics. |
metrics.executionTime | string | - | metrics.executionTime | The time taken for the execution of the request, i.e. time from when query execution started until the results were returned. (if execute-query=true) |
metrics.resultCount | unsigned int | - | metrics.resultCount | The total number of objects in the results (if result delivery is synchronous and execute-query=true) |
JSONObject | - | metrics.expr_tree | Serialized query expression tree (if expr-tree=true) | |
JSONObject | - | metrics.rewritten_expr_tree | Serialized rewritten query expression tree (if rewritten-expr-tree=true) | |
JSONObject | - | metrics.logical_plan | Serialized query logical plan (if logical-plan=true) | |
JSONObject | - | metrics.optimized_plan | Serialized query optimized logical plan (if optimized-plan=true) | |
JSONObject | - | metrics.hyracks_job | Serialized Hyracks job (if hyracks-job=true) |
Examples:
DDL request
Code Block title Query curl -v http://localhost:19002/query -X POST \ -d "statement=create dataverse test;"
Code Block title Response < HTTP/1.1 200 OK Content-Type: application/json { "status": "success" "metrics": { "executionTime": "1ms" } }
Query which is not executed, but returns logical plan
Code Block title Query curl -v http://localhost:19002/query -X POST -H "Accept: application/json" \ -d "statement=for $x in dataset testDS return $x & lossless=true & logical-plan=true & execute-query=false"
Code Block title Response < HTTP/1.1 200 OK Content-Type: application/json { "status": "success" "metrics": { "executionTime": "5ms", "logical_plan": [ {"operator": "distribute_result", "args": [{"exp": "var_ref", "var": "$$0"}]}, {"operator": "datascan", "output_vars": ["$$0", "$$1"]} } }
- Query which synchronously returns CSV result inside JSON response