Hi Maik
As you state enforcing case insensitive uniqueness is what I'm going for so I 
think your suggestion looks good for me. 

Jeff

Sent from my iPhone

> On Mar 27, 2017, at 8:26 AM, Musall, Maik <m...@selbstdenker.ag> wrote:
> 
> Hi Samuel,
> 
> good point. I would still try to put everything into one database function 
> that is used for that index. In that conversion function, you can make use of 
> the full feature set of your database, regardless of what application uses 
> it, because the application doesn't have to know the syntax or anything. And 
> you could also customize this a bit more, and make more exceptions.
> 
> For example, there are languages with other variantions on this than just 
> diacritics. Some consider certain sequences of characters as a single letter 
> that you might want to compare to one other letter, and so on. Totally 
> depends on the use case. With a function that you can tweak at any time (at 
> the cost of re-creating the index) you have the most control.
> 
> Besides, the question was for a UNIQUE index, which is typically not what you 
> would use for searches, so I'm not sure case insensitive searching is what 
> the original question was about. If that constraint is going to be used to 
> ensure that each name is contained only once in the table, then two names 
> with differing diacritics could very well be desired to be considered 
> different in that sense.
> 
> Maik
> 
> 
> 
>> Am 27.03.2017 um 15:04 schrieb Samuel Pelletier <sam...@samkar.com>:
>> 
>> Hi Maik,
>> 
>> Works great for english but usually not enough for french or other languages 
>> with accents. For example french Canadians expect case insensitive search 
>> and ordering to consider all the variants of e (eEéÉèÈêÊëË) equals same for 
>> c and ç, etc.
>> 
>> This varie with language and I think even with countries for the same 
>> language in some cases. This is why unicode created collations.
>> 
>> Samuel
>> 
>>> Le 27 mars 2017 à 04:52, Musall, Maik <m...@selbstdenker.ag> a écrit :
>>> 
>>> Hi,
>>> 
>>> I would just create a unique function based index, like this:
>>> 
>>> CREATE UNIQUE INDEX indexname ON MyTable( UPPER(columnName) );
>>> 
>>> No extensions required. Works with every RDBMS that supports function based 
>>> indexes.
>>> 
>>> Maik
>>> 
>>>> Am 27.03.2017 um 02:29 schrieb Paul Hoadley <pa...@logicsquad.net>:
>>>> 
>>>> Hi Jeff,
>>>> 
>>>> On 25 Mar 2017, at 04:16, Jeff Schmitz <jeffschm...@icloud.com> wrote:
>>>> 
>>>>> Just a quick question on how to create a case insensitive unique index in 
>>>>> an ERXMigration?
>>>> 
>>>> As Samuel mentioned, this is going to be database-dependent. We’ve been 
>>>> using PostgreSQL’s CITEXT type for a year or so now, and it works as 
>>>> designed. Because it’s an extension type, you need to run:
>>>> 
>>>> CREATE EXTENSION IF NOT EXISTS citext;
>>>> 
>>>> at some point—we do this in a migration upgrade(). You can then add and 
>>>> alter columns and add indexes in the usual way. There’s a brief discussion 
>>>> on performance here:
>>>> 
>>>> http://stackoverflow.com/questions/31133603/in-postgresql-weird-issue-about-citext-performance
>>>> 
>>>> though that’s not specific to indexing that column type.
>>>> 
>>>> (Finally, if you are using PostgreSQL, and you do need to add this 
>>>> extension to an existing database during a migration, there is a small 
>>>> issue with the JDBC info not being available to EOF quite early enough, 
>>>> which is easily fixed. I can dig up the thread if you need it.)
>>>> 
>>>> 
>>>> -- 
>>>> Paul Hoadley
>>>> http://logicsquad.net/
>>>> 
>>>> 
>>>> _______________________________________________
>>>> 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/maik%40selbstdenker.ag
>>>> 
>>>> This email sent to m...@selbstdenker.ag
>>> 
>>> _______________________________________________
>>> 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/jeffschmitz%40icloud.com
> 
> This email sent to jeffschm...@icloud.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