2.00.15
缺陷修复带来的系统影响
-
修改函数
elasticNetCV,lassoCV,ridgeCV参数校验:- 旧版本中,参数 yColName, xColNames 可以指定时间类型的列。
- 新版本起,参数 yColName, xColNames 仅支持数值类型列,否则会报错。
-
修改
iif函数和三元运算符?:返回值类型:- 旧版本中,优先根据 trueResult 和 falseResult 数据形式确定返回值的形式。
- 新版本起,返回值与 cond 的数据形式一致。
iif([true,false],1:2,(3..4$1:2)) true false?(1:2):(3..4$1:2) // 旧版本返回 INT PAIR 1:4 // 新版本返回 FAST INT VECTOR [1,4] -
修改函数
seq对 NULL 值的处理行为。当 start 或 end 任一为 NULL 时:- 旧版本会返回不符合预期的结果。
- 新版本会直接报错。
-
若建表时为 LONG 或 NANOTIMESTAMP 类型的列指定 delta of delta 压缩算法(即
compressMethods="delta"),当 delta-of-delta 值溢出时:- 旧版本中,数据刷盘失败且持续重试,导致系统阻塞。
- 新版本起,溢出数据会转换为空值。
dbName = "dfs://test" if(existsDatabase(dbName)) { dropDatabase(dbName) } db = database(dbName,HASH, [INT, 1]) t = table(10:0,[`id, `data],[INT, LONG]) pt = db.createPartitionedTable(t, `pt, `id, {data:"delta"}) t = table(1..5 as id, [1,1,8704332179800340403, 105, 27162335252578330] as data) pt.append!(t) purgeCacheEngine() sleep(1000) select * from pt新版本查询结果:
id data 1 1 2 1 3 8,704,332,179,800,340,403 4 5 -
当 SQL CASE 语句的 THEN 和 ELSE 子句中使用
string函数且返回标量时,旧版本返回 STRING 类型,新版本改为 SYMBOL 类型。t = table(0 NULL 1 as id) re = select case when id=0 then string("a") else string("b") end from t select name,typeString from schema(re).colDefs // 旧版本 col1 列为 STRING 类型 // 新版本 col1 列为 SYMBOL 类型 -
修改
varma函数输入数据源时的排序逻辑:- 旧版本中,模型会根据数据源第一列对数据自动排序。
- 新版本起,仅当第一列是时间列时,模型才会对数据排序。
-
修改非管理员用户执行
getClusterDFSDatabases时的可见范围:- 旧版本中,返回用户拥有 DB_MANAGE 权限或自己创建的分布式数据库。
- 新版本起,新增返回用户拥有DB_READ/DB_INSERT/DB_UPDATE/DB_DELETE/DBOBJ_CREATE/DBOBJ_DELETE 权限的分布式数据库。
