ГОСТ Р ИСО 13584-20—2006
IF;
END IF;
IF (’IS013584_EXPRESSI0NS_SCHEMA.AND_EXPRESSI0N‘ IN TYPEOF(arg))
OR (’IS013584_EXPRESSI0NS_SCHEMA.0R_EXPRESSI0N’ IN TYPEOF(arg))
THEN
REPEAT i:=1 TO SIZEOF(
arg\MULTIPLE_ARITY_BOOLEAN_EXPRESSION.OPERANDS);
IF NOTis_SQL_mappable (
arg\MULTIPLE_ARITY_BOOLEAN_EXPRESSION.OPERANDS[i])
THEN
E
ND
RETURN (FALSE);
END_REPEAT;
RETURN (TRUE);
END IF;
IF’IS013584_EXPRESSI0NS_SCHEMA.EQUALS_EXPRESSI0N’ INTYPEOF(arg)
THEN
RETURN (is_SQL_mappable (
arg\BINARY_GENERIC_EXPRESSION.OPERANDS[1])
AND is_SQL_mappable(
E
ND IF;
arg\BINARY_GENERIC_EXPRESSION.OPERANDS[2)));
IF (’IS013584_EXPRESSI0NS_SCHEMA.C0MPARIS0N_EQUAL’ INTYPEOF(arg))
OR (’IS013584_EXPRESSIONS_SCHEMA.COMPARISON_GREATER’
IN TYPEOF(arg))
OR (’IS013584_EXPRESSI0NS_SCHEMA.C0MPARIS0N_GREATER_EQUAL’
IN TYPEOF(arg))
0R(’IS013584_EXPRESSI0NS_SCHEMA.C0WPARIS0N_LESS’
IN TYPEOF(arg))
OR (’IS013584_EXPRESSI0NS_SCHEMA.C0MPARIS0N_LESS_EQUAL’
IN TYPEOF(arg))
OR (’IS013584 EXPRESSI0NS SCHEMA.COMPARISON_NOT_EQUAL’
IN TYPEOF(arg))
OR (’IS013584_EXPRESSI0NS_SCHEMA.UKE_EXPRESSI0N’
IN TYPEOF(arg))
THEN
RETURN (is_SQL_mappable (arg\COMPARISON_EXPRESSION.OPERANDS(1))
AND is_SQL_mappable (arg\COMPARISON_EXPRESSION.OPERANDS(2D);
ENDJF;
IF’IS013584_EXPRESSI0NS SCHEMA.INTERVAL_EXPRESSION’ IN TYPEOF(arg)
THEN
RETURN (is_SQL_mappable(arg\interval_expression.interva!_low)
AND is_SQL_mappable{arg\interval_expression.interval_high)
AND is_SQL_mappable(arg\interval_expression.intervalJtem));
ENDJF;
IFCIS013584_EXPRESSI0NS_SCHEMA.NUMERIC_DEFINED_FUNCTI0N-
INTYPEOF(arg))
OR (’IS013584_EXPRESSIONS_SCHEMA.BOOLEANJ)EFINEDJUNCTION1
INTYPEOF(arg))
0R(’IS013584_EXPRESSI0NS_SCHEMA.STRING_DEFINED_FUNCTI0N’
IN TYPEOF(arg))
THEN
RETURN (FALSE);
ENDJF;
(* Предполагается, что всеопределенные функции не являются отображаемыми наязыке SQL *)
IF’IS013584_EXPRESSI0NS_SCHEMA.S!MPLE_STRING_EXPRESSI0N’
IN TYPEOF(arg)
THEN
RETURN (TRUE);
41