Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-1035

Avatica fetch does not return an update row-count for upsert, delete

    XMLWordPrintableJSON

    Details

      Description

      1. prepare an upsert or delete

      request: {
        "request": "prepare",
        "connectionId": "c28224cd-a688-4117-af44-0d1510918bd8",
        "sql": "upsert into test.integer_table values ('test3', ?)",
        "maxRowCount": -1
      }
      

      Response:

      {
        "response": "prepare",
        "statement": {
          "connectionId": "36acc5c4-0136-874a-2fcf-a3ec747d7FD4",
          "id": 1532322378,
          "signature": {
            "columns": [
              
            ],
            "sql": "upsert into test.integer_table values ('test3', ?)",
            "parameters": [
              {
                "signed": false,
                "precision": 0,
                "scale": 0,
                "parameterType": 4,
                "typeName": "INTEGER",
                "className": "java.lang.Integer",
                "name": "?1"
              }
            ],
            "cursorFactory": {
              "style": "LIST",
              "clazz": null,
              "fieldNames": null
            }
          }
        }
      }
      

      2. execute by calling 'fetch' to Phoenix

      request: {
        "request": "fetch",
        "connectionId": "36acc5c4-0136-874a-2fcf-a3ec747d7FD4",
        "statementId": 1532322378,
        "parameterValues": [
          {
            "type": "INTEGER",
            "value": 1
          }
        ],
        "offset": 0,
        "fetchMaxRowCount": 100
      }
      

      Result:

      {
        "response": "fetch",
        "frame": {
          "offset": 0,
          "done": true,
          "rows": [
            
          ]
        }
      }
      

      using prepareAndExecute, we get back an update row-count, but prepareAndExecute cannot be used for parameterized statements

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              kliew Kevin Liew
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: