Python
2.0.11.0
功能优化
-
取消对上传 BLOB 类型数据长度的限制;上传 SYMBOL/STRING 类型数据的长度必须小于 256 KB。
-
优化类型注解。
-
Session.loadTextEx
增加 sortColumns 参数,支持将数据文件加载到 TSDB 引擎下的数据库中。 -
兼容 NumPy 版本至 1.26.3,同时兼容 pandas 版本至 2.2.0。
-
优化 Table 类中对非法列名的处理方式。
故障修复
-
修复上传包含 SYMBOL 列的空 DataFrame 卡住的问题。
-
修复订阅异构流表时,流表的 BLOB 类型列包含空值导致报错的问题。
-
修复订阅异构流表时,Decimal 数据丢失小数点的问题。
1.30.22.6
新增功能
-
新增支持 Python 3.11。
-
PROTOCOL_DDB 协议新增支持数据类型 DECIMAL128。
-
新增上传字符串不能超过 64KB 的限制。
功能优化
-
drop
函数调整对于 STRING 型和不同长度的 list 型的输入值的处理逻辑。
故障修复
-
修复下载字典中若包含 UUID/IPADDR/INT128 等类型数据时出现段错误的问题。
-
修复
MultithreadedTableWriter
类成员未正常析构的问题。 -
修复
MultithreadedTableWriter
在部分场景下插入错误类型的数据导致 Abort 的问题。 -
修复上传 DataFrame 时指定列类型为 DECIMAL32/64/128,若该列第一个数据为空值则导致段错误的问题。
-
修复上传 DataFrame 时若某列 dtype=datetime64[us] 则出现列长不匹配或报错的问题。
1.30.22.5
故障修复
-
修复 NumPy ndarray 在指定不同内存布局时,上传数据出现乱序的问题。
-
修复 TableAppender/TableUpserter/PartitionedTableAppender 类向低版本的 DolphinDB 追加数据时出现的兼容性问题。
-
修复特定情况下上传 ArrayVector 列丢失空值数据的问题。
1.30.22.4
新增功能
-
全平台支持使用 PROTOCOL_ARROW 协议。
-
支持上传 Pandas 2.0 PyArrow 后端的数据。
-
强制类型转换支持指定数据类型为 Decimal32 / Decimal64 的精度。
1.30.22.3
新增功能
-
传输协议 PROTOCOL_DDB 新增支持 Decimal32/64 ArrayVector 类型数据的上传或下载。
1.30.22.2
新增功能
-
Session 和 DBConnectionPool 中 run 方法新增支持指定任务的并行度和优先级。
-
Session 新增支持使用锁以保证线程安全。
功能优化
-
调整 NumPy 依赖版本为1.18.0~1.24.4。
-
调整构造 Table 类时,传入参数 dbPath, data 时加载数据表的逻辑与Session.loadTable 的逻辑一致。
-
使用 where 方法只添加一个筛选条件时生成语句将不包含括号。
故障修复
-
修复使用 where 方法拼接多个筛选条件后生成语句不符合预期逻辑的问题。
-
修复 Table 类 drop 方法在某些情况下不执行的问题。
-
修复 TableUpdate、TableDelete 对象使用 where 方法,对其使用 showSQL 方法后返回错误 SQL 语句的问题。
-
修复使用 upload 方法上传非 Table 对象时错误进行压缩上传的问题。
-
修复 Table 类对象拼接 SQL 字符串时出现不合理书写方式的问题。
-
修复构造 Table 类时内部参数设置有误导致使用 showSQl 后输出逻辑不正常的问题。
1.30.22.1
新增功能
-
Session 和 DBConnectionPool 均新增参数 show_output ,其用于指定是否在 Python 客户端展示脚本的输出内容。
-
TableAppender(原类名 tableAppender), TableUpserter(原类名 tableUpsert)和 PartitionedTableAppender 新增支持写入数据时根据表结构自动进行类型转换。
-
新增支持 NumPy 的 C order 模式。
-
新增支持在上传 DataFrame 时,通过设置属性 __DolphinDB_Type__ 指定列类型以实现强制类型转换。
-
新增支持 MultithreadedTableWriter 在写入流数据表时,若连接断开将自动进行重连。
功能优化
-
更新 Python API 用户手册。
-
调整类名 tableUpsert 为 TableUpserter,与原有类名兼容。
-
调整类名 tableAppender 为 TableAppender,与原有类名兼容。
-
调整类名 session 为 Session,与原有类名兼容。
-
优化了部分报错信息。
-
优化下载乱码字符串时的处理逻辑。
-
删除了 Table 类在析构时的打印信息。
-
若流订阅中 handler 发生错误将报错并打印异常信息。
故障修复
-
修复查询表时若添加多个 where 条件执行优先级异常的问题。
-
修复在调用 TableAppender(原类名 tableAppender), TableUpserter(原类名 tableUpsert)或 PartitionTableAppender 上传 BLOB, INT128, UUID 和 IPADDR 对应的 arrayVector 型的数据时提示警告信息的问题。
-
修复流订阅中偶现提示解析消息失败的问题。
-
修复 DBConnectionPool 在析构时未调用 shutDown 导致进程卡住的问题。
-
修复了 TableAppender(原类名 tableAppender), TableUpserter(原类名 tableUpsert) 和 PartitionedTableAppender 在引用 Session 或 DBConnectionPool 时,由于 Session 或 DBConnectionPool 提前析构导致无法使用的问题。
1.30.21.2
功能优化
-
调整 Python API 依赖库pandas 的版本为不小于1.0.0。
故障修复
-
修复当 MultithreadedTableWriter 写入失败时,调用 getUnwrittenData 方法会导致段错误的问题。
-
修复无法下载超长 BLOB 数据(超过 64K长度)的问题。
-
修复 Mac ARM 版本中在订阅 1.30.21、2.00.9及之后版本的 DolphinDB 时出现内存越界的问题。
-
修复上传 np.datetime64 类型的空值数据被识别为错误类型的问题。
-
修复上传第一个元素为 Decimal(“NaN“) 的 Vector 时发生数值溢出的问题。
-
修复通过 PROTOCOL_DDB 协议下载 BLOB 类型的集合出现段错误的问题。
-
修复调用 loadTableBySQL 方法时会覆盖当前 session 中变量”db”值的问题。
-
修复 DBConnectionPool 调用 addTask 添加任务后若不取出数据则会导致进程卡住的问题。
1.30.21.1
新增功能
-
新增支持 Python3.10。(1.30.21.1)
-
Session
和DBConnectionPool
新增protocol
参数,在构建函数时进行使用,可指定数据格式的传输协议。(1.30.21.1) -
支持流订阅通过 API 发起的连接接收数据。(1.30.21.1)
-
DBConnectionPool.addTask
新增args
参数,可以接收已定义的对象。(1.30.21.1) -
支持
tableAppender
,tableUpsert
和PartitionedTableAppender
上传 IPADDR, UUID 和 INT128 类型的数据。(1.30.21.1) -
支持基于 Apache Arrow 协议下载数据。(1.30.21.1)
-
支持使用 DolphinDB 自定义的数据报文格式(简称 DDB 协议)下载和上传 DECIMAL 类型数据。(1.30.21.1)
-
优化了报错信息。(1.30.21.1)
故障修复
-
修复错误:macOS 重复创建 MultithreadedTableWriter 后提示创建信号量失败。(1.30.21.1)
-
修复错误:开启 pickle 后下载包含 STRING 类型列的空表提示 "unmarshall failed"。(1.30.21.1)
-
修复错误:流订阅中包含 array vector 数据时发生 API Abort。(1.30.21.1)
-
修复错误:在 uWSGI 中调用 Python API 执行 SQL,API 发生段错误。(1.30.21.1)
-
修复错误:上传数据中包含空值 np.nan 时,服务器结果产生字符 NaN 而非空值。(1.30.21.1)
1.30.19.4
新增功能
-
流订阅指定 batchSize 为小数时增加报错提示。
功能优化
-
流订阅指定 msgAsTable = True 且指定 batchSize 为正整数时,将基于消息块处理记录。
-
python API 最高支持 NumPy 1.23.4 和 pandas 1.5.2。
-
优化上传数据报错信息。
-
优化 Mac python API 报错信息。
故障修复
-
修复下载的数据中时间戳小于1970时,会报错的问题。
-
修复通过
tableAppender
,tableUpsert
,PartitionedTableAppender
写入包含 INT128, IPADDR, UUID, BLOB 类型列时,写入失败的问题。 -
修复通过
s.dropPartition
删除分区,或通过s.loadTable
加载表时,由于创建的临时 database handle 和 table handle 未销毁而造成 server 内存泄漏的问题。
1.30.19.3
新增功能
-
session
类新增setTimeOut
方法,用于设置 TCP 连接的 TCP_USER_TIMEOUT 选项。仅 Linux 系统生效。 -
createPartitionedTable
新增参数 sortKeyMappingFunction ,支持对 sortKey 降维。
功能优化
-
DataFrame 在指定
__DolphinDB_Type__
属性后,可以按照指定类型上传。
故障修复
-
修复 Python API 上传 object 类型的 Bool 数据时出现数值错误的问题。
1.30.19.2
新增功能
-
为函数添加注解,支持在调用函数时提示函数用法。
-
Windows 系统下,Python API 新增支持官网 Python3.8, Python3.9。
-
DBConnectionPool 的 runTaskAsync 函数支持上传数据。
-
session 增加 enableJobCancellation 方法,仅支持 Linux 系统,通过 Ctrl+C 取消进程中所有正在执行的 session.run() 的任务。
-
Linux aarch64 系统下,Python API 支持 conda 环境的 Python3.7-Python3.9。
故障修复
-
解决了 Table 对象被删除后,服务器端不会自动释放资源的问题。
1.30.19.1
新增功能
-
新增系统变量 version,通过 dolphindb.__version__ 可以查看 API 的版本号。
-
tableAppender
支持写入 array vector 类型数据。 -
session.connect
支持 reconnect 参数,实现非高可用场景下,自动重连节点。 -
新增
streamDeserializer
类,实现对异构流数据表的解析,同时,subscribe
函数新增 streamDeserializer 参数,接收经streamDeserializer
解析后的数据。 -
API 端支持返回
s.run
的 print 结果。 -
(1) 新增
tableUpsert
对象,(2)MultithreadedTableWriter
新增参数 mode 和 modeOption ,均可实现对索引内存表、键值内存表,或者 DFS 表通过upsert
方式进行更新。 -
支持上传或读取 INT128, UUID, IP 类型的数组向量,但上传或读取这些类型的数组向量时需设置 enablePickle =false。
功能优化
-
规范 API 空值处理方式。
-
session
对象 enableASYN 参数名调整为 enableASYNC。 -
通过 API 连接集群服务器时,实现请求的负载均衡。
-
MultithreadedTableWriter
对象写入内存表时,参数 dbPath 和 tableName 的设置发生改变: dbPath 需设置为空,tableName 需为内存表表名。
故障修复
-
解决通过 API 查询到的数据存在乱码时,无法下载数据的问题。
-
解决 session 关闭后,端口没有及时释放的问题。
1.30.17.4
故障修复
-
修复上传 DataFrame 数据,且它的字符串类型列的首行为 None 时,出现上传失败的问题。
1.30.17.3
故障修复
-
修复指定 DBConnectionPool 的 loadBalance 为 True 时,线程池创建失败的问题。
1.30.17.2
新增功能
-
支持最新 NumPy 版本 1.22.3 和最新 Pandas 版本 1.4.2。仍旧不支持 Pandas 1.3.0 版本。
-
支持上传 array vector 到 server 端,支持 DataFrame 内嵌数组方式创建包含 array vector 字段的表。修复 any vector 上传和下载的问题。
-
ErrorCodeInfo
类的errorCode
由整数类型调整为字符串类型,并增加hasError
和succeed
方法来获取数据写入是否正常。
1.30.17.1
新增功能
-
增加 MultithreadedTableWriter 类,支持对分布式表、内存表、维度表的多线程写入。且实现了加密通信、压缩传输和写入高可用等功能。
-
session 对象增加 compress 参数,支持数据的压缩下载。
-
Table 新增
toList
方法,可将 array vector 的数据转换为二维数组,方便使用。 -
PartitionedTableAppender
支持写入表时自动转换日期时间类型。 -
session.database 新增 engine, atomic, enableChunkGranularityConfig 参数。仅 2.00.0 及以上版本 server 的 TSDB 引擎支持这些参数。
-
Database.createPartitionedTable
新增 compressMethods, sortColumns, keepDuplicates 参数。仅 2.00.0 及以上版本 server 的 TSDB 引擎支持这些参数。
功能优化
-
减少了 session 对 Python 全局锁的占用时间。
故障修复
-
修正 session.subscribe 存在数据丢失的问题。
1.30.16.1
新增功能
-
支持200及以上版本的服务器。
-
支持数组向量(array vector)的上传与下载。
功能优化
-
版本命名规则进行了调整,与服务器版本保持一致。
1.30.0.15
新增功能
-
session 对象增加了 keepAliveTime 参数,设置检测 TCP 存活的时间间隔,默认为30秒。在大数据量访问时,给该参数设置一个较大值,可以避免 TCP 连接掉线。
1.30.0.10
故障修复
-
orca: 修复 orca.panel 函数。
1.30.0.9
新增功能
-
orca: 添加 rolling rank 函数。
-
orca: rolling mean 增加支持加权平均值功能。
-
orca: 新增函数 orca.read_in_memory_table: 支持读取 DolphinDB 内存表。
-
orca: 新增 orca.panel 函数。
功能优化
-
orca: 移除 groupby 中 lazy 参数,groupby 只支持以 lazy 方式进行计算。
故障修复
-
orca: 修复 window join 中 where 失效的问题。
1.30.0.8
新增功能
-
DBConnectionPool 新增了
runTaskAsyn
函数,实现并行异步任务调用接口简化。
故障修复
-
修复
update
函数 where 条件不生效的问题。 -
修复使用 Python API 异步追加数据时,客户端会 crash 的问题。
-
修复使用 Python API 两次 upload 同一个名字的 named object, 报错该 named object 无法找到的问题。
1.30.0.7
功能优化
-
取消 Python API 安装时 pandas 版本必须低于1.0的限制。
1.30.0.6
新增功能
-
提供
partitionTableAppender
支持向分布式表并发写入数据。 -
run
函数提供 fetchSize 参数,支持每次读取 fetchSize 行记录。 -
流数据订阅时支持批量处理。
-
run
执行完毕后自动清除本会话内生成的变量。 -
连接时进行 Server 版本的兼容性检查。
-
tableAppender
函数提供写入数据时自动转换时间类型功能。
1.30.0.5
功能优化
-
优化数据传输性能, 最新Server版本请升级 Python API 到1.30.0.5
-
pip3 install dolphindb==1.30.0.5。