更新时间:2025-10-28 GMT+08:00

获取Statement结果、执行状态

功能介绍

查询SQL语句执行结果。用户可通过该接口查询SQL语句执行结果,输入为端点id、SQL Session id、语句id,返回执行结果。此接口为同步接口,无配套使用接口和特殊场景。

URI

GET /v1/workspaces/{workspace_id}/sessions/{session_id}/statements/{statement_id}

表1 路径参数

参数

是否必选

参数类型

描述

workspace_id

String

参数解释:工作空间的ID。

约束限制:不涉及。

取值范围:长度为[1,36]的字母、数字、中划线(-)的组合。

默认取值:不涉及。

session_id

String

参数解释:SessionId的ID。

约束限制:不涉及。

取值范围:长度为[1,36]的字母、数字、中划线(-)的组合。

默认取值:不涉及。

statement_id

String

参数解释:statement id。

约束限制:不涉及。

取值范围:长度为[1,64]的字母、数字、中划线(-)和下划线(_)的组合。

默认取值:不涉及。

表2 Query参数

参数

是否必选

参数类型

描述

page_num

Integer

参数解释:查询页码。

约束限制:不涉及。

取值范围:[1,65535]。

默认取值:不涉及。

is_enable_obs_path

Boolean

参数解释:是否返回结果集的obs路径。

约束限制:不涉及。

取值范围:true:返回结果集的obs路径,false:返回结果集。

默认取值:不涉及。

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:租户token。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

-

String

SQL执行结果,可见下方响应示例。

StatementResponse

  • status(Integer) — 请求整体执行状态

    含义
    0 成功
    -1 失败
    1 执行中
    2 执行完成但无结果集
    3 排队等待中
    4 语句未正常执行
  • session_id(String, UUID) — 当前执行会话唯一标识

  • statement_id(String, UUID) — 本次语句执行唯一标识

  • results(Array of StatementResult objects) — 每条SQL执行结果

StatementResult

  • status(String) — SQL执行状态

    含义
    PGRES_TUPLES_OK 查询成功并含结果集
    PGRES_COMMAND_OK 执行成功无结果
    PGRES_FATAL_ERROR 执行失败
  • statement_id(String) — 语句ID

  • num_rows(Integer) — 查询结果总行数

  • row_count(Integer) — 当前页实际返回行数

  • page_no(Integer) — 当前页码

  • page_count(Integer) — 总页数

  • err_code(String) — 错误码,0表示无错误,其他数值参见错误信息

  • sql_state(String) — SQL 状态码

  • message(String) — 执行信息或错误详情

  • result_set(Object, type: StatementResultSet) — 仅查询成功时含有效数据,否则为空结构

StatementResultSet

  • columns(Array of RowType objects) — 列元数据列表

  • rows(Array of String arrays) — 实际数据行,每行顺序与columns对应

RowType

  • name(String) — 列名

  • table_id(Integer) — 表的ID

  • colunm_id(Integer) — 列的ID

  • format(Integer) — 格式

  • type(Integer) — PG类型OID

  • size(Integer) — 大小

  • type_mod(Integer) — typemod

状态码:400

表5 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:错误码。

约束限制:不涉及。

取值范围:长度[8,36]。

默认取值:不涉及。

error_msg

String

参数解释:错误描述。

约束限制:不涉及。

取值范围:长度[2,4096]。

默认取值:不涉及。

solution_msg

String

参数解释:解决方案描述。

约束限制:不涉及。

取值范围:长度[2,4096]。

默认取值:不涉及。

状态码:401

表6 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:错误码。

约束限制:不涉及。

取值范围:长度[8,36]。

默认取值:不涉及。

error_msg

String

参数解释:错误描述。

约束限制:不涉及。

取值范围:长度[2,4096]。

默认取值:不涉及。

solution_msg

String

参数解释:解决方案描述。

约束限制:不涉及。

取值范围:长度[2,4096]。

默认取值:不涉及。

状态码:404

表7 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:错误码。

约束限制:不涉及。

取值范围:长度[8,36]。

默认取值:不涉及。

error_msg

String

参数解释:错误描述。

约束限制:不涉及。

取值范围:长度[2,4096]。

默认取值:不涉及。

solution_msg

String

参数解释:解决方案描述。

约束限制:不涉及。

取值范围:长度[2,4096]。

默认取值:不涉及。

状态码:408

表8 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:错误码。

约束限制:不涉及。

取值范围:长度[8,36]。

默认取值:不涉及。

error_msg

String

参数解释:错误描述。

约束限制:不涉及。

取值范围:长度[2,4096]。

默认取值:不涉及。

solution_msg

String

参数解释:解决方案描述。

约束限制:不涉及。

取值范围:长度[2,4096]。

默认取值:不涉及。

状态码:500

表9 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:错误码。

约束限制:不涉及。

取值范围:长度[8,36]。

默认取值:不涉及。

error_msg

String

参数解释:错误描述。

约束限制:不涉及。

取值范围:长度[2,4096]。

默认取值:不涉及。

solution_msg

String

参数解释:解决方案描述。

约束限制:不涉及。

取值范围:长度[2,4096]。

默认取值:不涉及。

请求示例

查询SQL语句执行结果。用户可通过该接口查询SQL语句执行结果,输入为端点id、SQL Session id、语句id,返回执行结果。此接口为同步接口,无配套使用接口和特殊场景。

GET https://endpoint/v1/workspaces/{workspace_id}/sessions/{session_id}/statements/{statement_id}

{ }

响应示例

状态码:200

OK

{
  "status" : 0,
  "session_id" : "6399466e-8908-4c9d-8399-48479c8b06f7",
  "statement_id" : "49131d25-1824-4f29-860c-832bdd19dfd3",
  "results" : [ {
    "status" : "PGRES_TUPLES_OK",
    "statement_id" : "49131d25-1824-4f29-860c-832bdd19dfd3",
    "num_rows" : 2,
    "row_count" : 2,
    "page_count" : 1,
    "page_no" : 1,
    "err_code" : "0",
    "sql_state" : "0",
    "message" : "",
    "result_set" : {
      "columns" : [ {
        "name" : "a",
        "table_id" : 2147483647,
        "column_id" : 1,
        "format" : 0,
        "type" : 23,
        "size" : 4,
        "type_mod" : -1
      }, {
        "name" : "b",
        "table_id" : 2147483647,
        "column_id" : 2,
        "format" : 0,
        "type" : 23,
        "size" : 4,
        "type_mod" : -1
      } ],
      "rows" : [ [ "1", "2" ], [ "1", "2" ] ]
    }
  } ]
}

状态码:400

BadRequest

{
  "error_code" : "common.01000001",
  "error_msg" : "failed to read http request, please check your input, code: 400, reason: Type mismatch., cause: TypeMismatchException"
}

状态码:401

Unauthorized

{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}

状态码:403

Forbidden

{
  "error" : {
    "code" : "403",
    "message" : "X-Auth-Token is invalid in the request",
    "title" : "Forbidden"
  },
  "error_code" : 403,
  "error_msg" : "X-Auth-Token is invalid in the request",
  "title" : "Forbidden"
}

状态码:404

NotFound

{
  "error_code" : "common.01000001",
  "error_msg" : "response status exception, code: 404"
}

状态码:408

Request Time-out

{
  "error_code" : "common.00000408",
  "error_msg" : "timeout exception occurred"
}

状态码:500

InternalServerError

{
  "error_code" : "common.00000500",
  "error_msg" : "internal error"
}

状态码

状态码

描述

200

OK

400

BadRequest

401

Unauthorized

403

Forbidden

404

NotFound

408

Request Time-out

500

InternalServerError

错误码

请参见错误码