Checking function parameters in Phobos

Marco Leise Marco.Leise at gmx.de
Mon Nov 25 04:25:26 PST 2013


Am Wed, 20 Nov 2013 16:26:59 -0800
schrieb Walter Bright <newshound2 at digitalmars.com>:

> Utf validation isn't the only form of validation for strings. You could, for 
> example, validate that the string doesn't contain SQL injection code, or 
> contains a correctly formatted date, or has a name that is guaranteed to be in 
> your employee database, or is a valid phone number, or is a correct email 
> address, etc.
> 
> Again, validation is not defined by D, it is defined by the constraints YOUR 
> PROGRAM puts on it.

A checked type for database access goes a bit beyond the scope
of the proposal. You'd need to encapsulate a transaction that
needs to be working on a snapshot of the database state and
fail if data changed in another transaction.
Otherwise you could validate a name against the database just
before someone else deletes it and thus invalidates the string.

With a DB transaction wrapped in the validation, assignment
between two "validated" strings becomes a pretty sophisticated
runtime action, while the original proposals evolved around
validation functions that can be pure. /This allows us to assign
one validated string type to another with no runtime overhead./

-- 
Marco



More information about the Digitalmars-d mailing list