Undefined

Most "proper" databases support the concept of undefined values, NULL or similar: Whatever the type of a field, there is something like a special value outside the range of all other possible values that can express the fact that currently the field holds no value.

In such a database - what maybe is quite a surprise - a boolean field has three possible states, not only two: It can hold the value True, the value False, or it can be Undefined, when you could say that it is not currently known whether it is true or false.

MoStacks does not support undefined values in general. While a text or a list field can be empty and thus be in a certain way "undefined", numerical, date, time and boolean fields always hold a certain value, at any time. E.g. you cannot empty a field of type Integer, you can only set the value to 0, and in MoStacks booleans are really always either "yes" or "no", "checked" or "not checked".

Undefined field values are not supported mostly for the following two reasons:

First, while NULL may be a beautiful concept of mathematical clarity that programmers easily understand, it may be hard to understand for the average target user of MoStacks, which is not a programmer.

Second, an attempt to implement undefined values ran into the difficulty that a number of Symbian/UIQ UI controls do not support them. The UIQ date control, for example, insists on holding a date, there is no way to say date not set.