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 "Working with DF 2020 Tech preview" 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 ICU library was adopted and being used by DF to handle the unicode collating algorithms.

So long, farewell, auf Wiedersehen , goodbye df_collate.cfg ! oh Yeah!!! woohoo!

Congrats, and Congrats !!

And, not only that.. DAW have also made the 1st step to make it work on every locale..
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.
+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 João = JOAO = joao = jOÃo
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 ICU collating demo page, and play a bit by changing the attributes on top-right corner.