如何解决是否可以实现支持 INSERT/UDPATE/DELETE 的方解石适配器?
calcite 存储库中包含的所有适配器仅支持查询。我发现有一个名为 Something_ID Col1 Desc1_Col2 Desc2_Col2 Desc3_Col2 Desc4_Col2
0 id1 1.1 0.1 2.1 3.1 NaN
1 id2 8.1 1.1 2.1 NaN 5.1
的类,看起来像是用于 C/U/D 操作。是否有任何示例实现了 df=pd.DataFrame({'Something_ID': {0: 'id1',1: 'id1',2: 'id1',3: 'id2',4: 'id2',5: 'id2'},'Description': {0: 'Desc1',1: 'Desc2',2: 'Desc3',3: 'Desc1',4: 'Desc4',5: 'Desc2'},'Col1': {0: 1.1,1: 1.1,2: 1.1,3: 8.1,4: 8.1,5: 8.1},'Col2': {0: 0.1,1: 2.1,2: 3.1,3: 1.1,4: 5.1,5: 2.1},'Col3': {0: 0.3,1: 6.3,2: 9.3,3: 3.3,4: 15.3,5: 6.3},'Col4': {0: 0.6,1: 12.6,2: 18.6,3: 6.6,4: 30.6,5: 12.6}})
?挖了半天也没找到。
解决方法
这应该是可能的,但是 Calcite 代码库中没有执行此操作的适配器。我也不知道有任何第三方适配器这样做了。虽然我说它应该是可能的,但鉴于这不是一个常见的用例,您肯定会遇到一些挑战。
,根据文档是可能的 - https://calcite.apache.org/docs/adapter.html#server
Calcite 的核心模块(calcite-core)支持 SQL 查询(SELECT)和 DML 操作(INSERT、UPDATE、DELETE、MERGE)
你可以在测试中看到一些例子
- https://github.com/apache/calcite/blob/296b84cad4406be03f2db35ce6077ad8fed4fef6/server/src/test/java/org/apache/calcite/test/ServerTest.java#L125
- https://github.com/apache/calcite/blob/4bc916619fd286b2c0cc4d5c653c96a68801d74e/core/src/test/java/org/apache/calcite/test/MultiJdbcSchemaJoinTest.java#L70
- https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/sql/SqlInsert.java
我建议检查代码并查看这些测试使用的适配器。
我将在几周后自己做这件事,所以如果你到那时还没有弄清楚,我会试着记住在我弄清楚后发布一个更具体的例子:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。