*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.17 1997/09/12 04:07:36 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.18 1997/09/22 04:19:36 vadim Exp $
*
*-------------------------------------------------------------------------
*/
* ----------------
*/
if (*isNull)
+ {
IsNull = *isNull;
+ /*
+ * Many functions don't (or can't!) check is an argument
+ * NULL or NOT_NULL and may return TRUE (1) with *isNull TRUE
+ * (an_int4_column <> 1: int4ne returns TRUE for NULLs).
+ * Not having time to fix function manager I want to fix
+ * OR: if we had 'x <> 1 OR x isnull' then TRUE, TRUE were
+ * returned by 'x <> 1' for NULL ... but ExecQualClause say
+ * that qualification *fails* if isnull is TRUE for all values
+ * returned by ExecEvalExpr. So, force this rule here: if isnull
+ * is TRUE then clause failed. Note: nullvalue() & nonnullvalue()
+ * always set isnull to FALSE for NULLs. - vadim 09/22/97
+ */
+ const_value = 0;
+ }
/* ----------------
* if we have a true result, then we return it.