问题标签 [jsqlparser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1403 浏览

java - 如何使用 JSQLparser 从“From Clause”获取多个子查询?

我想在 from 子句中获取所有子查询,但是当我使用

它只是检索 from 子句中的第一个子查询,当我使用

它检索 from 语句中的表,而不是 Sub 查询。

0 投票
2 回答
252 浏览

java - 我可以将 JsqlParser 中的表查找器类修改为列查找器类吗?

在这里我找到了这个代码表查找器,它允许您在选择语句中查找表我们可以修改此代码为属性查找器吗

0 投票
0 回答
237 浏览

hana - 基于 Java 的 SQLParser 用于解析 Hana SQL 查询

是否有任何开源 JAVA SQL 解析器用于解析基于 SAP HANA 的 SQL 查询?尝试使用 JSQLParser 但它不完全支持基于 Hana 的功能。

0 投票
1 回答
418 浏览

java - 删除 JSqlParser 中的表达式

我试图找到从用 JSQLParser 解析的查询中删除表达式(例如,条件)的最简单方法。

假设我有以下查询(这里没有真正的逻辑):

假设,我想删除其中一个条件,比如“a = b”,最好的方法是什么?

我使用以下代码来追踪在“EqualTo”表达式中有两列的条件,但现在我手头有表达式对象,我不确定从 where 子句中删除它的最佳方法是什么。

0 投票
1 回答
828 浏览

java - 使用 JSqlParser 在 SQL 查询中查找令牌的位置

我正在尝试使用 JSqlParser 在 SQL 查询中查找 SQL 对象(令牌?)的位置(行就足够了)。

例如,在查询中:

在查看表达式 b = 2 时,我想知道它在第 4 行。或者,当查看 SelectItem "a" 时,我想知道它在第 1 行。

没有在文档中看到任何关于它们位置的内容,也没有在对象本身中看到任何内容。如果目前无法做到这一点,您能否建议一种我自己添加此功能的好方法(就性能而言最简单和最快)。

0 投票
1 回答
100 浏览

java - 无法解析 JSQLParser 的方法接受

因为condition.accept我收到错误“无法解析方法'accept(cs4321.project2.Operators.SelectExpressionVisitor)”。我不知道为什么,因为我正确地遵循了Expressionaccept方法的语法。

0 投票
0 回答
45 浏览

jsqlparser - 解析大 SQL 查询时出现 OutOfMemory 错误

在解析大型 SQL 查询时,我收到 JVM OutOfMemory 错误。在使用 JSqlParser 进行 SQL 查询翻译期间引发此错误。

以下行从线程错误堆栈中处理:

解决这个堆 OutOfMemory 问题的一种方法是增加配置的堆大小限制。

是否有任何其他方法/最佳实践来提高性能,以减少使用 JSqlParser 进行 SQL 查询翻译期间的堆内存使用?

0 投票
2 回答
4268 浏览

java - 使用 JSqlParser 完全解析 where 子句

我想完全简洁地使用 JSqlParser 解析 SQL where 子句。很容易将它解析成单独的条件语句,就像这样

这将产生输出:

我想要的是获取每个单独表达式的左侧、运算符和右侧,以便我可以将值放入一些现有的过滤器对象中。

我知道您可以为每种类型的运算符覆盖访问函数,如下所示:

});

这将为您提供以下输出:

但这仅涵盖 AND 在一起的 EqualsTo 条件语句。如您所见,您必须为每个逻辑运算符创建一个 if 语句,并为每个比较运算符覆盖 visit() 函数。有没有更简单的方法来做到这一点?

0 投票
1 回答
201 浏览

java - 在 JSqlParser 中什么时候使用 SubJoin?

使用 JSqlParser 解析查询时,在某些情况下,JSqlParser 似乎决定将 SubJoin 对象生成为 FromItem,而不是常规的 Table / Join 对象。

您能帮我了解它何时发生以及为什么发生吗?它们之间的主要区别是什么?它与决定顺序的括号有关吗?

让解析器创建 SubJoin 对象的示例:

让库仅创建连接对象的示例:

0 投票
1 回答
542 浏览

jsqlparser - 用于数据沿袭的 JSqlParser?

我们是一个数据仓库开发团队,我们的大部分 ETL 逻辑都可以表示为一系列 SQL 选择语句。我正在寻找一种通过解析查询以结构化方式提取数据沿袭的工具。

查询和简化的沿袭输出如下所示:

询问:

输出

JSQLParser 是用于此目的的好工具吗?任何有关如何使用该工具的指示或经验也将不胜感激。