2.00.15

System Impacts Caused by Bug Fixes

  • Enhanced parameter validation in elasticNetCV, lassoCV, ridgeCV functions:

    • In previous releases, parameters yColName and xColNames could take temporal columns.
    • Since this release, parameters yColName and xColNames only support numeric columns. Otherwise, an error will be raised.
  • Modified the data form returned by the iif function and the ternary operator ?::

    • In previous releases, the return value was primarily determined based on the data form of trueResult and falseResult.
    • Since this release, the return value is consistent with the data form of cond.
    iif([true,false],1:2,(3..4$1:2))
    true false?(1:2):(3..4$1:2)
    // Output (previous releases): INT PAIR 1:4
    // Output (current release): FAST INT VECTOR [1,4]
  • Modified NULL value handling in the seq function when either start or end was NULL:

    • In previous releases, incorrect results were returned.
    • Since this release, an error is reported.
  • For tables containing LONG or NANOTIMESTAMP columns using the delta of delta compression method (i.e., compressMethods="delta"), if delta-of-delta values overflow:

    • In previous releases, data flushing failed and server continuously retried, causing the system to hang.
    • Since this release, overflowed data is converted to null values.
    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

    Query results in this version:

    id data
    1 1
    2 1
    3 8,704,332,179,800,340,403
    4
    5
  • When both the THEN and ELSE clauses of a SQL CASE statement involve the string function and return a scalar, the result was of STRING type in previous versions. Since this release, the result is of SYMBOL type.

    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
    // Previous releases: col1 is of STRING type
    // Ccurrent release: col1 is of SYMBOL type
  • Modified data sorting behavior in the varma function when input ds is a DATASOURCE vector:

    • In previous releases, the model automatically sorted data by the first column.
    • Since this release, data is only sorted when the first column is of temporal types.
  • Modify the visibility scope of databases when non-admin users execute getClusterDFSDatabases:

    • In previous releases, it returned DFS databases where the user had DB_MANAGE permission or databases created by the user.
    • Since this release, it additionally returns DFS databases where the user has DB_READ/DB_INSERT/DB_UPDATE/DB_DELETE/DBOBJ_CREATE/DBOBJ_DELETE permissions.