NEGATOR 修饰符

NEGATOR 修饰符是用于布尔函数的变量。如果两个布尔函数的参数相同,顺序相同,且返回互补的布尔值,则它们是否定函数

例如,如果 a 等于 b,则函数 equal(a,b) 返回 TRUE,而如果 a 等于 b,则 notequal(a,b) 返回 FALSE,二者是否定函数。如果您指定的否定函数的执行成本低于原始的函数,则优化器可能选择执行该否定函数。

下图展示如何使用 CREATE FUNCTION 语句的 WITH 子句来指定否定函数。

图: 指定否定函数。

CREATE FUNCTION equal( a dtype1, b dtype2 )
          RETURNING BOOLEAN
          WITH ( NEGATOR = notequal );
          . . .
          END FUNCTION;
提示: 在缺省情况下,任何 SPL 例程都可处理在参数列表中传给其的 NULL 值。换言之,对于 SPL 例程,将 HANDLESNULLS 修饰符设置为 YES,且您不可更改它的值。

要获取关于 COMMUTATOR 和 NEGATOR 修饰符的更多信息,请参阅 GBase 8s SQL 指南:语法 中的 Routine Modifier 段。