rtable 标签归档

共 2 篇文章 · 返回首页

【PG 内核】查询解析与重写:从 SQL 字符串到 Query Tree

拆解 PostgreSQL 查询编译的前两步:Parser 如何将 SQL 字符串转换为 RawStmt 语法树(基于 gram.y 的 Bison 语法文件),Analyzer 如何通过 parse_analyze() 完成表名/列名解析、类型推导和权限检查,Rewriter 如何基于 pg_rewrite 规则系统展开视图和行级安全策略,以及 Query 结构体中 rtable、jointree、targetList 等核心字段的含义。配合 debug_print_parse 和 debug_print_rewritten 参数,读者可以自己观察每一步的输出。

【Linux 网络子系统深度拆解】路由子系统深度拆解:FIB、策略路由与路由缓存

IP 包到了 ip_rcv_finish(),下一跳怎么选?本文深入拆解 Linux 路由子系统的完整实现:fib_table 的 LC-trie 数据结构、fib_info/fib_nh 的内存布局、fib_rules 策略路由链、ECMP 多路径哈希选路、nexthop 对象 API、FNHE 异常缓存(路由缓存的替代品)、dst_entry 与 rtable 的关系、IPv6 fib6 差异,以及 bpftrace 追踪路由决策的实战方法。