实际上pg 驱动是可以直接链接cratedb 的但是因为默认实现会自动添加一个编码造成生成的sql 在cratedb 运行异常
参考代码
核心是arp 方言处理上,移除了关于编码的处理,实际上与mssql server 处理是一样的,主要代码实际上来自ce 版本的pg 扩展
public SqlCollation getDefaultCollation(SqlKind kind) {
if (DISABLE_PUSH_COLLATION) {
return null;
} else {
switch(kind) {
case LITERAL:
case IDENTIFIER:
return POSTGRES_BINARY_COLLATION;
default:
return null;
}
}
}
说明
完整代码在github 上可以参考,处理核心就是移除了对于编码的处理部分,这样就可以解决了,目前基于的dremio 24.3 ,对于低版本的可以
调整依赖自己编译
参考资料
https://github.com/rongfengliang/my-dremio-cratedb-connector
标签:arp,dremio,return,处理,driver,pg,cratedb From: https://www.cnblogs.com/rongfengliang/p/17920168.html