Mysql
 sql >> Database >  >> RDS >> Mysql

jooq estende il dialetto esistente. Adotta il dialetto MySQL per apache il dialetto Hive

Sfortunatamente, estendere jOOQ per supportare completamente un nuovo dialetto SQL non è molto semplice. L'API di jOOQ è cresciuta nel tempo, supportando un'ampia serie di varianti di sintassi SQL standard e specifiche del fornitore. Sebbene il dialetto Apache Hive possa sembrare simile a MySQL, ci sono probabilmente molte sottili differenze che dovrebbero essere implementate negli interni di jOOQ. La diversa implementazione della clausola LIMIT .. OFFSET è solo un problema. Detto questo, generalmente non è una buona idea usare jOOQ con un dialetto "sconosciuto" o "non supportato".

Soluzione:nel breve periodo

A breve termine, probabilmente dovrai applicare una patch all'SQL renderizzato di jOOQ. La tecnica migliore per questo è usare un ExecuteListener come documentato qui:

Dopo aver ricevuto un evento "renderEnd()", sarai in grado di accedere all'SQL renderizzato e modificarlo usando espressioni regolari o qualsiasi tecnica tu preferisca.

Soluzione:a lungo termine

A lungo termine, potrebbe esserci una soluzione migliore se / quando #2337 è implementato (ma probabilmente non lo implementeremo)