2025-9-29:客户端(旧版)升级说明
简述
************服务器平台均全面升级至新一代,为了更好地发挥TSL新语言特性及获得更优性能,请用户从官网下载新一代版本客户端。**************
***********************************************************************************************************************************************
更新日志--------2025-9-29
升级:SELECTOPT新增选项65536,用于禁用SQL聚集函数在移动计算时的快速计算。(主要用于productof累乘这类快速计算可能会产生较大误差的聚集函数,禁止快速计算会使得效率变低)
升级:聚集函数的MovingFirst支持新模式:
如果16位设定(65536),可禁用SQL聚集函数在移动计算时的快速计算,如果位17设定(131072),则不禁用移动计算时的快速计算。
如果位6设定(64)则MovingFirst模式,如果18位设定(262144)则非MovingFirst模式。
如果上述位互相矛盾,例如既设定16位也设定了第17位,或者设定了第6位也设定了18位,则依旧按照旧有真假模式MovingFirst为真。
升级:新增dectoint,dectointdef,trydectoint,dectoint64,dectoint64def,trydectoint64,dectoint32,dectoint32def,trydectoint32,用于10进制数字符串转换整数。
strtoint虽然也支持十进制转换,但由于strtoint支持其他进制表达字符串转换数字,采用dectoint可以规避这类不一定符合预期的行为。
升级:FireDac API模式连接PG ExecSQL支持COPY。
2025-9-29 升级说明
--------------------------------------------------------
升级:SELECTOPT新增选项65536,用于禁用SQL聚集函数在移动计算时的快速计算。(主要用于productof累乘这类快速计算可能会产生较大误差的聚集函数,禁止快速计算会使得效率变低)
升级:聚集函数的MovingFirst支持新模式:
如果16位设定(65536),可禁用SQL聚集函数在移动计算时的快速计算,如果位17设定(131072),则不禁用移动计算时的快速计算。
如果位6设定(64)则MovingFirst模式,如果18位设定(262144)则非MovingFirst模式。
如果上述位互相矛盾,例如既设定16位也设定了第17位,或者设定了第6位也设定了18位,则依旧按照旧有真假模式MovingFirst为真。
说明:新增SELECTOPT参数选项65536(2^16),聚集函数计算时,禁用移动计算时的快速计算。
新增SELECTOPT参数选项131072(2^17),聚集函数计算时,不禁用移动计算时的快速计算。
新增SELECTOPT参数选项262144(2^18),指定为非MovingFirst模式,即先判断真假,再移动步数的方式。与已有64(2^6)MovingFirst模式对应。
具体用法可参考FAQ:
SELECTOPT(Options)
--------------------------------------------------------
升级:新增dectoint,dectointdef,trydectoint,dectoint64,dectoint64def,trydectoint64,dectoint32,dectoint32def,trydectoint32,用于10进制数字符串转换整数。
strtoint虽然也支持十进制转换,但由于strtoint支持其他进制表达字符串转换数字,采用dectoint可以规避这类不一定符合预期的行为。
说明:新增dectoint系列字符串转数字的相关模型,使用与strtoint系列一致,两者区别如下:
strtoint系列支持十进制字符串转数字外,还支持二进制、八进制、十六进制字符串的转换,如strtoint("0b10101")转换后结果为21
dectoint系列只支持十进制字符串转数字,不支持其它进制,即dectoint("0b10101")会报错处理,可避免strtoint中对于字符"b","x"等字符的错误转换。
更多用法可具体参考对应函数说明。
--------------------------------------------------------
升级:FireDac API模式连接PG ExecSQL支持COPY。
说明:数据库交互中,FireDac API模式连接PG库时新增支持 ExecSQL COPY功能。
如将数据文件导入到数据库已有的数据表中:
fileName:="D:/test.csv";
size:=FileSize("", fileName);
ReadFile(rwRaw(), "", fileName, 0, size, dataStr);
sql:="copy test from STDIN with header DELIMITER ','";
data:=array("STDIN":("Direction":1,"Value":(dataStr),"Type":91));
t:=execsql(data, "pg_api", sql, ret);
echo tostn(array(t,ret,SQLErrorMsg()));
return 1;
--------------------------------------------------------