Filtering
Fields can be filtered by adding a filter to the field name.
- Filters are case insensitiv.
- Arguments are separated by whitespace.
- Strings and enum arguments are enclosed with single quotes.
- Boolean arguments are expressed with numbers 0 and 1.
Filter operations
| Toql | Operation | Example | SQL MySQL |
|---|---|---|---|
| eq | equal | age eq 50 | age = 50 |
| eqn | equal null | age eqn | age IS NULL |
| ne | not equal | name ne 'foo' | name <> 'foo' |
| nen | not equal null | age nen | age IS NOT NULL |
| gt | greater than | age gt 16 | age > 16 |
| ge | greater than or equal | age ge 16 | age >= 16 |
| lt | less than | age lt 16 | age < 16 |
| le | less than or equal | age le 16 | age <= 16 |
| bw | between | age bw 16 20 | age BETWEEN 16 AND 20 |
| in | includes | name in 'Peter' 'Susan' | name in ('Peter, 'Susan') |
| out | excludes | age out 1 2 3 | name not in (1, 2, 3) |
| re | matches regular expression | name re ".*" | name REGEXP '.*' |
| fn | custom function | search fn ma 'arg1' | depends on implementation |
Custom functions
Custom functions are applied through the FN filter. They must be handled by a Field Handler. See API for details.