有人在Apache Calcite适配器中实现了一个展示功能吗?
P粉885035114
2023-09-02 12:15:50
<p>我想要实现一个与我们希望通过Calcite适配器连接到Calcite的数据库引擎相关的<code>show foo</code>命令。当然,<code>foo</code>是特定于该数据库引擎的某些内容。我正在尝试弄清楚应该将它映射到哪种relnode(以及其他细节)。所以,如果有人已经将“show”语句实现为Calcite适配器,并对我有一些提示,将不胜感激。</p>
<p>我目前的想法是创建一个新的“foo”表类型,其中包含命令应返回的相关列,然后将<code>show foo</code>映射到等效的:</p>
<pre class="brush:sql;toolbar:false;">select * from foo;
</pre>
<p>当然,这是使用Calcite relnodes来完成的。在后端,我知道我必须将其转换为什么。</p>
您可能想要查看sqlline,它实现了类似于
show
的命令:!dbinfo
、!tables
、!schemas
等等。如果您查看Commands.java,您会看到它们是通过JDBC实现的。然而,从那里开始,您可以在org.apache.calcite.jdbc命名空间中的各种类中了解Calcite的一面。