上一页 1 ··· 89 90 91 92 93 94 95 96 97 ··· 104 下一页
摘要: simple_select: SELECT ... target_list... { ... n->targetList =$3; ... }修改为:simple_select: SELECT ... target_list... { ... n->targetList =$3; ... if ( n->targetList->head->data.ptr_value == NULL) fprintf(stderr,"ptr_value is NU... 阅读全文
posted @ 2012-09-10 13:55 健哥的数据花园 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 从网上查到资料,以作为备忘。当结构体是一个指针时要引用结构体的成员就用-> 而如果不是指针就用. 如:struct msg_st { int a;};struct msg_st msg;struct msg_st *ms;msg.a = 10;ms->a = 20; 阅读全文
posted @ 2012-09-10 13:41 健哥的数据花园 阅读(1019) 评论(0) 推荐(0) 编辑
摘要: 在gram.y 中, 有如下一段:target_el: a_expr AS ColLabel{ $$=makeNode(Restarget); $$->name =$3; $$->indirection=NIL; ...}...那么,makeNode到底是什么呢?nodes.h 里有这样的宏:#define makeNode(_type_) ((_type_ *) newNode(sizeof(_type_),T_##_type_)) 阅读全文
posted @ 2012-09-10 09:41 健哥的数据花园 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 前面我们说过了 listmake1其实是特殊的 lcons,而lcons 函数位于 list.c 中。00259 lcons(void *datum, List *list)00260 {00261 Assert(IsPointerList(list));00262 00263 if (list == NIL)00264 list = new_list(T_List);00265 else00266 new_head_cell(list);00267 00268 lfirst(list->head) = datum;00269 ... 阅读全文
posted @ 2012-09-10 09:09 健哥的数据花园 阅读(631) 评论(0) 推荐(0) 编辑
摘要: 看 gram.y 中的 target_list 的定义:target_list: target_el { $$ = list_make1($1); } | target_list ',' target_el { $$ = lappend($1, $3); } ; 而list_make1 到底是什么呢?#define lis... 阅读全文
posted @ 2012-09-10 08:55 健哥的数据花园 阅读(484) 评论(0) 推荐(0) 编辑
摘要: 首先看 lappend00128 lappend(List *list, void *datum)00129 {00130 Assert(IsPointerList(list));00131 00132 if (list == NIL)00133 list = new_list(T_List);00134 else00135 new_tail_cell(list);00136 00137 lfirst(list->tail) = datum;00138 check_list_invariants(list);00139 ... 阅读全文
posted @ 2012-09-10 08:41 健哥的数据花园 阅读(785) 评论(0) 推荐(0) 编辑
摘要: 最近在学习 PostgreSQL 的语法分析。看到 lappend函数,其中有一句:lappend(List *list, void *datum) { …… lfirst(list->tail) = datum; ……} lfirst 到底是什么,好神秘,函数的返回值被赋值?看到 pg_list.h,才明白:#define lfirst(lc) ((lc)->data.ptr_value)原来如此。 但是令我不解的是, 这么做的目的是什么? 是一种优雅的表达?会不会引起误解? 阅读全文
posted @ 2012-09-10 08:22 健哥的数据花园 阅读(653) 评论(0) 推荐(0) 编辑
摘要: #include <stdlib.h> exec sql include sqlca; main() { exec sql connect to 'enterprisedb@localhost:9999' user 'enterprisedb' identified by 'enterprisedb'; exec sql BEGIN TRANSACTION; exec sql UPDATE a5 SET id=100 WHERE id=88; exec sql COMMIT; exec s... 阅读全文
posted @ 2012-09-07 15:21 健哥的数据花园 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 例子从网络上摘抄回来。作为备忘。#include <stdio.h>#include <string.h>#include <stdlib.h>int main(){ typedef struct { char name[21]; char city[21]; char state[3]; } Rec; typedef Rec *RecPointer; RecPointer rpr; rpr=(RecPointer)malloc(sizeof(Rec)); strcpy( (*rpr).name, "gaojian"); ... 阅读全文
posted @ 2012-09-07 14:18 健哥的数据花园 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 在对指针的学习中,看到如下的网页,是日语的。但是例子和图形都非常好。特此备忘。http://www9.plala.or.jp/sgwr-t/c/sec10-4.html 阅读全文
posted @ 2012-09-07 12:24 健哥的数据花园 阅读(298) 评论(0) 推荐(0) 编辑
上一页 1 ··· 89 90 91 92 93 94 95 96 97 ··· 104 下一页