Overview Schemas Index

ISO13584_EXPRESSIONS_SCHEMA (jsdai.SIso13584_expressions_schema)


FUNCTION is_sql_mappable
          (arg : expression) : BOOLEAN;

 LOCAL i : INTEGER ; END_LOCAL ; IF  'iso13584_expressions_schema.simple_numeric_expression' IN  TYPEOF  ( arg ) THEN  RETURN  ( TRUE  ) ; END_IF  ; IF  'iso13584_expressions_schema.sql_mappable_defined_function' IN  TYPEOF  ( arg ) THEN  RETURN  ( TRUE  ) ; END_IF  ; IF  'iso13584_expressions_schema.minus_function' IN  TYPEOF  ( arg ) THEN  RETURN  ( is_sql_mappable ( arg \ unary_numeric_expression . operand ) ) ; END_IF  ; IF  ( 'iso13584_expressions_schema.abs_function' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.sin_function' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.cos_function' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.tan_function' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.asin_function' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.acos_function' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.atan_function' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.exp_function' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.log_function' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.log2_function' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.log10_function' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.square_root_function' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.value_function' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.length_function' IN  TYPEOF  ( arg ) ) THEN  RETURN  ( FALSE  ) ; END_IF  ; IF  ( 'iso13584_expressions_schema.plus_expression' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.mult_expression' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.maximum_function' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.minimum_function' IN  TYPEOF  ( arg ) ) THEN  REPEAT  i := 1 TO  SIZEOF  ( arg \ multiple_arity_numeric_expression . operands ) ; IF  NOT  is_sql_mappable ( arg \ multiple_arity_numeric_expression . operands [ i ] ) THEN  RETURN  ( FALSE  ) ; END_IF  ; END_REPEAT  ; RETURN  ( TRUE  ) ; END_IF  ; IF  ( 'iso13584_expressions_schema.minus_expression' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.slash_expression' IN  TYPEOF  ( arg ) ) THEN  RETURN  ( is_sql_mappable ( arg \ binary_numeric_expression . operands [ 1 ] ) AND  is_sql_mappable ( arg \ binary_numeric_expression . operands [ 2 ] ) ) ; END_IF  ; IF  ( 'iso13584_expressions_schema.div_expression' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.mod_expression' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.power_expression' IN  TYPEOF  ( arg ) ) THEN  RETURN  ( FALSE  ) ; END_IF  ; IF  'iso13584_expressions_schema.simple_boolean_expression' IN  TYPEOF  ( arg ) THEN  RETURN  ( TRUE  ) ; END_IF  ; IF  'iso13584_expressions_schema.not_expression' IN  TYPEOF  ( arg ) THEN  RETURN  ( is_sql_mappable ( arg \ unary_generic_expression . operand ) ) ; END_IF  ; IF  ( 'iso13584_expressions_schema.odd_function' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.xor_expression' IN  TYPEOF  ( arg ) ) THEN  RETURN  ( FALSE  ) ; END_IF  ; IF  ( 'iso13584_expressions_schema.and_expression' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.or_expression' IN  TYPEOF  ( arg ) ) THEN  REPEAT i := 1 TO SIZEOF ( arg \ multiple_arity_boolean_expression . operands ) ; IF  NOT is_sql_mappable ( arg \ multiple_arity_boolean_expression . operands [ i ] ) THEN  RETURN  ( FALSE  ) ; END_IF  ; END_REPEAT ; RETURN  ( TRUE  ) ; END_IF  ; IF  'iso13584_expressions_schema.equals_expression' IN  TYPEOF  ( arg ) THEN  RETURN  ( is_sql_mappable ( arg \ binary_generic_expression . operands [ 1 ] ) AND  is_sql_mappable ( arg \ binary_generic_expression . operands [ 2 ] ) ) ; END_IF  ; IF  ( 'iso13584_expressions_schema.comparison_equal' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.comparison_greater' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.comparison_greater_equal' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.comparison_less' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.comparison_less_equal' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.comparison_not_equal' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.like_expression' IN  TYPEOF  ( arg ) ) THEN  RETURN  ( is_sql_mappable ( arg \ comparison_expression . operands [ 1 ] ) AND  is_sql_mappable ( arg \ comparison_expression . operands [ 2 ] ) ) ; END_IF  ; IF  'iso13584_expressions_schema.interval_expression' IN  TYPEOF  ( arg ) THEN  RETURN  ( is_sql_mappable ( arg \ interval_expression . interval_low ) AND  is_sql_mappable ( arg \ interval_expression . interval_high ) AND is_sql_mappable ( arg \ interval_expression . interval_item ) ) ; END_IF  ; IF  ( 'iso13584_expressions_schema.numeric_defined_function' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.boolean_defined_function' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.string_defined_function' IN  TYPEOF  ( arg ) ) THEN  RETURN  ( FALSE  ) ; END_IF  ; IF  'iso13584_expressions_schema.simple_string_expression' IN  TYPEOF  ( arg ) THEN  RETURN  ( TRUE ) ; END_IF  ; IF ( 'iso13584_expressions_schema.index_expression' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.substring_expression' IN  TYPEOF  ( arg ) ) OR  ( 'iso13584_expressions_schema.concat_expression' IN  TYPEOF  ( arg ) ) OR ( 'iso13584_expressions_schema.format_function' IN TYPEOF ( arg ) ) THEN RETURN  ( FALSE  ) ; END_IF ; RETURN ( FALSE ) ; 

END_FUNCTION; -- is_sql_mappable

public class FIs_sql_mappable
          public static Value run(SdaiContext _context, Value arg)