spring-bootlocalecollationteiid

Teiid Springboot Starter Collation or Locale


Where can I set the locale for translators and what is the accepted format. E.g. I have seen instances where the locale is set as nl_NL, nl-NL. I want to force the locale of Teiid Springboot to be UTF-8 in order to make sure that ORDER BY clauses are correctly pushed down to the source. I figured that I have to set org.teiid.collationLocale, but the documentation for the correct locale points to an outdated Java 6 page. https://teiid.github.io/teiid-documents/master/sb/admin/System_Properties.html

We use the default Teiid Oracle translator and use Hikari for our datasources. The documentation of the translators points to setting the collation for translators in the execution factory; As far as I know we don't use those right now. https://teiid.github.io/teiid-documents/master/sb/dev/Translator_Capabilities.html

What are the steps I should take to force the locale for the engine to UTF-8 and do the same for the translators?

Note: we use a DDL with data wrappers to specify our connection to our Oracle sources.


Solution

  • There is no collation support directly on order by clauses. The best you can do is inform the engine (org.teiid.collationLocale property) what collation it should be using and set a collation execution property on each translator to inform the engine as to what the translator will use, then Teiid can choose not to push orderings if there is a mismatch.