[Dbix-class] DBIx::Class, another data validation approach

Alexander Hartmaier alexander.hartmaier at t-systems.at
Tue Jul 28 08:59:42 GMT 2009


Am Dienstag, den 28.07.2009, 00:29 +0200 schrieb Rob Kinyon:
> On Thu, Jul 23, 2009 at 08:28, Alexander
> Hartmaier<alexander.hartmaier at t-systems.at> wrote:
> > The DBMS validates data types, length, undef and foreign keys anyway, so
> > maybe using it as validator (parse its error messages) is a possibility?
>
> The problem is that many DBMSes do -NOT- validate things sanely -
> SQLite and MySQL being the biggest offenders, though every DBMS has
> its problems. Oracle, for example, in 9.2.0.3 had an issue where
> certain invalid datetime entries were accepted. Furthermore, part of
> the benefit of an ORM is that it is DBMS-independent - I want to know
> that the same value restrictions are going to be maintained regardless
> of backend.
>
> And, finally, the biggest win for validation is things that DBMSes
> cannot do. For example, a SMALLINT that, for business reasons, has to
> be within 20 of another column. How do you express that constraint in
> a DBMS-independent fashion?
>
> I, for one, cannot wait for our new Moose overlords!
>
> Rob
I didn't mean that we don't need business logic or extended validation,
but use the basic validation the db does anyway instead of cloning it
which could lead to different checks and a performance penalty (i had to
disable validation for an app that inserts lots of data because it
wasn't fast enough).

If a specific db (version) is buggy we can warn the user and suggest an
upgrade.

--
BR Alex


*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*
T-Systems Austria GesmbH   Rennweg 97-99, 1030 Wien
Handelsgericht Wien, FN 79340b
*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*
Notice: This e-mail contains information that is confidential and may be privileged.
If you are not the intended recipient, please notify the sender and then
delete this e-mail immediately.
*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*



More information about the DBIx-Class mailing list