- 博客(7)
- 收藏
- 关注
原创 lightdb使用lt_check校验文件使用方法
lt_check是lightdb下的一个文件校验工具。使用sha256算法扫描$LTHOME/lib, $LTHOME/bin, $LTHOME/share三个目录下的所有文件并生成lt_checksum.X(X为数字)文件并保存在$LTHOME/etc目录下。初始时,会先生成一个lt_checksum.0文件。如果文件未被修改过运行lt_check校验时则不会生成新的校验文件。
2022-11-01 11:21:53 150 1
原创 lightdb对oracle的nvl/nvl2函数的支持
另外一种特殊的情况是数字类型,不管是nvl/nvl2还是decode/decode函数,为了防止精度丢失,oracle总是返回的类型,总是以参数中精度最大那个为准。如果无法转换,则报错。执行下面的例子时,根据隐式转换规则,null实际上是未知类型,所以调用的函数是nvl(text, 'any')所以函数返回text类型。因为ltrim返回的类型是text,所以下面例子中实际调用的函数是nvl(text, "any"),所以函数返回的是text类型。a) lightdb中对nvl的函数定义(nvl2同理)
2022-09-29 11:23:43 295
原创 postgresql查询编译源码分析——接收和返回
源码分析的过程是以vscode调试的形式进行的源码阅读,所以我们要先启动pgsql然后attatch到对应的进程,并在postgres.c的for(;;)语句位置设置断点,并执行查询SQL。
2022-07-25 10:42:13 492
原创 debug lightdb总结
假设想查看List*的ptr_value的内容,但不知道是啥类型。如有个查询树Query*result。之所以可以这么搞是因为parsenodes.h中所有的结构体首地值都是NodeTagtype;c)执行att$pid,后设置断点。d)在gdb中执行,可以格式出输出结构体内容。1,采用emacs+gdb的方式调试。b)打开emacs执行gdb。.........
2022-07-22 09:21:39 109
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人