自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 pg兼容mysql框架之语义解析(以开源openHalo为例)

本文分析了PostgreSQL和MySQL两种数据库解析引擎的架构设计。通过对比两种引擎的ParserRoutine结构体,指出MySQL引擎为各类SQL语句(如SELECT、INSERT等)都设置了特定的转换函数,而PG引擎则保留NULL值。这是因为PG作为默认引擎,可直接调用原有逻辑函数而无需额外赋值。文中通过transformOptionalSelectInto函数的示例代码,展示了系统如何根据当前引擎类型选择执行路径——若转换函数存在则调用MySQL逻辑,否则执行PG标准逻辑。最后说明所有解析请求都

2025-12-24 18:43:31 536

原创 pg兼容mysql框架之语法解析层(openHalo开源项目解析)

PostgreSQL兼容MySQL框架的语法解析层设计摘要:该框架通过GUC参数pg_database_mode区分MySQL和PG模式,在数据库初始化阶段调用InitParserEngine()初始化对应的语法解析引擎。MySQL模式采用独立的mys_parser_engine结构体,包含专为MySQL语法设计的转换函数(如transformStmt、raw_parser等),这些函数定义在以mys_开头的独立文件中。标准PG模式则使用standard_parser_engine,仅需赋值关键节点函数。通

2025-12-24 16:39:07 149

原创 解析PG兼容mysql框架之整体架构)(以开源项目openHalo为例)

OpenHalo框架通过unvdb_database_mode参数实现PostgreSQL与MySQL的兼容,整体架构采用模块化引擎设计。系统初始化时根据配置参数(0为PG模式,1为MySQL模式)为各核心模块(解析器、规划器、执行器等)加载对应的处理逻辑。每个引擎定义了标准化的接口函数指针,在初始化阶段被赋予特定数据库模式下的实现函数。这种设计通过统一的参数控制和模块化架构,实现了两种数据库语法的兼容处理。

2025-12-17 10:38:26 351

原创 安卓、苹果手机无线连接PC电脑方法教程

本文介绍了通过SMB协议在手机和电脑之间无损传输照片的方法。在PC端创建共享文件夹并设置权限后,苹果用户可通过"文件"应用连接服务器,安卓用户可使用支持SMB的文件管理器(如ES文件管理器)进行连接。该方法能实现接近1:1的原画质传输,画质优于隔空投送。文中详细说明了PC端共享设置、IP地址查询以及手机端连接步骤,适用于需要高质量传输照片的用户。

2025-12-13 21:20:57 236

原创 docker常用命令

本文总结了Docker常用命令操作指南,包括:1)使用docker load导入.tar格式容器镜像;2)通过docker images查看本地可用容器;3)详细说明docker run命令启动容器的各项参数,包括交互模式(-it)、目录挂载(-v)、内存设置(--shm-size)、特权模式(--privileged)、网络配置(--network)等;4)介绍使用docker exec进入已运行容器的操作。这些命令涵盖了Docker容器从导入、查看、启动到管理的完整工作流程。

2025-12-12 15:59:03 207

原创 opengauss5.0源码安装debug版本

本文介绍了openGauss 5.0.0数据库的编译安装流程。首先需要下载源码和对应系统的第三方库(提供openEuler_arm/x86和Centos_x86下载链接),解压并设置环境变量。然后配置编译选项,执行make编译和安装。安装完成后,通过gs_initdb初始化数据库,使用gs_ctl启动服务,最后通过gsql连接数据库。整个过程详细说明了从源码编译到数据库启动的完整步骤。

2025-06-18 18:37:02 246

原创 postgres如何添加一个类型(TYPE)

pg_type.dat中添加一个 实现相关函数的逻辑 处的函数名通过PG_FUNCTION_INFO_V1() 可在3中和CREATE FUNCITON 完成绑定。5上述你可以完成一个类型的基本步骤 剩余的你如果需要添加和其他类型的转换 你需要添加相应的cast。如果你需要你的类型支持索引 你需要添加相关的索引族。如果你的类型是有精度的,如numberic(10),你还需要create function 额外的tymodin函数。1 在pg_type.dat文件中 添加一个类型。4 定义你函数的逻辑实现。

2025-02-19 11:06:52 298

原创 最新版centOS7更换源(官服停止维护centos7后)

CentOS 7停止维护后如何更换yum源 随着CentOS 7于2024年6月停止维护,用户需更换yum源以继续使用。本文提供详细步骤:1)安装wget工具;2)备份原配置文件;3)下载阿里云源;4)替换原文件;5)修改SCLo相关配置文件;6)清理并重建缓存。操作过程中需注意文件名对应及配置文件修改,最后通过yum clean all和yum makecache完成更新。该方案可解决官方源停止服务后的软件更新问题,确保系统正常运行。

2024-11-26 20:29:41 1898

原创 sourceInset4.0下载和安装

sorceinset 下载地址 和安装教程.....

2024-11-21 16:23:47 204

原创 Postgres配置遇到的问题和解决办法

【代码】Postgres配置遇到的问题和解决办法。

2024-10-24 16:35:15 504

原创 使用git patch 补丁合并代码

Git补丁使用指南本文介绍了如何使用Git补丁(patch)解决代码合并问题。主要包括三种生成patch的方法:git diff、git format-patch -1和指定commit范围生成。应用补丁前需检查patch内容是否正确,使用git apply --stat和--check命令验证。应用补丁可能出现冲突,可通过--reject参数查看冲突位置。最后介绍了如何提交并推送补丁修改。该方法适用于需要选择性合并代码或解决大量合并冲突的情况。

2024-04-30 10:17:18 1750

原创 git 合并多个提交成一个提交

1 维护分支的时候有很多琐碎的逻辑代码 提交?现在想把整个需求只有一个提交?2 我想把我的多个提交作为一个提交合到别的分支(main或者master)?endCommitID:需要合并提交的结束位置(已经包含自己,不需^符号)headCommitID: 需要合并的提交的开始位置。git rebase --continue 完成。用 git log 查看是否已经提交到本地。查看所有修改过的文件和编写新的提交注释信息。^: 包含开始位置自己的提交内容。把需要合并的提交改成 s。

2024-04-30 09:51:29 1037

原创 openGuass编译安装dolphin插件教程

这里你需要在 mppdb_temp_install/ bin下自建一个data目录,即上文提到的export PGDATA=$GAUSSHOME/bin/data /地址:https://gitee.com/opengauss/openGauss-server#%E4%B8%8B%E8%BD%BDopengauss。执行的主文件是: src/gausskernel/process/main/main.cpp。其中: /sda/binarylibs 是你的第三方库地址 注意更换成自己的。

2024-02-21 09:56:19 1678 3

原创 postgreSQL源码之spi接口的用法

SPI(Server Programming Interface)是PostgreSQL提供的一个内部执行SQL语句的接口函数,定义在spi.h文件中。它允许在代码中直接执行SQL查询,并通过SPI_execute启动连接,获取查询结果。典型使用场景包括获取表数据(通过SPI_getvalue获取指定列值)和编写非内核级函数调用。由于效率问题,不建议在内核级使用SPI,此时应优先考虑OID直接访问表数据的方式。SPI提供了简单直接的数据访问方法,但需权衡其性能影响。

2023-12-26 17:20:35 657 1

原创 centos7 屏幕背景变黑只有文件夹和回收站

问题:屏幕背景变黑,更换背景图无效,状态栏 应用程序栏都不显示。删除 bashrc或者任何其他环境变量的配置 即可恢复正常。是否是因为你最近下载了 openGauss数据库 配置了 lib地址,opengauss的lib会和本地的lib冲突

2023-12-01 11:03:11 935 2

原创 openGauss debug版本安装与调试

地址:https://gitee.com/opengauss。选择好你自己需要的仓库,本例复制的是server仓库。其实尝试过 直接用./在本地目录启动 但是由于你的库是自己目录 没放到 lib目录下 所以 启动不成功。除了基本的项目代码 你还需要下载一个第三方库 用于编译;其中: /sda/binarylibs 是你的第三方库地址 注意更换成自己的。编译分为 sh文件编译和命令编译,本次讲最简单的sh文件编译。

2023-11-30 11:11:38 1195 1

原创 pg报错:trying to start server anyway waiting for server to start.... stopped waiting pg_ctl: could not

2023-10-23 15:12:57.763 CST [9038] LOG: could not bind IPv6 address “::1”: 地址已在使用。2 如果不是端口占用如上log文件报错,那是否是你安装了mysql数据库,启动了 systemctl start mysqld , 执行。1 如果是端口5432被占用了,可以查找谁占用了端口(百度搜一下如何查)关闭就行。再试试 就可以正常启动了。

2023-10-25 15:28:30 713 1

原创 CentOS7下MYSQL安装教程(速食版

参考博文:

2023-10-17 10:14:09 86

原创 posgreSQL源码分析:语法分析 gram.y

即一个语句的标签 像什么 createTableStmt 这种;代表一个类型,假如如上举例,那么table_name 你就可以定义成:即可以认为 我需要传入一个字符串 这里看你想以什么类型传入。这里就是可以定义我们所需的token,像 CREATE TABLE 都需要定义 且要按照 字母顺序排序%left OR%left AND。

2023-10-13 15:56:03 781

原创 postgreSQL源码:psql词法分析

简单来说 就是一个把字符串分割成一个个 关键字或者标识符的过程。

2023-10-13 15:13:12 337

原创 tortoiseSVN下载和安装 使用教程

网盘地址:https://www.123pan.com/s/WPgrVv-TbXEd.html。文件检出,在目标文件夹选择检出 输入服务器地址 之后输入自己账号密码即可检出。默认点下一步即可,到安装路径的时候 选择自己的即可。

2023-10-09 09:21:09 1040 1

原创 postgres源码编译以及遇到的问题解决

/configure --prefix=目录 CFLAGS=“-O0 -g” --enable-tap-tests --enable-cassert --with-libxml --enable-debug。到刚才配置的 目录下 找到/bin/

2023-10-08 14:53:45 733 1

原创 clion 无限重置插件

1plug中 地址管理添加。2 搜索 reset。

2023-09-26 14:59:11 1005 1

原创 postgre 报错:configure: error: Additional Perl modules are required to run TAP tests 解决

postgre 报错:configure: error: Additional Perl modules are required to run TAP tests 解决。

2023-09-26 14:13:06 476 1

原创 虚拟机VM15安装 centOS7 Linux 系统教程(保姆级)

下载地址:https://pan.quark.cn/s/3a76bf1228e2(软件管家公众号保存的)##5 安装完成 打开虚拟机。

2023-09-25 16:16:46 350 2

原创 苹果手机如何连接windows电脑?

1 iPhone 下载 爱思app2 windows 端也下载爱思程序3 用数据线连接 即可访问苹果手机文件。

2023-09-18 11:04:25 1585 1

原创 centos7空间不足 ,centos7 home目录扩容方法(保姆级教学)

centos7空间不足 或者需要 centos7 系统给home目录扩容方法

2023-09-07 20:16:08 3327 2

原创 psql: 错误: 无法联接到服务器: 没有那个文件或目录 服务器是否在本地运行并且在 Unix 域套接字

psql: 错误: 无法联接到服务器: 没有那个文件或目录 服务器是否在本地运行并且在 Unix 域套接字问题描述:首先安装了9.5版本,发现版本功能之间存在差异,由于正在做pg功能兼容,所以选择把这个古老的版本换掉!于是上官网搜索了postgre13版本的二进制安装包,欣喜若狂的运行安装脚本后发现。也太容易了。官方真是贴心。but当我psql进入的时候,运行了select version();发现我T喵的安装的是13版本怎么服务开的13,客户端进入的是9.5 f*ck !!(不好意思愚蠢的暴躁

2021-01-26 16:28:36 4765 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除