Boolean Rules

A Boolean expression is an OR-conjunction of one or more AND-conjunctions. <Boolean Exp> consists of one of these:

<And Exp>

<And Exp> OR <Boolean Exp>

An AND expression is an AND-conjunction of one or more negatable predicates. <And Exp> consists of one of these:

<Not Exp>

<Not Exp> AND <And Exp>

A NOT expression is a negatable predicate. <Not Exp> consists of one of these:

NOT <Predicate>

<Predicate>

A predicate consists of one of these:

  • A comparison of like-typed expressions

  • A call to a Boolean function

  • A Boolean sub-expression enclosed in parentheses

<Predicate> consists of one of these:

<String Exp> LIKE <String Exp>

<String Exp> IN <Scalar Tuple>

<String Exp> : <Scalar Tuple>

<String Exp> !: <Scalar Tuple>

<String Exp> = <String Exp>

<String Exp> <> <String Exp>

<String Exp> != <String Exp>

<String Exp> > <String Exp>

<String Exp> >= <String Exp>

<String Exp> < <String Exp>

<String Exp> <= <String Exp>

<String Exp> LIKE <Typeless Exp>

<String Exp> = <Typeless Exp>

<String Exp> <> <Typeless Exp>

<String Exp> != <Typeless Exp>

<String Exp> > <Typeless Exp>

<String Exp> >= <Typeless Exp>

<String Exp> < <Typeless Exp>

<String Exp> <= <Typeless Exp>

<Typeless Exp> LIKE <String Exp>

<Typeless Exp> = <String Exp>

<Typeless Exp> <> <String Exp>

<Typeless Exp> != <String Exp>

<Typeless Exp> > <String Exp>

<Typeless Exp> >= <String Exp>

<Typeless Exp> < <String Exp>

<Typeless Exp> <= <String Exp>

<Date Exp> IN <Scalar Tuple>

<Date Exp> : <Scalar Tuple>

<Date Exp> !: <Scalar Tuple>

<Date Exp> = <Date Exp>

<Date Exp> <> <Date Exp>

<Date Exp> != <Date Exp>

<Date Exp> > <Date Exp>

<Date Exp> >= <Date Exp>

<Date Exp> < <Date Exp>

<Date Exp> <= <Date Exp>

<Date Exp> = <Typeless Exp>

<Date Exp> <> <Typeless Exp>

<Date Exp> != <Typeless Exp>

<Date Exp> > <Typeless Exp>

<Date Exp> >= <Typeless Exp>

<Date Exp> < <Typeless Exp>

<Date Exp> <= <Typeless Exp>

<Typeless Exp> = <Date Exp>

<Typeless Exp> <> <Date Exp>

<Typeless Exp> != <Date Exp>

<Typeless Exp> > <Date Exp>

<Typeless Exp> >= <Date Exp>

<Typeless Exp> < <Date Exp>

<Typeless Exp> <= <Date Exp>

<Numeric Exp> IN <Scalar Tuple>

<Numeric Exp> : <Scalar Tuple>

<Numeric Exp> !: <Scalar Tuple>

<Numeric Exp> = <Numeric Exp>

<Numeric Exp> <> <Numeric Exp>

<Numeric Exp> != <Numeric Exp>

<Numeric Exp> > <Numeric Exp>

<Numeric Exp> >= <Numeric Exp>

<Numeric Exp> < <Numeric Exp>

<Numeric Exp> <= <Numeric Exp>

<Numeric Exp> = <Typeless Exp>

<Numeric Exp> <> <Typeless Exp>

<Numeric Exp> != <Typeless Exp>

<Numeric Exp> > <Typeless Exp>

<Numeric Exp> >= <Typeless Exp>

<Numeric Exp> < <Typeless Exp>

<Numeric Exp> <= <Typeless Exp>

<Typeless Exp> = <Numeric Exp>

<Typeless Exp> <> <Numeric Exp>

<Typeless Exp> != <Numeric Exp>

<Typeless Exp> > <Numeric Exp>

<Typeless Exp> >= <Numeric Exp>

<Typeless Exp> < <Numeric Exp>

<Typeless Exp> <= <Numeric Exp>

<Typeless Exp> IN <Scalar Tuple>

<Typeless Exp> : <Scalar Tuple>

<Typeless Exp> !: <Scalar Tuple>

<Typeless Exp> = <Typeless Exp>

<Typeless Exp> <> <Typeless Exp>

<Typeless Exp> != <Typeless Exp>

<Typeless Exp> > <Typeless Exp>

<Typeless Exp> >= <Typeless Exp>

<Typeless Exp> < <Typeless Exp>

<Typeless Exp> <= <Typeless Exp>

TRUE

FALSE

ANYHANDLERSFAILED ( )

HANDLERSYNCHRONOUS ( )

HANDLERSUSPENDS ( )

HANDLERTRANSACTIONAL ( )

HANDLERIGNORESFAILURE ( )

VOTINGDISPARITY (<EventActionRef>)

VOTINGTIE (<EventActionRef>)

HASBEGUN (<EventActionRef>)

HASFINISHED (<EventActionRef>)

INSIDEDATABASE ( )

PROPERTYMODIFIED (<String Exp>)

PROPERTYMODIFIED (<Typeless Exp>)

Sub-expression:

(<Boolean Exp>)