# Changes with XuguConsole 1.4.3_20240117 ## info ### FIXBUG >7790:输入溢出导致崩溃。 # Changes with XuguConsole 1.4.2_20231228 ## info ### feature >681:实现linux端控制台IPV6连接创建功能。 # Changes with XuguConsole 1.4.1_20231213 ## info ### opitimize 优化DATE,DATETIME,DATETIMEZ 数据输出代码 ### fixbug: >7634:连续两个回车会中断语句输入。 # Changes with XuguConsole 1.4.0_20231205 ## info ### fixbug: >5841:在非自动提交下重启数据库执行错误语句崩溃bug。 # Changes with XuguConsole 1.3.2_20231113 ## info ### fixbug: >5701:date_format 命令内存问题修改。 # Changes with XuguConsole 1.3.2_20230918 ## info ### fixbug: >6144:增加DATETIME WITH TIME ZONE、TIMESTAMP WITH TIME ZONE、TIME WITH TIME ZONE、GUID的导出功能。 >6347:sqlldr,tabldr 十六进制列分割符判断 >6803:float nan展示错误 >6113:单词拼写错误 >6830:interval类型对于-0的展示错误 # Changes with XuguConsole 1.3.1_20221226 ## info ### refactor: - 控制台增加TLS,TLCP连接,编译为条件编译 - 命令行启动控制台对于SSL位做了关键字检测 # Changes with XuguConsole 1.3.1_20221208 ## info ### refactor: - 恢复linux端SSL加密,增加TLS加密方式 # Changes with XuguConsole 1.3.0_20221118 ## info ### fixbug: >5541:在收到db_len=0的时候不继续接收data_len >5539:部分功能不走res执行顺序会出现p_conn为空但是未处理的问题(修改部分) # Changes with XuguConsole 1.3.0_20221110 ## info feature-1119:增加get lob 的支持 # Changes with XuguConsole 1.3.0_20221108 ## info > BUG修复 修复了datetime with time zone 中公元前毫秒数据不对的bug # Changes with XuguConsole 1.3.0_20221016 ## info > BUG修复 增加pwd缓存从64位到129位 # Changes with XuguConsole 1.3.0_20221009 ## info > BUG修复 colldr 导入文件会导致连接中断的bug 对于关键字20长度的限制关闭 - refactor: 增加关键字CONSOLE_BUILD_TIME,可以查看控制台的打包时间 show CONSOLE_BUILD_TIME; # Changes with XuguConsole 1.3.0_20220923 11:35 #info > BUG修复 sqlldr 大文件导入不正确bug修复 -refactor:增加stream导入lob类型的方式(暂未实装) # Changes with XuguConsole 1.3.0_20220923 #info > BUG修复 修改了因为删除关键字判断出现的换行关键字判断丢失的bug。 修改了spool存在的内存泄漏的问题 - refactor:将colldr从sqlldr,tablldr中分割出来 - refactor:统一sqlldr,tabldr,colldr文件格式 # Changes with XuguConsole 1.3.0_20220729 #info 删除控制台对于关键词的控制 修改SQLLDR的入库读取方式与,其他工具导出的csv文件适配 > BUG修复 修复了begin 开启事务与begin 代码块识别不清楚的bug # Changes with XuguConsole 1.3.0_20220613 #info -refactor-1043:控制台兼容通讯协议V3.0 -refactor-1036:控制台提供控制参数控制行号的输出与关闭 关键字:show_line_number 命令:set show_line_number on; set show_line_number off; -refactor-871:注释不执行 -refactor-903:控制台CSV 数据导出 -refactor-1048:控制台导入数据可根据列导入 sqlldr,tabldr增加两个参数col,colhead。col表示部分列导入,colhead记录列名信息以逗号分割,colhead为空则表示列名信息在文件第一行 > BUG修复 修复了tabldr导入,刚好将0d0a的行分割符读取成了\r和下一个buff\n开头导致的bug情况 # Changes with XuguConsole 1.2.2_20220610 #info -refactor-1041:增加linux历史命令去重功能 -refactor:增加了命令补全功能,目前补全的有常用关键字和系统函数 # Changes with XuguConsole 1.2.2_20220609 > BUG修复 fixbug-5109: [问题分析] filelength判断2GB以上的文件返回-1,该值未做异常处理。 [解决方案] 将-1返回值抛出错误,跳出空间分配。 [影响功能] 插入文本文件和二进制文件。 [测试建议] 使用控制台插入超过2GB的二进制文件或者文本文件。 [变动文件] modified:/src/console.cpp - 类型说明: fixbug '5109' # Changes with XuguConsole 1.2.2_20220608 > BUG修复 fixbug-5156: [问题分析] 控制台记录了数据库的max_idle_time,在使用时候没有判断max_idle_time=0的情况,导致每次调用的时候都进行了重新连接。 [解决方案] 在判断需要重连的时候去除max_idle_time=0的情况 [影响功能] 超时重连 [测试建议] 设置数据库max_idle_time=0,启动控制台,执行任务命令。 [变动文件] modified:/src/console.cpp - 类型说明: fixbug '5156' # Changes with XuguConsole 1.2.1_20211215 > BUG修复 fixbug-4810: [问题分析] sqlldr,tabldr导入失败时,页面未能正确显示错误条数,因为在接受错误线程还没结束的时候就输出了错误条数,导致导出错误条数不一致 [解决方案] 等接受线程结束后在输出错误条数。 [影响功能] tabldr,sqlldr [测试建议] 测试因为各种原因出现的sqlldr,tabldr导出错误的情况下输出的错误条数是否正常。 [变动文件] modified:/src/xugu_load.cpp - 类型说明: fixbug '4810' # Changes with XuguConsole 1.2.1_20211214 > BUG修复 -fixbug-4486: [问题分析] linux控制台readline模块增加了对于tab补全的支持,所以在输入tabtab的时候会在控制台页面输出linux的问件系统。 [解决方案] readline输入时将tab禁用。 [测试建议] 控制台输入的时候使用tab,和直接复制文本进入控制台时复制带有tab内容的文本。 [变动文件] /src/console.cpp - 类型说明: fixbug '4486' # Changes with XuguConsole 1.2.1_20211124 #info > BUG修复 -fixbug-4259: 语句执行shutdown时候,将shutdown也记住在了事务列表里面导致重连一定会shutdown。已手动去除。 -refixbug: 遗漏部分执行时候的时间计算,导致时间计算依旧有错。 -fixbug-4633: arm版本的编译器默认char为无符号char导致输出时候-1输出成了255. # Changes with XuguConsole 1.2.1_20211123 #info * 1.修改了整合代码后出现的查看历史命令时 "SQL>" 没有正常出现的问题。 * 2.修复了interval_return设置不成功bug。 * 3.修改了命令行页面登录可能出现的输入超长,内存溢出导致奔溃的bug。 * 4.修改了因为整合代码出现的USE TIME为0的bug # Changes with XuguConsole 1.2.0 #info *整合了windows和linux的代码,合并成一个程序. # Changes with XuguConsole 1.0.21 #info * 增加了interval_return开关,用于管理interval类型的输出方式。输出方式有两种,为字符型和整型秒数。 # Changes with XuguConsole 1.0.20 #info * 增加了prepare功能,并对带参数的prepare语句进行了限制。 # Changes with XuguConsole 1.0.19 #info * 1.修复了execfile和execfile2大文件执行不完全bug。 * 2.修改了execfile结尾判断自己实现了EXECEND的识别,过滤了脚本中存在单引号括起的EXECEND对结尾判断的影响。 # Changes with XuguConsole 1.0.18 #info * 修改了<%命令读取文件不关闭导致文件一直无法修改,删除的bug。 # Changes with XuguConsole 1.0.17 #info * 修改了show,set命令 参数的长度限制以支持数据库参数。 # Changes with XuguConsole 1.0.16 --beta #info * 1.修改了>$导出命令中数据集数目为5000倍数时导致的死循环bug。 * 2.修复了execfile2命令执行不完全bug。(execfile还未改动)。 # Changes with XuguConsole 1.0.15 #info * 增加大对象处理结束之后的使用时间输出,精确到毫秒 * 增加多个大对象同时插入 * CLOB导入导出关键符号由'<<'or'>>'修改为'<%'or'>%' * SQLLDR AND TABLDR输出时间时添加':' # Changes with XuguConsole 1.0.12 #info : * 增加新的处理分支 tabldr 是仿照 sqlldr 来的 功能是在客户端不变的情况下,增加服务器端的处理分支,对应服务器版本11.0 日期2019年1月 * sqlldr 里面 ,关于异步接收错误信息 和 等候退出的 句柄err_log_file 的 使用和关闭的先后问题 修改时间2019-04-11 # Changes with XuguConsole 1.0.8 --beta # info: * 临时修改导入规则,强制将行分隔符替换成列分割符,标记: 2018-12-11 # Changes with XuguConsole 1.0.7 # info: * 新增case TYPE_GUID,case TYPE_NULL * 修改case TYPE_TIME_TZ为NULL时的输出 # Changes with XuguConsole 1.0.6 # info: * # Changes with XuguConsole 1.0.5 # info: * 修改分步登陆时,读取错误,增加mysavestring对每行输入值的复制 # Changes with XuguConsole 1.0.4 # info: * 修改:每次使用edit都会清空“edit.txt”中的内容,改为程序启动并连接之后清空 * 修改:EXECFILE时脚本文件不存在时的异常 * 修改:关键字解析错误 * 修改:获取命令时的死循环 * 修改:文件操作异常或权限不足 * 修改:使用">$"导出表数据为0条时的死循环 # Changes with XuguConsole 1.0.3 # info: * 使用readline模块修复某些键盘按键不可用引起崩溃的bug,完善常用功能键,优化上翻历史命令 * 修复因编码引起的中文乱码,现改为所有输出信息皆为英文 * 修复输入的参数所有都为空时崩溃的bug * 修复关闭控制台未清空edit.txt文件内容 * 修复控制台程序使用EOF重定向输入结束时输出乱码的bug,完善控制台在shell脚本中的使用功能 * EOF重定向输入参考: ''' ./xgconsole_debug nssl $1 $2 system sysdba SYSDBA< 41; EOF ''' * 参考资料:http://www.cnblogs.com/clover-toeic/p/3892688.html https://github.com/liuyang1/wiki/blob/master/linenoise.md # Changes with XuguConsole 1.0.2 # info: * 修复控制台导入数据文件不成功和数据不对的bug * 数据文件行结尾分两种情况,即‘\r\n’和‘\n’两种,所以sqlldr的参数rt也有两种,对应如下 * 文件行结尾是‘\r\n’,参数rt可以指定:X'0d0a'和X'0a' *文件行结尾是‘\n’,参数rt只能指定:X'0a' # Changes with XuguConsole 1.0.1 # info: 1. 基于V1.0,取消控制台和驱动分离模式,整个程序只有一个可执行文件 2. # use ./xgconsole NSSL 192.168.2.218 6667 SYSTEM SYSDBA SYSDBA