源码版本:PG 13.3 源码文件:src/backend/utils/time/snapmgr.c 1. 事务快照数据结构 typedef struct SnapshotData { SnapshotType snapshot_type; /* type of snapshot */ TransactionId xmin; /* all XID = xmax are invisible to m
MySQL自带了很多插件,比如半同步插件、审计插件、密码验证插件等等,甚至MySQL存储引擎也是以插件方式实现的。MySQL开放的插件接口,为开发者开发自定义插件提供了便利。本文将介绍如何快速开发一个自定义的MySQL插件。 一、开发环境准备 下载MySQL源码,本文使用的源码是 Percona Server for MySQL 5.7.19。 安装C/C++开发环境、依赖包等。 编译MySQL源
Do not communicate by sharing memory; instead, share memory by communicating. 通过通信来共享内存,而不是共享内存来通信 安全访问共享变量是并发编程的一个难点,在 Golang 语言中,倡导通过通信共享内存,实际上就是使用 channel 传递共享变量,在任何给定时间,只有一个 goroutine 可以访问该变量的值,从而
如果你是一名懂得 MySQL 源码的 DBA,那么你的价值会比一般的 DBA 高得多。 首先,懂得源码会让你更加深入地理解 MySQL 的运行机制和内部实现。这样,当你遇到复杂的问题时,不仅能够更快地定位问题所在,还可以有效地优化 SQL 查询和数据库架构。 其次,懂得源码还可以让你贡献代码并参与 MySQL 社区的开发工作。在这个过程中,你会与其他优秀的开发者共同协作,加深你的专业知识并提高你的