CLOSE_RESULTSET

关闭多个活动结果集 (MARS) 中的某一特定结果集,并释放其他结果集的 MARS 存储。

这是元函数。您必须在顶级 SELECT 语句中调用元函数。

行为类型

易变

语法

SELECT CLOSE_RESULTSET ('session_id', ResultSetID)

参数

session_id
指定包含要关闭的 ResultSetID 的多个活动结果集会话的字符串。
ResultSetID
指定要关闭哪些结果集的整数。

特权

无;但是,在不具备超级用户权限的情况下,您只能关闭您自己会话的结果。

示例

此示例显示了一个处于打开状态的 MARS 存储表。一个 session_id 目前处于打开状态,并在输出中显示一个结果集。

=> SELECT * FROM SESSION_MARS_STORE;
    node_name     |            session_id             | user_name | resultset_id | row_count | remaining_row_count | bytes_used
------------------+-----------------------------------+-----------+--------------+-----------+---------------------+------------
 v_vmart_node0001 | server1.company.-83046:1y28gu9    | dbadmin   |            1 |    318718 |              312718 |   80441904
(1 row)

关闭用户会话 server1.company.-83046:1y28gu9 和结果集 1:

=> SELECT CLOSE_RESULTSET('server1.company.-83046:1y28gu9', 1);
            close_resultset
-------------------------------------------------------------
 Closing result set 1 from server1.company.-83046:1y28gu9
(1 row)

再次查询 MARS 存储表,以了解当前状态。您可以看到,结果集 1 现已关闭:

SELECT * FROM SESSION_MARS_STORE;
    node_name     |            session_id             | user_name | resultset_id | row_count | remaining_row_count | bytes_used
------------------+-----------------------------------+-----------+--------------+-----------+---------------------+------------
(0 rows)