Re: Enforcing uniqueness of data
Re: Enforcing uniqueness of data
- Subject: Re: Enforcing uniqueness of data
- From: Chuck Hill <email@hidden>
- Date: Thu, 8 Sep 2005 10:42:14 -0700
On Sep 8, 2005, at 6:32 AM, email@hidden wrote:
Hi!
While the unique index is the fail safe method, I would augment it
with a check using a fetch specification during validateForSave().
That check should catch all duplicates except the ones created
simultaneously. You'll probably never run into the database
exception thrown by the unique index.
It is then OK to invest less effort in handling that specific
database exception. You might actually get away with catching just
any EOGeneralAdaptorException and showing a basic error message:
Failed to create the account. Please try again. If duplication
really was the problem, validateForSave will catch the mistake on
the next attempt.
Clever!
Chuck
Pierre
webobjects-dev-bounces+pierre.bernard=email@hidden wrote
on 09/07/2005 09:08:50 PM:
> Put a UNIQUE INDEX on the login field in the database table and then
> handle the error when changes are saved (try - catch). You will
get a
> general adaptor exception which you need to examine and check
that the
> error is caused by trying to insert a row which violates the unique
> key. This technique is useful and can also be used for unique
> combinations of attributes.
>
> On Sep 7, 2005, at 1:00 PM, Daniel Eggert wrote:
>
> > I need the login of my user EO to be unique. Since the login is
> > something the user enters, it is not the PK.
> >
> > How would I go about ensuring this? If I fetch from the
database and
> > then write if it is unique, someone might be able to write to the
> > database in the meantime.
> >
> > This post
> >
> > <http://lists.apple.com/archives/webobjects-dev/2004/Jun/
> > msg00249.html>
> > suggests locking. Is it a sane approach? How would I do such a
thing
> > with EOF?
> >
> > Thanks in advance.
> >
> > /Daniel
> >
> > _______________________________________________
> > Do not post admin requests to the list. They will be ignored.
> > Webobjects-dev mailing list (email@hidden)
> > Help/Unsubscribe/Update your Subscription:
> > email@hidden
> >
> > This email sent to email@hidden
> >
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
email@hidden
>
> This email sent to email@hidden
>
**********************************************************************
This email and any files transmitted with it are intended solely for
the use of the individual or entity to whom they are addressed.
If you have received this email in error please notify the sender
of this message. (email@hidden)
This email message has been checked for the presence of computer
viruses; however this protection does not ensure this message is
virus free.
Banque centrale du Luxembourg; Tel ++352-4774-1; http://www.bcl.lu
**********************************************************************
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40global-village.net
This email sent to email@hidden
--
Practical WebObjects - a book for intermediate WebObjects developers
who want to increase their overall knowledge of WebObjects, or those
who are trying to solve specific application development problems.
http://www.global-village.net/products/practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden