进一步分析 ColumnRef:查了一下, 原来 makeColumnRef 就在 gram.y 里面:static Node * makeColumnRef(char *colname, List *indirection, int location, core_yyscan_t yyscanner){ /*...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2012-09-11 15:18:00
                            
                                152阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            上文说到 ColumnRef由于 a_expr 回溯到 c_expr。其对应的 makeColumnRef 需要构建 ColumnRef 型Node, 看看 parsenodes.h:00203 typedef struct ColumnRef00204 {00205 NodeTag type;00206 List *fields; /* field names (Value strings) or A_Star */00207 int location; /* token location, or -1 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2012-09-10 16:21:00
                            
                                60阅读
                            
                                                                                    
                                2评论