使用 SET ENVIRONMENT 的 SELECT_GRID_ALL 选项来为网格查询定义缺省的 GRID
子句。此子句指定缺省的网格或区域,从其来返回等同于来自参与的网格服务器的符合条件的行的逻辑 UNION ALL 结果集。
SELECT_GRID_ALL 会话环境选项可设置为任意三个值:
- ’grid’
- 这指定缺省的网格,不包括 GRID 子句的 SELECT 语句可从其返回结果集,该结果集是来自指定的 grid 中的所有参与的网格服务器的符合条件值的逻辑
UNION ALL,包括重复的值。在 SET ENVIRONMENT 语句的 SELECT_GRID 选项设置为网格的名称时,发出 SET ENVIRONMENT
SELECT_GRID_ALL ’grid’ 语句的数据库服务器将所有查询翻译为 UNION ALL
网格查询。
- ’region’
- 这指定缺省的区域,不包括 GRID 子句的 SELECT 语句从其返回结果集,该结果集是来自指定的区域中的所有参与的网格服务器的符合条件的值的逻辑 UNION
ALL,包括重复的值。在 SET ENVIRONMENT 语句的 SELECT_GRID 选项设置为区域的名称时,发出 SET ENVIRONMENT
SELECT_GRID_ALL ’region’ 语句的数据库服务器将所有查询翻译为 UNION ALL
网格查询。
- DEFAULT
- 此设置指定缺省的行为。在 SET ENVIRONMENT 语句的 SELECT_GRID_ALL 选项设置为 DEFAULT 时,数据库服务器不将每个没有 GRID
子句的查询作为网格查询处理。因此,DEFAULT 设置指定没有 SELECT 语句的缺省的 GRID 子句。使用此选项来禁用先前的 SET ENVIRONMENT
SELECT_GRID 或 SET ENVIRONMENT SELECT_GRID_ALL 语句的作用,该语句为不包括 GRID 子句的所有查询定义了缺省的 GRID
子句。
SET ENVIRONMENT 语句的 SELECT_GRID 与 SELECT_GRID_ALL 选项是相互排他的。在您发出 SET ENVIRONMENT
SELECT_GRID_ALL 或 SET ENVIRONMENT SELECT_GRID
语句之后,在相同的会话中发出任一语句的不同选项,会取代为网格查询作为服务器行为建立的任何先前的 ENVIRONMENT SELECT_GRID_ALL 或 SET
ENVIRONMENT SELECT_GRID 语句。
在 SELECT_GRID_ALL 会话环境变量设置为 ON 时,请不要调用 ifx_gridquery_skipped_nodes() 函数。
在网格上下文之外,SELECT_GRID_ALL 会话环境选项不应设置为 ’grid’ 或 ’region’。要获取更多关于网格的信息,请参阅 GRID 子句 和 GBase 8s Enterprise
Replication 指南。