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)