If your usernames (or keyString) are case insensitive, store them in a 
normalized case (in lowercase for exemple). 

You can add an overridden 
public void setKeyString(String value) {
        if (value != null) {
                value = value.toLowerCase();
        }
        super.setKeyString(value);
}

You may also specify a collation to the column in the database if you want to 
preserve case but index and compare as case insensitive.

Samuel

> Le 23 nov. 2021 à 17:26, Jesse Tayler via Webobjects-dev 
> <webobjects-dev@lists.apple.com> a écrit :
> 
> 
> 
>> On Nov 23, 2021, at 5:17 PM, Paul Hoadley <pa...@logicsquad.net 
>> <mailto:pa...@logicsquad.net>> wrote:
>> 
>> Are you able to paste in some code? There's probably a solution, but this is 
>> getting a bit hard to follow in the abstract.
>> 
> 
> So, I fetch first
> 
>               EOQualifier qual = 
> DataPoint.TYPE.eq("twitter").and(DataPoint.KEY_STRING.likeInsensitive(username));
> 
> If there’s no EO, I create and save right away but at high volumes this 
> CREATE statement must create only unique entries and those entries must match 
> this qualifier which uses insensitive case
> 
> I figure the pattern should be to create an object with a DB level constraint 
> such that a duplicate raises an error, upon catching that error, I can simply 
> fetch again and return the one, single EO representing that record
> 
> When I tried regular constraints I did not see a way to replicate the 
> required logic, so I found some advise about triggers and some other things I 
> didn’t fully understand.
> 
> I realize usernames generally have this kind of issue, so I figure this is a 
> design pattern that is hardly unique to us and I should get advice!
> 
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/samuel%40samkar.com
> 
> This email sent to sam...@samkar.com

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to