尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

rqlite java sdk 对于sqlite-vec 支持的bug

rqlite java sdk 对于sqlite-vec 支持的bug
📅 发布时间:2026/6/18 18:35:04

rqlite java sdk 对于sqlite-vec 支持的bug

sqlite-vec 查询返回的distance 是real 类型的,但是rqlite java sdk 对于类型了check,如果没在代码里边的会直接提示异常

解决方法

实际上real 与包含精度的float 类型是类似的,解决方法就比较简单了,配置兼容就可以了

参考示例代码

具体需改的地方比较多,可以参考完整pr 代码

public static int getJdbcType(String rqliteType) {if (rqliteType == null) {throw new IllegalArgumentException("type cannot be null");}var parts = rqliteType.trim().toUpperCase().split("[(),]");var rqType = parts[0];switch (rqType) {case RQ_INTEGER:    return INTEGER;case RQ_NUMERIC:    return NUMERIC;case RQ_BOOLEAN:    return BOOLEAN;case RQ_TINYINT:    return TINYINT;case RQ_SMALLINT:   return SMALLINT;case RQ_BIGINT:     return BIGINT;case RQ_FLOAT:      return FLOAT;case RQ_DOUBLE:     return DOUBLE;case RQ_TEXT:case RQ_VARCHAR:    return VARCHAR;case RQ_DATE:       return DATE;case RQ_TIME:       return TIME;case RQ_TIMESTAMP:  return TIMESTAMP;case RQ_DATALINK:   return DATALINK;case RQ_CLOB:       return CLOB;case RQ_NCLOB:      return NCLOB;case RQ_NVARCHAR:   return NVARCHAR;case RQ_BLOB:       return BLOB;case RQ_NULL:       return NULL;case RQ_REAL:       return FLOAT; // RQLite uses REAL as an alias for FLOATdefault: return -1;}}

说明

以上是一个示例,参考jdbc 操作代码

package com.dalong;
import java.sql.*;
import java.util.Arrays;
import java.util.UUID;public class App {public static void main(String[] args) {var url = "jdbc:sqlite:http://localhost:8080";var vector = new int[] {1,2,4};System.out.println("vector to " + Arrays.toString(vector));try (Connection conn = DriverManager.getConnection(url)) {var stmt = conn.createStatement();var ps = conn.prepareStatement("insert into dalongrong_vec (id, vector, user_id, type, version) values (?,?,?,?,?)");ps.setString(1, UUID.randomUUID().toString());ps.setString(2, Arrays.toString(vector));ps.setString(3, "user123");ps.setString(4, "text");ps.setString(5, "v1");int result = ps.executeUpdate();System.out.println("Insert result: " + result);var psv2 = conn.prepareStatement("select id, user_id,vector, vec_distance_cosine(vector,?) distance from dalongrong_vec where vector match ? and type = ? and version = ?  and k = 10 order by distance");psv2.setString(1, Arrays.toString(vector));psv2.setString(2, Arrays.toString(vector));psv2.setString(3, "text");psv2.setString(4, "v1");var rs = psv2.executeQuery();while (rs.next()) {System.out.println("ID: " + rs.getString("id") + ", vector: " + rs.getString("vector") +"vector: " + rs.getString("user_id") + ", distance:"+ rs.getFloat("distance"));}} catch (SQLException e) {e.printStackTrace();throw new RuntimeException(e);}}
}

参考资料

https://github.com/rqlite/rqlite-jdbc

https://github.com/rqlite/rqlite-jdbc/pull/1

相关新闻

  • 降低网络保险成本的实用技巧与网络安全实践
  • 自动评估对话质量的AI技术突破
  • 4.2 基于模型增强的无模型强化学习(Model-based Augmented Model-free RL)

最新新闻

  • 2026万国手表回收避雷手册,助力上海表主避开回收行业各类常见猫腻 - 奢品小当家
  • 天农凤中皇常见问题解答(2026专家版) - 速递信息
  • 1-1 Coursera吴恩达《神经网络与深度学习》第一周学习精要:从房价预测看AI核心
  • 广州花都老板娘想找人教自己管账,找哪家财税公司靠谱?| 4招判断教学型财税公司 - 欢欢在创业
  • ComfyUI-MultiGPU终极指南:一键释放GPU显存,多GPU智能分配技术详解
  • FPGA_Webserver ARP协议实现:千兆速度下的地址解析协议硬件加速

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号