cube.js dremio-odbc-cubejs-driver TypeError: Do not know how to serialize a BigInt 问题
因为cube.js cache 部分使用了json 进行key 的存储,但是因为odbc 部分数据类型会有bigint,cube.js 会报错
解决方法
通过hack 的模式
const CubejsServer = require('@cubejs-backend/server');
const cubejs = require("./cube")
const server = new CubejsServer(cubejs);
BigInt.prototype.toJSON = function() { return this.toString() }
function start(){
server
.listen()
.then(({ version, port }) => {
console.log(`🚀 Cube.js server (${version}) is listening on ${port}`);
})
.catch((e) => {
console.error('Fatal error during server start: ');
console.error(e.stack || e);
});
}
start()
说明
以上是关于bigint 的,因为没有经过完整的测试,其他类型可能会有类似的问题,可以参考解决
参考资料
https://github.com/GoogleChromeLabs/jsbi/issues/30
https://github.com/rongfengliang/cubejs-dremio-odbc-driver
https://docs.dremio.com/software/drivers/arrow-flight-sql-odbc-driver/#downloading-and-installing-on-macos
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt#use_within_json
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2022-03-02 dremio 社区版目前依赖的一些闭源包
2022-03-02 dremio 源码分析学习的几个方便工具
2022-03-02 dremio CTAS 以及DROP 功能简单说明
2022-03-02 dremio 社区flight 格式化扩展说明
2021-03-02 sijms/go-ora 1.0 发布了,使用buffer提升了系统的性能
2020-03-02 pg pg_stat_statements 扩展使用
2019-03-02 pghoard 面向云存储的pg 备份&&恢复工具