gpt4 book ai didi

mysql - jooq 扩展现有方言。采用 MySQL 方言到 apache Hive 方言

转载 作者:可可西里 更新时间:2023-11-01 14:46:01 27 4
gpt4 key购买 nike

我正在尝试使用 JOOQ 查询 Hive。Hive SQL 方言与 MySQL 方言相当接近。现在我遇到了这些问题:

  • Hive 支持 LIMIT N,不支持 LIMIT N OFFSET K. Dummy解决方案 - 覆盖 select.limit(limit);

在 JOOQ 中解决此类问题的最佳实践是什么?

最佳答案

不幸的是,扩展 jOOQ 以完全支持新的 SQL 方言并不是很简单。 jOOQ 的 API 随着时间的推移得到了扩展,支持大量标准和特定于供应商的 SQL 语法变体。虽然 Apache Hive 方言可能看起来与 MySQL 相似,但可能存在许多需要在 jOOQ 内部实现的细微差别。 LIMIT .. OFFSET 子句的不同实现只是一个问题。也就是说,将 jOOQ 与“未知”或“不受支持”的方言一起使用通常不是一个好主意。

解决方案:短期内

在短期内,您可能需要修补 jOOQ 呈现的 SQL。最好的技术是使用此处记录的 ExecuteListener:

收到“renderEnd()”事件后,您将能够访问呈现的 SQL 并使用正则表达式或您可能喜欢的任何技术对其进行修改。

解决方案:从长远来看

从长远来看,如果/当#2337可能会有更好的解决方案已实现(但我们可能不会实现)

关于mysql - jooq 扩展现有方言。采用 MySQL 方言到 apache Hive 方言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15381401/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com