Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

jooq memperluas dialek yang ada. Mengadopsi dialek MySQL ke dialek Apache Hive

Sayangnya, memperluas jOOQ untuk sepenuhnya mendukung dialek SQL baru tidaklah mudah. API jOOQ telah berkembang luas dari waktu ke waktu, mendukung serangkaian besar varian sintaks SQL standar dan khusus vendor. Meskipun dialek Apache Hive mungkin tampak mirip dengan MySQL, mungkin ada banyak perbedaan halus yang perlu diterapkan di internal jOOQ. Implementasi yang berbeda dari klausa LIMIT .. OFFSET hanya menjadi satu masalah. Oleh karena itu, umumnya bukan ide yang baik untuk menggunakan jOOQ dengan dialek "tidak dikenal" atau "tidak didukung".

Solusi:Dalam jangka pendek

Dalam jangka pendek, Anda mungkin harus menambal SQL yang dirender jOOQ. Teknik terbaik untuk ini adalah dengan menggunakan ExecuteListener seperti yang didokumentasikan di sini:

Setelah menerima acara "renderEnd()", Anda akan dapat mengakses SQL yang dirender dan memodifikasinya menggunakan ekspresi reguler atau teknik apa pun yang Anda inginkan.

Solusi:Dalam jangka panjang

Dalam jangka panjang, mungkin ada solusi yang lebih baik jika / ketika #2337 diimplementasikan (tetapi kami mungkin tidak akan mengimplementasikannya)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa kolom teks tidak dapat memiliki nilai default di MySQL?

  2. Cara melewatkan beberapa kolom ke variabel di php

  3. Apa perbedaan antara =null dan IS NULL?

  4. Perintah SQL antara dua tanggal untuk reservasi meja

  5. PHP - Memfilter berdasarkan nilai bidang MySQL