Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

jooq mở rộng phương ngữ hiện có. Áp dụng phương ngữ MySQL cho phương ngữ apache Hive

Thật không may, việc mở rộng jOOQ để hỗ trợ triệt để một phương ngữ SQL mới không đơn giản lắm. API của jOOQ đã phát triển rộng rãi theo thời gian, hỗ trợ một loạt các biến thể cú pháp SQL tiêu chuẩn và dành riêng cho nhà cung cấp. Mặc dù phương ngữ Apache Hive có thể giống với MySQL, nhưng có lẽ có rất nhiều sự khác biệt nhỏ cần được triển khai trong nội bộ của jOOQ. Việc triển khai khác nhau của mệnh đề LIMIT .. OFFSET chỉ là một vấn đề. Điều đó nói rằng, nhìn chung không phải là ý kiến ​​hay khi sử dụng jOOQ với phương ngữ "không xác định" hoặc "không được hỗ trợ".

Giải pháp:Trong ngắn hạn

Trong ngắn hạn, bạn có thể sẽ phải vá lỗi SQL được kết xuất của jOOQ. Kỹ thuật tốt nhất cho việc này là sử dụng ExecuteListener như được nêu ở đây:

Khi nhận được sự kiện "renderEnd ()", bạn sẽ có thể truy cập vào SQL được kết xuất và sửa đổi nó bằng cách sử dụng biểu thức chính quy hoặc bất kỳ kỹ thuật nào bạn có thể thích.

Giải pháp:Về lâu dài

Về lâu dài, có thể có giải pháp tốt hơn nếu / khi # 2337 được triển khai (nhưng chúng tôi có thể sẽ không triển khai điều đó)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để thay đổi tất cả các bảng trong cơ sở dữ liệu của tôi để sử dụng AUTO_INCREMENT =1

  2. Thiết kế cơ sở dữ liệu, các mục trong danh mục, danh mục phụ &chủ đề

  3. Tôi có nên thoát một giá trị số nguyên mong đợi bằng cách sử dụng mysql_real_escape_string hay tôi có thể chỉ sử dụng (int) $ allowinteger không

  4. 'pip install MySQL-python' không thành công với 'IndexError'

  5. Không thể tải lớp trình điều khiển:com.mysql.jdbc.Driver Spring Boot