C++

1.30.22.1

新增功能

  • MultithreadedTableWriter 新增支持断开后自动重连。

  • 新增支持创建 Void Vector 型数据。

  • 新增支持 select NULL 语句。

  • 新增支持数据类型 DECIMAL128。

  • DBConnection 类的 run, upload 接口中新增锁以防止并发调用时宕机。

  • MultithreadedTableWriterinsert 方法新增支持插入char[] 型数据 ,且可将其转换为字符串。

  • CmakeLists.txt 文件中新增编译选项 USE_OPENSSL,可选择是否链接 OpenSSL 库。

  • Table 类新增 clear() 方法,可用来清除表中数据。
  • 新增在上传 symbol/string 型数据时先检验数据长度,若不小于 256K 则会抛出异常。

功能优化

  • 优化了 MultithreadedTableWriterinsert 方法的报错信息。

  • 取消下载包含 string/symbol 型 vector 数据时的最大长度限制。

故障修复

  • 修复高可用中偶现的重复提交写入任务的问题。

  • 修复流订阅中客户端偶现解析消息失败的问题。

  • 修复流订阅跨进程共享内存表时偶现的使用已失效指针的问题。

  • 修复使用高版本 OpenSSL 时因使用不建议的函数而出现的编译警告。

1.30.21.1

新增功能

  • MultithreadedTableWriter 新增回调接口。

  • 新增工具类 DdbVector,用于创建 DolphinDB 常用的各种类型的 Vector。

  • 新增工具类 Executor,用于创建 DolphinDB 的匿名线程。

  • 新增工具类 ResultSet,用于对表进行按行遍历。

  • 新增工具类 enumVectorData,用于快速遍历 Vector 的元素。

  • 支持 DECIMAL 类型的 array vector 的上传、下载、压缩和解压缩。

  • 支持流订阅通过 API 发起的连接接收数据。

功能优化

  • 优化了取消订阅高可用流数据表的步骤,不再必须传入 Leader 节点的地址和端口,可以使用订阅传入的 Follower 节点的地址和端口。

  • 优化高可用流数据表取消订阅的步骤,可以使用 Leader 节点或发起订阅的 Follower 节点的地址和端口。

故障修复

  • 修复错误:在使用 Visual Studio 编译 API 时,_USRDLL 发生冲突。已修改为_DDBAPIDLL。

  • 修复错误:使用 PartitionedTableAppender 接口频繁读写表数据,发生内存泄漏。

  • 修复错误:取消流订阅时,未及时释放占用的端口。

1.30.19.1

新增功能

  • API 端支持打印 DBConnection.run 的 中间结果信息。

  • (1) 新增 tableUpsert 对象,(2) MultithreadedTableWriter 新增参数 modemodeOption,均可实现对索引内存表、键值内存表,或者 DFS 表通过 upsert 方式进行更新。

  • 支持上传或读取 INT128, UUID, IP 类型的数组向量。

  • DBConnection.connect 支持 reconnect 参数,实现非高可用场景下,自动重连节点。

  • 新增 StreamDeserializer 类,实现对异构流数据表的解析,同时,subscribe 函数新增 streamDeserializer 参数,接收经 StreamDeserializer 解析后的数据。

  • tableAppender 支持写入 array vector 类型数据。

  • 支持线程通过 setAffinity 方法绑定到指定 CPU 核。

  • 时间类型的 array vector 支持自动转换类型。

  • 流订阅 subscribe 函数新增参数 userNamepassword,支持输入登录用户名密码。

  • 新增 setColumnCompressTypes 方法,实现表的各列数据按照指定的压缩方式压缩后上传。

  • 新增 IPCInMemoryStreamClient 支持订阅跨进程共享内存表。该功能仅 Linux 系统支持。

  • 支持通过 DDB_VERSION 宏定义指定 API 编译版本号(130或200)。

功能优化

  • MultithreadedTableWriter 对象写入内存表时,参数 dbPathtableName 的设置发生改变:dbPath 需设置为空,tableName 需为内存表表名。

  • 通过 API 连接集群服务器时,实现请求的负载均衡。

  • 调整 array vector 创建方法。

故障修复

  • 解决 DBConnection 关闭后,端口没有及时释放的问题。

  • 解决了流订阅无法取消、线程卡死、Crash 等问题。

1.30.17.1

新增功能

  • 新增支持数组向量(array vector)。

  • 增加 MultithreadedTableWriter 类,支持对分布式表、内存表、维度表的多线程写入。且实现了加密通信、压缩传输和写入高可用等功能。

  • DBConnection 对象增加 compress 参数,支持数据的压缩上传与下载。

故障修复

  • 修复 API 高可用模式下,当数据节点安全关机后,C++ API 无法切换到正常节点继续写入的问题。

1.30.12

新增功能

  • 新增 batchTableWriter