Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-16139

Full Prepared stmts fail w/ error -Unrecognizable prepared statement - cause: unable to convert to prepared statment

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Critical
    • 4.0.0
    • 4.0.0
    • query
    • Security Level: Public
    • None
    • 400-4047
    • Untriaged
    • Unknown

    Description

      1. Create bucket ITEM and index on ITEM.I_ID
      2. Create a Prepare stmt

      select * from ITEM where I_ID>$r and I_ID<$s - success
       
      [root@centos-64-x64 bin]# curl http://10.6.2.194:8093/query/service -d 'statement=prepare select * from ITEM where I_ID>$r and I_ID<$s'
      {
          "requestID": "a6e4b026-61a3-43aa-bc25-fc54e8431663",
          "signature": "json",
          "results": [
              {
                  "encoded_plan": "H4sIAAAJbogA/5xS0W7TMBT9lejSh7ZKUZZ0TZM3JJiIBNJEeYOp9ZybxMyxg+2wwRS+nWuPbVq3p73lHh+fe85xbgEV1zXW+0EyBSVADIr1SF9pcpLmRdGsMtakq/U2b1ZFyuvV+nJzWWw2DIusILYe0DCnDZS38OZxgB3+HEkbifKXd0LWBkn/21PSu9F12og/nhVIr1KpVI03O07+YxD+22Nf99V7mq/wtx0YxwB9+EyIFL1wUBZpmmV5mmSb7ek6z0+3SX4X/Z5eY8NG6egGIcqGrTvEKyjVKGUMX5hq0fv9pK/pEGYGLmL4KNouTNZPleJytEKT52SaCKBBtSTeWgFT/DTGOTNMSpQPWV9Vxhk63r0Y/KVwxx7OhHRo/GtoVQsXnMN8PjPR9zFJMh7ND17t8PZQUb+HxSJiqo7mR+g9eWYXi2crKkW6TJ4b/QO5r9egJSt72tvftWwdI6IzI04Xzw2qx7t07BkwGPFLSGzR+sr+ZytD7PJkOpbYOYOsh3DTilYxN5rwkEs6XJJfcHhDfwjJ4sAMRhYlbYuWUWN0H3nZ6LpDOvBpQ1SkgnwRDwCn95/+BQAA///Kh2JwXQMAAA==",
                  "name": "2012799f-3af2-487f-92cd-4b6b966ae939",
                  "operator": {
                      "#operator": "Sequence",
                      "~children": [
                          {
                              "#operator": "Authorize",
                              "child": {
                                  "#operator": "Sequence",
                                  "~children": [
                                      {
                                          "#operator": "IndexScan",
                                          "index": "IT_ID",
                                          "keyspace": "ITEM",
                                          "limit": 9.223372036854776e+18,
                                          "namespace": "default",
                                          "spans": [
                                              {
                                                  "Range": {
                                                      "High": [
                                                          "$s"
                                                      ],
                                                      "Inclusion": 0,
                                                      "Low": [
                                                          "$r"
                                                      ]
                                                  },
                                                  "Seek": null
                                              }
                                          ],
                                          "using": "gsi"
                                      },
                                      {
                                          "#operator": "Parallel",
                                          "~child": {
                                              "#operator": "Sequence",
                                              "~children": [
                                                  {
                                                      "#operator": "Fetch",
                                                      "keyspace": "ITEM",
                                                      "namespace": "default"
                                                  },
                                                  {
                                                      "#operator": "Filter",
                                                      "condition": "(($r \u003c (`ITEM`.`I_ID`)) and ((`ITEM`.`I_ID`) \u003c $s))"
                                                  },
                                                  {
                                                      "#operator": "InitialProject",
                                                      "result_terms": [
                                                          {
                                                              "star": true
                                                          }
                                                      ]
                                                  },
                                                  {
                                                      "#operator": "FinalProject"
                                                  }
                                              ]
                                          }
                                      }
                                  ]
                              },
                              "privileges": {
                                  "default:ITEM": 1
                              }
                          },
                          {
                              "#operator": "Stream"
                          }
                      ]
                  },
                  "signature": {
                      "*": "*"
                  },
                  "text": "prepare select * from ITEM where I_ID\u003e$r and I_ID\u003c$s"
              }
          ],
          "status": "success",
          "metrics": {
              "elapsedTime": "11.288344ms",
              "executionTime": "11.148039ms",
              "resultCount": 1,
              "resultSize": 4223
          }
      }
      
      

      3. Issue a Prepared select request using Named param - success
      4. Issue prepapred select using Full prepared stmt - fails

      I tried the above using

      • "name" ... "signature" end points
      • "encoded_plan" .. "signature" end points
      • "encoded_plan" .. "text" end points

      Each fails w/ unrecognizable prepare stmt.

      [root@centos-64-x64 bin]# curl http://10.6.2.194:8093/query/service -d 'prepared={"name":"2012799f-3af2-487f-92cd-4b6b966ae939","operator":{"#operator":"Sequence","~children":[{"#operator":"Authorize","child":{"#operator":"Sequence","~children":[{"#operator":"IndexScan","index":"IT_ID","keyspace":"ITEM","limit":9.223372036854776e+18,"namespace":"default","spans":[{"Range":{"High":["$s"],"Inclusion":0,"Low":["$r"]},"Seek":null}],"using":"gsi"},{"#operator":"Parallel","~child":{"#operator":"Sequence","~children":[{"#operator":"Fetch","keyspace":"ITEM","namespace":"default"},{"#operator":"Filter","condition":"(($r \u003c (`ITEM`.`I_ID`)) and ((`ITEM`.`I_ID`) \u003c $s))"},{"#operator":"InitialProject","result_terms":[{"star":true}]},{"#operator":"FinalProject"}]}}]},"privileges":{"default:ITEM":1}},{"#operator":"Stream"}]},"signature":{"*":"*"}}&$r=9950&$s=9952'
      {
          "requestID": "faf0ae3b-5069-4dfc-8cca-7bb13e141a24",
          "errors": [
              {
                  "code": 4050,
                  "msg": "Unrecognizable prepared statement - cause: unable to convert to prepared statment."
              }
          ],
          "status": "fatal",
          "metrics": {
              "elapsedTime": "124.479µs",
              "executionTime": "120.916µs",
              "resultCount": 0,
              "resultSize": 0,
              "errorCount": 1
          }
      }
      

      Output from named param

      [root@centos-64-x64 bin]# curl http://10.6.2.194:8093/query/service -d 'prepared="2012799f-3af2-487f-92cd-4b6b966ae939"&$r=9950&$s=9952'
      {
          "requestID": "dd62784b-ecca-4f49-b8dc-b296560cc313",
          "signature": {
              "*": "*"
          },
          "results": [
              {
                  "ITEM": {
                      "I_DATA": "phxsxlqqhasrmpxbntxntarpsvjvaevxzunznomug",
                      "I_ID": 9951,
                      "I_IM_ID": 6550,
                      "I_NAME": "wsiknaqrpyjvobikjey",
                      "I_PRICE": 76.83
                  }
              }
          ],
          "status": "success",
          "metrics": {
              "elapsedTime": "10.466764ms",
              "executionTime": "10.302722ms",
              "resultCount": 1,
              "resultSize": 263
          }
      }
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            keshav Keshav Murthy
            ketaki Ketaki Gangal (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty