How to query JsonStringArray

With the current shell we can’t execute a parameterized query. But it can be done with the rest api as follows :

(Using named parameters)
curl -u Administrator:password -v http://localhost:8093/query -d ‘statement=select $gpid; &$gpid=“Value”’

With the new shell that will be available soon, it is possible to pass in parameterized queries. For named parameters :

cbq> \SET -$gpid 1;
cbq> select $gpid;
{
    "requestID": "b8d3f9de-320e-4e88-89f0-5e1e9387a528",
    "signature": {
    "$1": "json"
    },
    "results": [
        {
            "$1": 1
        }
    ],
    "status": "success",
    "metrics": {
    "elapsedTime": "426.864µs",
    "executionTime": "400.919µs",
    "resultCount": 1,
    "resultSize": 31
    }
}

You can also use positional parameters :

cbq> \SET -args [1, Value];
cbq> \SET -args [1, "Value"];
cbq> select $1, $2;
{
    "requestID": "e1a93610-4b67-49d9-811e-8caec09d4039",
    "signature": {
        "$1": "json",
        "$2": "json"
    },
    "results": [
        {
            "$1": 1,
            "$2": "Value"
        }
    ],
    "status": "success",
    "metrics": {
        "elapsedTime": "527.815µs",
        "executionTime": "502.429µs",
        "resultCount": 1,
        "resultSize": 58
    }
}
1 Like