Congratulations about ICU addoption + request to not stop there!
Hi DAW,
I was not able yet to play too much with DF-2020, as I am waiting for db2 support. But I saw something really really nice in the [URL="https://www.dataaccess.eu/Working-with-the-DataFlex-2020-Technology-Preview.pdf-f736"]"Working with DF 2020 Tech preview"[/URL] pdf document, and would like to make my appreciation, public!
It's about the collating subject..
I got really happy and surprised when I read that [URL="http://site.icu-project.org/"]ICU library[/URL] was adopted and being used by DF to handle the unicode collating algorithms.
So long, [I]farewell[/I], [I]auf Wiedersehen [/I] , goodbye[B] [I]df_collate.cfg [/I][/B]! oh Yeah!!! woohoo!
Congrats, and Congrats !!
And, not only that.. DAW have also made the 1st step to make it work on every locale..
[QUOTE] Multiple collations are supported and can be configured via the new DF_LOCALE_CODE string attribute. This global attribute defaults to the language of the operating system. It can be changed at runtime and it is configured using ISO639 language codes. [/QUOTE]
+1 on this as well. !!!
---------------------------
Now, the request!
That's all wonderful, but not enough to handle all cases.
We all know the importance of matching the language collating sequence with the collating used by the backend database.
So, just giving us an option to use locale specific algorithms on ICU library does not cover every use case. MSSQL collating supports different locales, and if its case sensitive or not.
DB2 got even further, (by the way, several IBM and Microsoft products, like DB2, and a lot of other important It vendors uses ICU library as well , you can see the list in the ICU main page)
On DB2 we can change/specify all ICU collating attributes , like normalization, Strength, Case level, etc...
For example: A DB2 db supports collating with Strength level 1, instead of level 3 (which is the default) . What Does it mean ? It means that not only case sentivite is disabled, but also that accented character (an issue that most of US developers "don't really care" about) should have the same weight as the regular characters.
In other words..
Strength 1 results in [B]Joćo = JOAO = joao = jOĆo
[/B]They are all the same.
------------------
So my request is , "Please DAW, don't stop there!" allowing us to choose the locale is good, but not enough! Please, expose as well the other attributes. This way, a developer could have more flexibility in order to mach as much as possible the collation used by their dbms on backend.
For DB2, as ICU is used as well, there is a great chance of 100% match!
For others reading this, and have no idea on what I am talking about,, take a look at [URL="http://demo.icu-project.org/icu-bin/collation.html"]ICU collating demo page[/URL], and play a bit by changing the attributes on top-right corner.
Regards
1 Attachment(s)
Re: Congratulations about ICU addoption + request to not stop there!
Hi Samuel,
The documentation for DF_LOCALE_CODE is still bit limited at the moment. But the string is basically passed into ICU to create a collator. So it supports all kinds of attributes. I recreated the collating demo in DataFlex, see the attached view, to get an idea of how this can be done in DataFlex. Not that ICU supports bot the old style syntax (which my demo actually uses 'nl_NL@colCaseFirst=upper') and the newer syntax (nl-u-kf-upper). See [url]http://cldr.unicode.org/core-spec[/url] for specs on what can be set.
[ATTACH]13416[/ATTACH]
Re: Congratulations about ICU addoption + request to not stop there!
Hi Harm
Sweet ! that's really wonderful.
Again, congratulations on DAW and specially to the team involved on this.
Uhullll OMG, I cant believe I am seeing this.. I am crying over here!
hehehe
1 Attachment(s)
Re: Congratulations about ICU addoption + request to not stop there!
Ok.
Update 2. I have updated to tech-preview release 2 20.0.2.27 build, but there are still issues with some chars..
[ATTACH=CONFIG]13418[/ATTACH]
Regards
Re: Congratulations about ICU addoption + request to not stop there!
Samuel,
We noticed that as well. We're looking into it.
Re: Congratulations about ICU addoption + request to not stop there!
I think it has to do with the font not being able to render those characters..
Re: Congratulations about ICU addoption + request to not stop there!
yeah.. that's another unicode challenge..
fonts does not implement the entire char-set..
What a complicated unified world!