- T_A_Const表示常数值类型
parse_expr.c的transformExpr中值的解析,在T_A_Const中,可以看到对于一个操作的值是以Value类型保存的,从value的注释中可以看到,除了int类型外,其它的诸如float等都是直接用string保存的.
- T_A_Indirection
查看A_Indirection的定义注释中的一个例子(foo).field1[42][7].field2,就能够理解他的含义
gram.y中
AexprConst表示所有的constant类型,
parse_oper.c
函数make_op中出现了检查类型兼容的调用,调用的函数为enforce_generic_type_consistency
parse_coerce.c中是检查类型兼容性的代码,有两千六百多行,得慢慢看了
原文链接:https://www.f2er.com/postgresql/196887.html