View Issue Details

IDProjectCategoryView StatusLast Update
000951810000-004: ServicesSpecpublic2024-04-23 16:25
Reporterjpfr Assigned ToPaul Hunkar  
PrioritynormalSeverityminorReproducibilityN/A
Status assignedResolutionopen 
Product Version1.05.03 
Summary0009518: Automatic Cast to Boolean in EventFilters
Description

The logical operators in an EventFilter where-clause use three distinct truth values, TRUE, FALSE and NULL (cf. Part 4, Table 127 and 128).

TRUE and FALSE are Booleans whereas NULL is indicated by an empty variant.
Part 4 further describes casting to Boolean.
Implicit casting is only possible from String to Boolean (e.g. "false" -> FALSE).
Explicit casting is possible from any numerical type to Boolean (e.g. x != 0 -> TRUE).

In our implementation, we are unsure of the casting rules when calling a logical operator with a non-Boolean.
The standards speaks of an "operand that resolves to a Boolean".

NOT TRUE -> FALSE
NOT NULL -> NULL
NOT "true" -> ???
NOT 1 -> ???
NOT ns=1;i=123 -> ???

Does resolving to a Boolean include automatic casting and also casting of numericals (explicit).
Also, a NULL value is considered an "empty value". Does that mean any non-empty value is non-NULL and resolves to TRUE?

The EventFilter operators that need clarification are AND/OR/NOT/ISNULL.

TagsNo tags attached.
Commit Version
Fix Due Date

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2024-04-09 08:50 jpfr New Issue
2024-04-23 16:25 Jim Luth Assigned To => Paul Hunkar
2024-04-23 16:25 Jim Luth Status new => assigned