【0225】RELSEG_SIZE、BLCKSZ 等变量值是多少?它们声明于何处?

1. RELSEG_SIZE、BLCKSZ等变量值

在讲解SMGR实现原理时,在md.c源文件中,经常会看到 BLCKSZRELSEG_SIZE等变量的出现,但是整个PG内核源码中又搜索不到此变量的定义处。如下:

那么有两个疑问:

  • 为何源码中搜索不到此类变量的声明?
  • 它们的值又是多少?

如果不知道这两个变量的值,此处的源码阅读会带来一些困惑。因为我们不清楚这些运算转换的具体含义是什么。如果我们清楚地知道RELSEG_SIZEBLCKSZ的值,以及其所代表意义,那么此函数体中的这段代码含义将十分清晰、通俗易懂。

因此,本文将重点讲解如何去查找PG内核中类似的大量变量的具体值是多少?

比如:

  • PG_VERSION_STR
    下面函数打印PG数据库的版本号。
  • MAXIMUM_ALIGNOF
    定义为任何C数据类型的最大对齐要求。

本文链接:https://my.lmcjl.com/post/15084.html

展开阅读全文

4 评论

留下您的评论.