Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
27db9ecd
G
Gpdb
项目概览
Greenplum
/
Gpdb
通知
7
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Gpdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
27db9ecd
编写于
6月 15, 1998
作者:
B
Bruce Momjian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix macros that were not properly surrounded by parens or braces.
上级
3af536a1
变更
29
隐藏空白更改
内联
并排
Showing
29 changed file
with
462 addition
and
379 deletion
+462
-379
src/backend/access/common/scankey.c
src/backend/access/common/scankey.c
+5
-3
src/backend/access/index/indexam.c
src/backend/access/index/indexam.c
+25
-15
src/backend/executor/nodeMergejoin.c
src/backend/executor/nodeMergejoin.c
+6
-6
src/backend/optimizer/path/xfunc.c
src/backend/optimizer/path/xfunc.c
+7
-4
src/backend/storage/buffer/freelist.c
src/backend/storage/buffer/freelist.c
+11
-7
src/backend/tcop/utility.c
src/backend/tcop/utility.c
+7
-2
src/backend/tioga/Arr_TgRecipe.h
src/backend/tioga/Arr_TgRecipe.h
+12
-6
src/backend/tioga/Varray.h
src/backend/tioga/Varray.h
+4
-2
src/backend/utils/adt/date.c
src/backend/utils/adt/date.c
+6
-3
src/backend/utils/adt/dt.c
src/backend/utils/adt/dt.c
+7
-3
src/backend/utils/cache/catcache.c
src/backend/utils/cache/catcache.c
+23
-13
src/backend/utils/cache/relcache.c
src/backend/utils/cache/relcache.c
+72
-78
src/backend/utils/mmgr/portalmem.c
src/backend/utils/mmgr/portalmem.c
+42
-34
src/backend/utils/sort/psort.c
src/backend/utils/sort/psort.c
+16
-12
src/bin/psql/psqlHelp.h
src/bin/psql/psqlHelp.h
+5
-5
src/include/access/attnum.h
src/include/access/attnum.h
+5
-3
src/include/access/heapam.h
src/include/access/heapam.h
+38
-50
src/include/access/itup.h
src/include/access/itup.h
+28
-34
src/include/c.h
src/include/c.h
+2
-2
src/include/executor/execdebug.h
src/include/executor/execdebug.h
+10
-9
src/include/storage/block.h
src/include/storage/block.h
+16
-11
src/include/storage/buf_internals.h
src/include/storage/buf_internals.h
+22
-16
src/include/storage/bufmgr.h
src/include/storage/bufmgr.h
+2
-3
src/include/storage/bufpage.h
src/include/storage/bufpage.h
+18
-10
src/include/storage/itemid.h
src/include/storage/itemid.h
+5
-3
src/include/storage/itemptr.h
src/include/storage/itemptr.h
+32
-19
src/include/storage/lock.h
src/include/storage/lock.h
+5
-3
src/include/storage/s_lock.h
src/include/storage/s_lock.h
+8
-5
src/include/utils/exc.h
src/include/utils/exc.h
+23
-18
未找到文件。
src/backend/access/common/scankey.c
浏览文件 @
27db9ecd
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/common/scankey.c,v 1.1
1 1998/01/15 19:41:46 pgsql
Exp $
* $Header: /cvsroot/pgsql/src/backend/access/common/scankey.c,v 1.1
2 1998/06/15 18:39:22 momjian
Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -22,8 +22,10 @@
* True iff the scan key entry is legal.
*/
#define ScanKeyEntryIsLegal(entry) \
((bool) (AssertMacro(PointerIsValid(entry)) && \
AttributeNumberIsValid(entry->sk_attno)))
( \
AssertMacro(PointerIsValid(entry)), \
AttributeNumberIsValid((entry)->sk_attno) \
)
/*
* ScanKeyEntrySetIllegal --
...
...
src/backend/access/index/indexam.c
浏览文件 @
27db9ecd
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/index/indexam.c,v 1.2
1 1998/02/26 12:07:10 vadim
Exp $
* $Header: /cvsroot/pgsql/src/backend/access/index/indexam.c,v 1.2
2 1998/06/15 18:39:23 momjian
Exp $
*
* INTERFACE ROUTINES
* index_open - open an index relation by relationId
...
...
@@ -92,25 +92,35 @@
* ----------------------------------------------------------------
*/
#define RELATION_CHECKS \
Assert(RelationIsValid(relation)); \
Assert(PointerIsValid(relation->rd_am))
( \
AssertMacro(RelationIsValid(relation)), \
AssertMacro(PointerIsValid(relation->rd_am)) \
)
#define SCAN_CHECKS \
Assert(IndexScanIsValid(scan)); \
Assert(RelationIsValid(scan->relation)); \
Assert(PointerIsValid(scan->relation->rd_am))
( \
AssertMacro(IndexScanIsValid(scan)), \
AssertMacro(RelationIsValid(scan->relation)), \
AssertMacro(PointerIsValid(scan->relation->rd_am)) \
)
#define GET_REL_PROCEDURE(x,y) \
procedure = relation->rd_am->y; \
if (! RegProcedureIsValid(procedure)) \
elog(ERROR, "index_%s: invalid %s regproc", \
CppAsString(x), CppAsString(y))
( \
procedure = relation->rd_am->y, \
(!RegProcedureIsValid(procedure)) ? \
elog(ERROR, "index_%s: invalid %s regproc", \
CppAsString(x), CppAsString(y)) \
: (void)NULL \
)
#define GET_SCAN_PROCEDURE(x,y) \
procedure = scan->relation->rd_am->y; \
if (! RegProcedureIsValid(procedure)) \
elog(ERROR, "index_%s: invalid %s regproc", \
CppAsString(x), CppAsString(y))
( \
procedure = scan->relation->rd_am->y, \
(!RegProcedureIsValid(procedure)) ? \
elog(ERROR, "index_%s: invalid %s regproc", \
CppAsString(x), CppAsString(y)) \
: (void)NULL \
)
/* ----------------------------------------------------------------
...
...
src/backend/executor/nodeMergejoin.c
浏览文件 @
27db9ecd
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/executor/nodeMergejoin.c,v 1.1
4 1998/02/27 16:11:28 vadim
Exp $
* $Header: /cvsroot/pgsql/src/backend/executor/nodeMergejoin.c,v 1.1
5 1998/06/15 18:39:24 momjian
Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -88,12 +88,12 @@
static
bool
MergeCompare
(
List
*
eqQual
,
List
*
compareQual
,
ExprContext
*
econtext
);
#define MarkInnerTuple(innerTupleSlot, mergestate) \
{
\
ExecStoreTuple(heap_copytuple(
innerTupleSlot
->val), \
mergestate
->mj_MarkedTupleSlot, \
(
\
ExecStoreTuple(heap_copytuple(
(innerTupleSlot)
->val), \
(mergestate)
->mj_MarkedTupleSlot, \
InvalidBuffer, \
true)
;
\
}
true) \
)
/* ----------------------------------------------------------------
* MJFormOSortopI
...
...
src/backend/optimizer/path/xfunc.c
浏览文件 @
27db9ecd
...
...
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/xfunc.c,v 1.1
3 1998/02/26 04:32:44
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/Attic/xfunc.c,v 1.1
4 1998/06/15 18:39:26
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -1424,9 +1424,12 @@ xfunc_LispRemove(LispValue foo, List bar)
}
#define Node_Copy(a, b, c, d) \
if (NodeCopy((Node)((a)->d), (Node*)&((b)->d), c) != true) { \
return false; \
}
do { \
if (NodeCopy((Node)((a)->d), (Node*)&((b)->d), c) != true) \
{ \
return false; \
} \
} while(0)
/*
** xfunc_copyrel --
...
...
src/backend/storage/buffer/freelist.c
浏览文件 @
27db9ecd
...
...
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/storage/buffer/freelist.c,v 1.
9 1998/01/07 21:04:52
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/storage/buffer/freelist.c,v 1.
10 1998/06/15 18:39:28
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -40,14 +40,18 @@ static BufferDesc *SharedFreeList;
extern
SPINLOCK
BufMgrLock
;
#define IsInQueue(bf) \
Assert((bf->freeNext != INVALID_DESCRIPTOR));\
Assert((bf->freePrev != INVALID_DESCRIPTOR));\
Assert((bf->flags & BM_FREE))
( \
AssertMacro((bf->freeNext != INVALID_DESCRIPTOR)), \
AssertMacro((bf->freePrev != INVALID_DESCRIPTOR)), \
AssertMacro((bf->flags & BM_FREE)) \
)
#define NotInQueue(bf) \
Assert((bf->freeNext == INVALID_DESCRIPTOR));\
Assert((bf->freePrev == INVALID_DESCRIPTOR));\
Assert(! (bf->flags & BM_FREE))
( \
AssertMacro((bf->freeNext == INVALID_DESCRIPTOR)), \
AssertMacro((bf->freePrev == INVALID_DESCRIPTOR)), \
AssertMacro(! (bf->flags & BM_FREE)) \
)
/*
...
...
src/backend/tcop/utility.c
浏览文件 @
27db9ecd
...
...
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.
39 1998/06/04 17:26:48
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.
40 1998/06/15 18:39:29
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -67,13 +67,18 @@ extern const char **ps_status; /* from postgres.c */
* processing within an aborted transaction block.
* ----------------
*/
/* we have to use IF because of the 'break' */
#define CHECK_IF_ABORTED() \
if (IsAbortedTransactionBlockState()) { \
if (1) \
{ \
if (IsAbortedTransactionBlockState()) \
{ \
elog(NOTICE, "(transaction aborted): %s", \
"queries ignored until END"); \
commandTag = "*ABORT STATE*"; \
break; \
} \
} else
/* ----------------
* general utility function invoker
...
...
src/backend/tioga/Arr_TgRecipe.h
浏览文件 @
27db9ecd
...
...
@@ -43,8 +43,10 @@ typedef struct Arr_TgString
(Arr_TgString *) NewVarray(ARR_TgString_INITIAL_SIZE, sizeof(TgString))
#define enlargeArr_TgString(A, I) \
(A)->size += (I); \
(A)->val = (TgString *) realloc((A)->val, (A)->valSize * (A)->size)
( \
(A)->size += (I), \
(A)->val = (TgString *) realloc((A)->val, (A)->valSize * (A)->size) \
)
#define addArr_TgString(A, V) \
AppendVarray((Varray *) (A), (void *) (V), (CopyingFunct) copyTgString)
...
...
@@ -79,8 +81,10 @@ typedef struct Arr_TgElementPtr
(Arr_TgElementPtr *) NewVarray(ARR_TgElementPtr_INITIAL_SIZE, sizeof(TgElementPtr))
#define enlargeArr_TgElementPtr(A, I) \
(A)->size += (I); \
(A)->val = (TgElementPtr *) realloc((A)->val, (A)->valSize * (A)->size)
( \
(A)->size += (I), \
(A)->val = (TgElementPtr *) realloc((A)->val, (A)->valSize * (A)->size) \
)
#define addArr_TgElementPtr(A, V) \
AppendVarray((Varray *) (A), (void *) (V), (CopyingFunct) copyTgElementPtr)
...
...
@@ -115,8 +119,10 @@ typedef struct Arr_TgNodePtr
(Arr_TgNodePtr *) NewVarray(ARR_TgNodePtr_INITIAL_SIZE, sizeof(TgNodePtr))
#define enlargeArr_TgNodePtr(A, I) \
(A)->size += (I); \
(A)->val = (TgNodePtr *) realloc((A)->val, (A)->valSize * (A)->size)
( \
(A)->size += (I), \
(A)->val = (TgNodePtr *) realloc((A)->val, (A)->valSize * (A)->size) \
)
#define addArr_TgNodePtr(A, V) \
AppendVarray((Varray *) (A), (void *) (V), (CopyingFunct) copyTgNodePtr)
...
...
src/backend/tioga/Varray.h
浏览文件 @
27db9ecd
...
...
@@ -23,9 +23,11 @@ typedef void (*CopyingFunct) (void *from, void *to);
#define VARRAY_INITIAL_SIZE 32
#define ENLARGE_VARRAY(ARRAY, INC) \
(ARRAY)->maxObj += (INC); \
( \
(ARRAY)->maxObj += (INC), \
(ARRAY)->val = (void *) realloc((ARRAY)->val, \
(ARRAY)->size * (ARRAY)->maxObj)
(ARRAY)->size * (ARRAY)->maxObj) \
)
#define VARRAY_NTH(VAL, SIZE, N) (((char *) (VAL)) + (SIZE) * (N))
...
...
src/backend/utils/adt/date.c
浏览文件 @
27db9ecd
...
...
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/adt/date.c,v 1.2
4 1998/02/26 04:36:57
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/adt/date.c,v 1.2
5 1998/06/15 18:39:34
momjian Exp $
*
* NOTES
* This code is actually (almost) unused.
...
...
@@ -187,8 +187,11 @@ reltimeout(int32 time)
}
/* reltimeout() */
#define TMODULO(t,q,u) {q = (t / u); \
if (q != 0) t -= (q * u);}
#define TMODULO(t,q,u) \
do { \
q = (t / u); \
if (q != 0) t -= (q * u); \
} while(0)
static
void
reltime2tm
(
int32
time
,
struct
tm
*
tm
)
...
...
src/backend/utils/adt/dt.c
浏览文件 @
27db9ecd
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/dt.c,v 1.5
3 1998/05/09 22:38:18 thomas
Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/dt.c,v 1.5
4 1998/06/15 18:39:37 momjian
Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -66,8 +66,12 @@ char *days[] = {"Sunday", "Monday", "Tuesday", "Wednesday",
/* TMODULO()
* Macro to replace modf(), which is broken on some platforms.
*/
#define TMODULO(t,q,u) {q = ((t < 0)? ceil(t / u): floor(t / u)); \
if (q != 0) t -= rint(q * u);}
#define TMODULO(t,q,u) \
do { \
q = ((t < 0)? ceil(t / u): floor(t / u)); \
if (q != 0) \
t -= rint(q * u); \
} while(0)
static
void
GetEpochTime
(
struct
tm
*
tm
);
...
...
src/backend/utils/cache/catcache.c
浏览文件 @
27db9ecd
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/cache/catcache.c,v 1.2
7 1998/04/26 04:08:01
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/cache/catcache.c,v 1.2
8 1998/06/15 18:39:40
momjian Exp $
*
* Notes:
* XXX This needs to use exception.h to handle recovery when
...
...
@@ -96,13 +96,17 @@ static long eqproc[] = {
*/
#ifdef CACHEDEBUG
#define CatalogCacheInitializeCache_DEBUG1 \
do { \
elog(DEBUG, "CatalogCacheInitializeCache: cache @%08lx", cache); \
if (relation) \
elog(DEBUG, "CatalogCacheInitializeCache: called w/relation(inval)"); \
else \
elog(DEBUG, "CatalogCacheInitializeCache: called w/relname %s", \
cache->cc_relname)
cache->cc_relname) \
} while(0)
#define CatalogCacheInitializeCache_DEBUG2 \
do { \
if (cache->cc_key[i] > 0) { \
elog(DEBUG, "CatalogCacheInitializeCache: load %d/%d w/%d, %d", \
i+1, cache->cc_nkeys, cache->cc_key[i], \
...
...
@@ -110,7 +114,9 @@ static long eqproc[] = {
} else { \
elog(DEBUG, "CatalogCacheInitializeCache: load %d/%d w/%d", \
i+1, cache->cc_nkeys, cache->cc_key[i]); \
}
} \
} while(0)
#else
#define CatalogCacheInitializeCache_DEBUG1
#define CatalogCacheInitializeCache_DEBUG2
...
...
@@ -654,16 +660,20 @@ SystemCacheRelationFlushed(Oid relId)
*/
#ifdef CACHEDEBUG
#define InitSysCache_DEBUG1 \
elog(DEBUG, "InitSysCache: rid=%d id=%d nkeys=%d size=%d\n", \
cp->relationId, cp->id, cp->cc_nkeys, cp->cc_size); \
for (i = 0; i < nkeys; i += 1) { \
elog(DEBUG, "InitSysCache: key=%d len=%d skey=[%d %d %d %d]\n", \
cp->cc_key[i], cp->cc_klen[i], \
cp->cc_skey[i].sk_flags, \
cp->cc_skey[i].sk_attno, \
cp->cc_skey[i].sk_procedure, \
cp->cc_skey[i].sk_argument); \
}
do { \
elog(DEBUG, "InitSysCache: rid=%d id=%d nkeys=%d size=%d\n", \
cp->relationId, cp->id, cp->cc_nkeys, cp->cc_size); \
for (i = 0; i < nkeys; i += 1) \
{ \
elog(DEBUG, "InitSysCache: key=%d len=%d skey=[%d %d %d %d]\n", \
cp->cc_key[i], cp->cc_klen[i], \
cp->cc_skey[i].sk_flags, \
cp->cc_skey[i].sk_attno, \
cp->cc_skey[i].sk_procedure, \
cp->cc_skey[i].sk_argument); \
} \
} while(0)
#else
#define InitSysCache_DEBUG1
#endif
...
...
src/backend/utils/cache/relcache.c
浏览文件 @
27db9ecd
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.3
8 1998/04/27 04:07:2
0 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.3
9 1998/06/15 18:39:4
0 momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -157,86 +157,80 @@ typedef struct relnamecacheent
* -----------------
*/
#define RelationCacheInsert(RELATION) \
{ RelIdCacheEnt *idhentry; RelNameCacheEnt *namehentry; \
char *relname; Oid reloid; bool found; \
relname = (RELATION->rd_rel->relname).data; \
namehentry = (RelNameCacheEnt*)hash_search(RelationNameCache, \
relname, \
HASH_ENTER, \
&found); \
if (namehentry == NULL) { \
elog(FATAL, "can't insert into relation descriptor cache"); \
} \
if (found && !IsBootstrapProcessingMode()) { \
/* used to give notice -- now just keep quiet */
; \
} \
namehentry->reldesc = RELATION; \
reloid = RELATION->rd_id; \
idhentry = (RelIdCacheEnt*)hash_search(RelationIdCache, \
(char *)&reloid, \
do { \
RelIdCacheEnt *idhentry; RelNameCacheEnt *namehentry; \
char *relname; Oid reloid; bool found; \
relname = (RELATION->rd_rel->relname).data; \
namehentry = (RelNameCacheEnt*)hash_search(RelationNameCache, \
relname, \
HASH_ENTER, \
&found); \
if (idhentry == NULL) { \
elog(FATAL, "can't insert into relation descriptor cache"); \
} \
if (found && !IsBootstrapProcessingMode()) { \
/* used to give notice -- now just keep quiet */
; \
} \
idhentry->reldesc = RELATION; \
}
if (namehentry == NULL) \
elog(FATAL, "can't insert into relation descriptor cache"); \
if (found && !IsBootstrapProcessingMode()) \
/* used to give notice -- now just keep quiet */
; \
namehentry->reldesc = RELATION; \
reloid = RELATION->rd_id; \
idhentry = (RelIdCacheEnt*)hash_search(RelationIdCache, \
(char *)&reloid, \
HASH_ENTER, \
&found); \
if (idhentry == NULL) \
elog(FATAL, "can't insert into relation descriptor cache"); \
if (found && !IsBootstrapProcessingMode()) \
/* used to give notice -- now just keep quiet */
; \
idhentry->reldesc = RELATION; \
} while(0)
#define RelationNameCacheLookup(NAME, RELATION) \
{ RelNameCacheEnt *hentry; bool found; \
hentry = (RelNameCacheEnt*)hash_search(RelationNameCache, \
(char *)NAME,HASH_FIND,&found); \
if (hentry == NULL) { \
elog(FATAL, "error in CACHE"); \
} \
if (found) { \
RELATION = hentry->reldesc; \
} \
else { \
RELATION = NULL; \
} \
}
#define RelationIdCacheLookup(ID, RELATION) \
{ RelIdCacheEnt *hentry; bool found; \
hentry = (RelIdCacheEnt*)hash_search(RelationIdCache, \
(char *)&(ID),HASH_FIND, &found); \
if (hentry == NULL) { \
elog(FATAL, "error in CACHE"); \
} \
if (found) { \
RELATION = hentry->reldesc; \
} \
else { \
RELATION = NULL; \
} \
}
#define RelationCacheDelete(RELATION) \
{ RelNameCacheEnt *namehentry; RelIdCacheEnt *idhentry; \
char *relname; Oid reloid; bool found; \
relname = (RELATION->rd_rel->relname).data; \
namehentry = (RelNameCacheEnt*)hash_search(RelationNameCache, \
relname, \
HASH_REMOVE, \
&found); \
if (namehentry == NULL) { \
elog(FATAL, "can't delete from relation descriptor cache"); \
} \
if (!found) { \
elog(NOTICE, "trying to delete a reldesc that does not exist."); \
} \
reloid = RELATION->rd_id; \
idhentry = (RelIdCacheEnt*)hash_search(RelationIdCache, \
(char *)&reloid, \
HASH_REMOVE, &found); \
if (idhentry == NULL) { \
elog(FATAL, "can't delete from relation descriptor cache"); \
} \
if (!found) { \
elog(NOTICE, "trying to delete a reldesc that does not exist."); \
} \
}
do { \
RelNameCacheEnt *hentry; bool found; \
hentry = (RelNameCacheEnt*)hash_search(RelationNameCache, \
(char *)NAME,HASH_FIND,&found); \
if (hentry == NULL) \
elog(FATAL, "error in CACHE"); \
if (found) \
RELATION = hentry->reldesc; \
else \
RELATION = NULL; \
} while(0)
#define RelationIdCacheLookup(ID, RELATION) \
do { \
RelIdCacheEnt *hentry; \
bool found; \
hentry = (RelIdCacheEnt*)hash_search(RelationIdCache, \
(char *)&(ID),HASH_FIND, &found); \
if (hentry == NULL) \
elog(FATAL, "error in CACHE"); \
if (found) \
RELATION = hentry->reldesc; \
else \
RELATION = NULL; \
} while(0)
#define RelationCacheDelete(RELATION) \
do { \
RelNameCacheEnt *namehentry; RelIdCacheEnt *idhentry; \
char *relname; Oid reloid; bool found; \
relname = (RELATION->rd_rel->relname).data; \
namehentry = (RelNameCacheEnt*)hash_search(RelationNameCache, \
relname, \
HASH_REMOVE, \
&found); \
if (namehentry == NULL) \
elog(FATAL, "can't delete from relation descriptor cache"); \
if (!found) \
elog(NOTICE, "trying to delete a reldesc that does not exist."); \
reloid = RELATION->rd_id; \
idhentry = (RelIdCacheEnt*)hash_search(RelationIdCache, \
(char *)&reloid, \
HASH_REMOVE, &found); \
if (idhentry == NULL) \
elog(FATAL, "can't delete from relation descriptor cache"); \
if (!found) \
elog(NOTICE, "trying to delete a reldesc that does not exist."); \
} while(0)
/* non-export function prototypes */
static
void
...
...
src/backend/utils/mmgr/portalmem.c
浏览文件 @
27db9ecd
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/mmgr/portalmem.c,v 1.1
0 1998/02/26 04:38:23
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/mmgr/portalmem.c,v 1.1
1 1998/06/15 18:39:44
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -125,41 +125,49 @@ typedef struct portalhashent
static
HTAB
*
PortalHashTable
=
NULL
;
#define PortalHashTableLookup(NAME, PORTAL) \
{ PortalHashEnt *hentry; bool found; char key[MAX_PORTALNAME_LEN]; \
MemSet(key, 0, MAX_PORTALNAME_LEN); \
sprintf(key, "%s", NAME); \
hentry = (PortalHashEnt*)hash_search(PortalHashTable, \
key, HASH_FIND, &found); \
if (hentry == NULL) \
elog(FATAL, "error in PortalHashTable"); \
if (found) \
PORTAL = hentry->portal; \
else \
PORTAL = NULL; \
}
do { \
PortalHashEnt *hentry; bool found; char key[MAX_PORTALNAME_LEN]; \
\
MemSet(key, 0, MAX_PORTALNAME_LEN); \
sprintf(key, "%s", NAME); \
hentry = (PortalHashEnt*)hash_search(PortalHashTable, \
key, HASH_FIND, &found); \
if (hentry == NULL) \
elog(FATAL, "error in PortalHashTable"); \
if (found) \
PORTAL = hentry->portal; \
else \
PORTAL = NULL; \
} while(0)
#define PortalHashTableInsert(PORTAL) \
{ PortalHashEnt *hentry; bool found; char key[MAX_PORTALNAME_LEN]; \
MemSet(key, 0, MAX_PORTALNAME_LEN); \
sprintf(key, "%s", PORTAL->name); \
hentry = (PortalHashEnt*)hash_search(PortalHashTable, \
key, HASH_ENTER, &found); \
if (hentry == NULL) \
elog(FATAL, "error in PortalHashTable"); \
if (found) \
elog(NOTICE, "trying to insert a portal name that exists."); \
hentry->portal = PORTAL; \
}
do { \
PortalHashEnt *hentry; bool found; char key[MAX_PORTALNAME_LEN]; \
\
MemSet(key, 0, MAX_PORTALNAME_LEN); \
sprintf(key, "%s", PORTAL->name); \
hentry = (PortalHashEnt*)hash_search(PortalHashTable, \
key, HASH_ENTER, &found); \
if (hentry == NULL) \
elog(FATAL, "error in PortalHashTable"); \
if (found) \
elog(NOTICE, "trying to insert a portal name that exists."); \
hentry->portal = PORTAL; \
} while(0)
#define PortalHashTableDelete(PORTAL) \
{ PortalHashEnt *hentry; bool found; char key[MAX_PORTALNAME_LEN]; \
MemSet(key, 0, MAX_PORTALNAME_LEN); \
sprintf(key, "%s", PORTAL->name); \
hentry = (PortalHashEnt*)hash_search(PortalHashTable, \
key, HASH_REMOVE, &found); \
if (hentry == NULL) \
elog(FATAL, "error in PortalHashTable"); \
if (!found) \
elog(NOTICE, "trying to delete portal name that does not exist."); \
}
{ \
PortalHashEnt *hentry; bool found; char key[MAX_PORTALNAME_LEN]; \
\
MemSet(key, 0, MAX_PORTALNAME_LEN); \
sprintf(key, "%s", PORTAL->name); \
hentry = (PortalHashEnt*)hash_search(PortalHashTable, \
key, HASH_REMOVE, &found); \
if (hentry == NULL) \
elog(FATAL, "error in PortalHashTable"); \
if (!found) \
elog(NOTICE, "trying to delete portal name that does not exist."); \
} while(0)
static
GlobalMemory
PortalMemory
=
NULL
;
static
char
PortalMemoryName
[]
=
"Portal"
;
...
...
src/backend/utils/sort/psort.c
浏览文件 @
27db9ecd
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/sort/Attic/psort.c,v 1.
39 1998/02/26 04:38:29
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/sort/Attic/psort.c,v 1.
40 1998/06/15 18:39:45
momjian Exp $
*
* NOTES
* Sorts the first relation into the second relation.
...
...
@@ -222,20 +222,24 @@ inittapes(Sort *node)
*/
#define PUTTUP(NODE, TUP, FP) do {\
((Psortstate *)NODE->psortstate)->BytesWritten += (TUP)->t_len; \
fwrite((char *)TUP, (TUP)->t_len, 1, FP); \
fwrite((char *)&((TUP)->t_len), sizeof (tlendummy), 1, FP); \
} while (0)
#define PUTTUP(NODE, TUP, FP) \
( \
((Psortstate *)NODE->psortstate)->BytesWritten += (TUP)->t_len, \
fwrite((char *)TUP, (TUP)->t_len, 1, FP), \
fwrite((char *)&((TUP)->t_len), sizeof (tlendummy), 1, FP) \
)
#define ENDRUN(FP) fwrite((char *)&tlenzero, sizeof (tlenzero), 1, FP)
#define GETLEN(LEN, FP) fread((char *)&(LEN), sizeof (tlenzero), 1, FP)
#define ALLOCTUP(LEN) ((HeapTuple)palloc((unsigned)LEN))
#define GETTUP(NODE, TUP, LEN, FP) do {\
IncrProcessed(); \
((Psortstate *)NODE->psortstate)->BytesRead += (LEN) - sizeof (tlenzero); \
fread((char *)(TUP) + sizeof (tlenzero), (LEN) - sizeof (tlenzero), 1, FP); \
fread((char *)&tlendummy, sizeof (tlendummy), 1, FP); \
} while (0)
#define GETTUP(NODE, TUP, LEN, FP) \
( \
IncrProcessed(), \
((Psortstate *)NODE->psortstate)->BytesRead += (LEN) - sizeof (tlenzero), \
fread((char *)(TUP) + sizeof (tlenzero), (LEN) - sizeof (tlenzero), 1, FP), \
fread((char *)&tlendummy, sizeof (tlendummy), 1, FP) \
)
#define SETTUPLEN(TUP, LEN) (TUP)->t_len = LEN
/*
...
...
src/bin/psql/psqlHelp.h
浏览文件 @
27db9ecd
...
...
@@ -5,7 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: psqlHelp.h,v 1.4
2 1998/03/30 19:04:53
momjian Exp $
* $Id: psqlHelp.h,v 1.4
3 1998/06/15 18:39:49
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -26,8 +26,8 @@ static struct _helpStruct QL_HELP[] = {
"abort [transaction];"
},
{
"alter table"
,
"add/rename attributes, rename tables"
,
"
\t
alter table <class_name> [*] add column <attr> <type>
;
\n
\
\t
alter table <class_name> [*] rename [column] <attr1> to <attr2>
;
\n
\
"
\t
alter table <class_name> [*] add column <attr> <type>
\n
\
\t
alter table <class_name> [*] rename [column] <attr1> to <attr2>
\n
\
\t
alter table <class_name1> rename to <class_name2>"
},
{
"alter user"
,
"alter system information for a user"
,
...
...
@@ -128,7 +128,7 @@ static struct _helpStruct QL_HELP[] = {
"create a new trigger"
,
"create trigger <trigger_name> after|before event1 [or event2 [or event3] ]
\n
\
\t
on <class_name> for each row|statement
\n
\
\t
execute procedure <func_name> ([arguments])
;
\n
\
\t
execute procedure <func_name> ([arguments])
\n
\
\n
\
\t
eventX is one of INSERT, DELETE, UPDATE"
},
{
"create type"
,
...
...
@@ -238,7 +238,7 @@ static struct _helpStruct QL_HELP[] = {
{
"insert"
,
"insert tuples"
,
"insert into <class_name> [(<attr1>...<attrN>)]
\n
\
\t
values (<expr1>...<exprN>)
;
|
\n
\
\t
values (<expr1>...<exprN>) |
\n
\
\t
select [distinct]
\n
\
\t
<expr1>,...<exprN>
\n
\
\t
[from <from_clause>]
\n
\
...
...
src/include/access/attnum.h
浏览文件 @
27db9ecd
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: attnum.h,v 1.
6 1997/09/08 02:34:0
2 momjian Exp $
* $Id: attnum.h,v 1.
7 1998/06/15 18:39:5
2 momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -47,8 +47,10 @@ typedef int16 AttrNumber;
* Assumes the attribute number is for an user defined attribute.
*/
#define AttrNumberGetAttrOffset(attNum) \
(AssertMacro(AttrNumberIsForUserDefinedAttr(attNum)) ? \
((attNum - 1)) : 0)
( \
AssertMacro(AttrNumberIsForUserDefinedAttr(attNum)), \
((attNum) - 1) \
)
/*
* AttributeOffsetGetAttributeNumber --
...
...
src/include/access/heapam.h
浏览文件 @
27db9ecd
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: heapam.h,v 1.3
2 1998/06/14 01:34:07
momjian Exp $
* $Id: heapam.h,v 1.3
3 1998/06/15 18:39:53
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -92,43 +92,37 @@ typedef HeapAccessStatisticsData *HeapAccessStatistics;
#define fastgetattr(tup, attnum, tupleDesc, isnull) \
( \
AssertMacro((attnum) > 0) ? \
AssertMacro((attnum) > 0), \
((isnull) ? (*(isnull) = false) : (dummyret)NULL), \
HeapTupleNoNulls(tup) ? \
( \
((
isnull) ? (*(isnull) = false) : (dummyret)NULL),
\
HeapTupleNoNulls(tup
) ? \
((
tupleDesc)->attrs[(attnum)-1]->attcacheoff != -1 ||
\
(attnum) == 1
) ? \
( \
((tupleDesc)->attrs[(attnum)-1]->attcacheoff != -1 || \
(attnum) == 1) ? \
( \
(Datum)fetchatt(&((tupleDesc)->attrs[(attnum)-1]), \
(char *) (tup) + (tup)->t_hoff + \
( \
((attnum) != 1) ? \
(tupleDesc)->attrs[(attnum)-1]->attcacheoff \
: \
0 \
) \
(Datum)fetchatt(&((tupleDesc)->attrs[(attnum)-1]), \
(char *) (tup) + (tup)->t_hoff + \
( \
((attnum) != 1) ? \
(tupleDesc)->attrs[(attnum)-1]->attcacheoff \
: \
0 \
) \
) \
: \
nocachegetattr((tup), (attnum), (tupleDesc), (isnull)) \
) \
: \
( \
att_isnull((attnum)-1, (tup)->t_bits) ? \
( \
((isnull) ? (*(isnull) = true) : (dummyret)NULL), \
(Datum)NULL \
) \
: \
( \
nocachegetattr((tup), (attnum), (tupleDesc), (isnull)) \
) \
) \
nocachegetattr((tup), (attnum), (tupleDesc), (isnull)) \
) \
: \
( \
(Datum)NULL \
att_isnull((attnum)-1, (tup)->t_bits) ? \
( \
((isnull) ? (*(isnull) = true) : (dummyret)NULL), \
(Datum)NULL \
) \
: \
( \
nocachegetattr((tup), (attnum), (tupleDesc), (isnull)) \
) \
) \
)
...
...
@@ -208,39 +202,33 @@ static Datum fastgetattr(HeapTuple tup, int attnum, TupleDesc tupleDesc,
( \
AssertMacro((tup) != NULL && \
(attnum) > FirstLowInvalidHeapAttributeNumber && \
(attnum) != 0) ? \
(attnum) != 0), \
((attnum) > (int) (tup)->t_natts) ? \
( \
((attnum) > (int) (tup)->t_natts) ? \
((isnull) ? (*(isnull) = true) : (dummyret)NULL), \
(Datum)NULL \
) \
: \
( \
((attnum) > 0) ? \
( \
((isnull) ? (*(isnull) = true) : (dummyret)NULL), \
(Datum)NULL \
fastgetattr((tup), (attnum), (tupleDesc), (isnull)) \
) \
: \
( \
((attnum) > 0) ? \
((isnull) ? (*(isnull) = false) : (dummyret)NULL), \
((attnum) == SelfItemPointerAttributeNumber) ? \
( \
fastgetattr((tup), (attnum), (tupleDesc), (isnull)) \
(Datum)((char *)(tup) + \
heap_sysoffset[-SelfItemPointerAttributeNumber-1]) \
) \
: \
( \
((isnull) ? (*(isnull) = false) : (dummyret)NULL), \
((attnum) == SelfItemPointerAttributeNumber) ? \
( \
(Datum)((char *)(tup) + \
heap_sysoffset[-SelfItemPointerAttributeNumber-1]) \
) \
: \
( \
(Datum)*(unsigned int *) \
((char *)(tup) + heap_sysoffset[-(attnum)-1]) \
) \
(Datum)*(unsigned int *) \
((char *)(tup) + heap_sysoffset[-(attnum)-1]) \
) \
) \
) \
: \
( \
(Datum)NULL \
) \
)
extern
HeapAccessStatistics
heap_access_stats
;
/* in stats.c */
...
...
src/include/access/itup.h
浏览文件 @
27db9ecd
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: itup.h,v 1.1
3 1998/02/26 04:40:19
momjian Exp $
* $Id: itup.h,v 1.1
4 1998/06/15 18:39:54
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -118,49 +118,43 @@ typedef struct PredInfo
*/
#define index_getattr(tup, attnum, tupleDesc, isnull) \
( \
AssertMacro(PointerIsValid(isnull) && (attnum) > 0) ? \
AssertMacro(PointerIsValid(isnull) && (attnum) > 0), \
*(isnull) = false, \
IndexTupleNoNulls(tup) ? \
( \
*(isnull) = false,
\
IndexTupleNoNulls(tup
) ? \
((tupleDesc)->attrs[(attnum)-1]->attcacheoff != -1 ||
\
(attnum) == 1
) ? \
( \
(
(tupleDesc)->attrs[(attnum)-1]->attcacheoff != -1 ||
\
(attnum) == 1) ?
\
(
Datum)fetchatt(&((tupleDesc)->attrs[(attnum)-1]),
\
(char *) (tup) +
\
( \
(Datum)fetchatt(&((tupleDesc)->attrs[(attnum)-1]), \
(char *) (tup) + \
( \
IndexTupleHasMinHeader(tup) ? \
sizeof (*(tup)) \
: \
IndexInfoFindDataOffset((tup)->t_info) \
) + \
( \
((attnum) != 1) ? \
(tupleDesc)->attrs[(attnum)-1]->attcacheoff \
: \
0 \
) \
IndexTupleHasMinHeader(tup) ? \
sizeof (*(tup)) \
: \
IndexInfoFindDataOffset((tup)->t_info) \
) + \
( \
((attnum) != 1) ? \
(tupleDesc)->attrs[(attnum)-1]->attcacheoff \
: \
0 \
) \
) \
: \
nocache_index_getattr((tup), (attnum), (tupleDesc), (isnull)) \
) \
: \
( \
(att_isnull((attnum)-1, (char *)(tup) + sizeof(*(tup)))) ? \
( \
*(isnull) = true, \
(Datum)NULL \
) \
: \
( \
nocache_index_getattr((tup), (attnum), (tupleDesc), (isnull)) \
) \
) \
nocache_index_getattr((tup), (attnum), (tupleDesc), (isnull)) \
) \
: \
( \
(Datum)NULL \
(att_isnull((attnum)-1, (char *)(tup) + sizeof(*(tup)))) ? \
( \
*(isnull) = true, \
(Datum)NULL \
) \
: \
( \
nocache_index_getattr((tup), (attnum), (tupleDesc), (isnull)) \
) \
) \
)
...
...
src/include/c.h
浏览文件 @
27db9ecd
...
...
@@ -7,7 +7,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: c.h,v 1.
39 1998/04/06 17:27:49
momjian Exp $
* $Id: c.h,v 1.
40 1998/06/15 18:39:51
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -624,7 +624,7 @@ typedef struct Exception
Trap(!(condition), FailedAssertion)
#define AssertMacro(condition) \
TrapMacro(!(condition), FailedAssertion)
(void)
TrapMacro(!(condition), FailedAssertion)
#define AssertArg(condition) \
Trap(!(condition), BadArg)
...
...
src/include/executor/execdebug.h
浏览文件 @
27db9ecd
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: execdebug.h,v 1.
4 1997/09/08 02:36:12
momjian Exp $
* $Id: execdebug.h,v 1.
5 1998/06/15 18:39:55
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -193,14 +193,15 @@ extern int NIndexTupleInserted;
#define IncrIndexProcessed() NIndexTupleProcessed++
#define IncrIndexInserted() NIndexTupleInserted++
#else
#define IncrRetrieved()
#define IncrAppended()
#define IncrDeleted()
#define IncrReplaced()
#define IncrInserted()
#define IncrProcessed()
#define IncrIndexProcessed()
#define IncrIndexInserted()
/* stop compiler warnings */
#define IncrRetrieved() (void)(0)
#define IncrAppended() (void)(0)
#define IncrDeleted() (void)(0)
#define IncrReplaced() (void)(0)
#define IncrInserted() (void)(0)
#define IncrProcessed() (void)(0)
#define IncrIndexProcessed() (void)(0)
#define IncrIndexInserted() (void)(0)
#endif
/* EXEC_TUPLECOUNT */
/* ----------------
...
...
src/include/storage/block.h
浏览文件 @
27db9ecd
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: block.h,v 1.
5 1997/09/08 20:58:59
momjian Exp $
* $Id: block.h,v 1.
6 1998/06/15 18:40:00
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -79,19 +79,23 @@ typedef BlockIdData *BlockId; /* block identifier */
* Sets a block identifier to the specified value.
*/
#define BlockIdSet(blockId, blockNumber) \
Assert(PointerIsValid(blockId)); \
(blockId)->bi_hi = (blockNumber) >> 16; \
(blockId)->bi_lo = (blockNumber) & 0xffff
( \
AssertMacro(PointerIsValid(blockId)), \
(blockId)->bi_hi = (blockNumber) >> 16, \
(blockId)->bi_lo = (blockNumber) & 0xffff \
)
/*
* BlockIdCopy --
* Copy a block identifier.
*/
#define BlockIdCopy(toBlockId, fromBlockId) \
Assert(PointerIsValid(toBlockId)); \
Assert(PointerIsValid(fromBlockId)); \
(toBlockId)->bi_hi = (fromBlockId)->bi_hi; \
(toBlockId)->bi_lo = (fromBlockId)->bi_lo
( \
AssertMacro(PointerIsValid(toBlockId)), \
AssertMacro(PointerIsValid(fromBlockId)), \
(toBlockId)->bi_hi = (fromBlockId)->bi_hi, \
(toBlockId)->bi_lo = (fromBlockId)->bi_lo \
)
/*
* BlockIdEquals --
...
...
@@ -106,8 +110,9 @@ typedef BlockIdData *BlockId; /* block identifier */
* Retrieve the block number from a block identifier.
*/
#define BlockIdGetBlockNumber(blockId) \
(AssertMacro(BlockIdIsValid(blockId)) ? \
(BlockNumber) (((blockId)->bi_hi << 16) | ((uint16) (blockId)->bi_lo)) : \
(BlockNumber) InvalidBlockNumber)
( \
AssertMacro(BlockIdIsValid(blockId)), \
(BlockNumber) (((blockId)->bi_hi << 16) | ((uint16) (blockId)->bi_lo)) \
)
#endif
/* BLOCK_H */
src/include/storage/buf_internals.h
浏览文件 @
27db9ecd
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: buf_internals.h,v 1.2
1 1998/02/26 04:43:2
1 momjian Exp $
* $Id: buf_internals.h,v 1.2
2 1998/06/15 18:40:0
1 momjian Exp $
*
* NOTE
* If BUFFERPAGE0 is defined, then 0 will be used as a
...
...
@@ -55,26 +55,32 @@ struct buftag
BlockNumber
blockNum
;
/* blknum relative to begin of reln */
};
#define CLEAR_BUFFERTAG(a)\
(a)->relId.dbId = InvalidOid; \
(a)->relId.relId = InvalidOid; \
(a)->blockNum = InvalidBlockNumber
#define CLEAR_BUFFERTAG(a) \
( \
(a)->relId.dbId = InvalidOid, \
(a)->relId.relId = InvalidOid, \
(a)->blockNum = InvalidBlockNumber \
)
#define INIT_BUFFERTAG(a,xx_reln,xx_blockNum) \
{ \
(a)->blockNum = xx_blockNum;\
(a)->relId = RelationGetLRelId(xx_reln); \
}
( \
(a)->blockNum = xx_blockNum, \
(a)->relId = RelationGetLRelId(xx_reln) \
)
#ifdef NOT_USED
#define COPY_BUFFERTAG(a,b)\
{
\
(a)->blockNum = (b)->blockNum;
\
LRelIdAssign(*(a),*(b));
\
}
#define COPY_BUFFERTAG(a,b)
\
(
\
(a)->blockNum = (b)->blockNum,
\
LRelIdAssign(*(a),*(b))
\
)
#define EQUAL_BUFFERTAG(a,b) \
(((a)->blockNum == (b)->blockNum) &&\
(OID_Equal((a)->relId.relId,(b)->relId.relId)))
( \
((a)->blockNum == (b)->blockNum && \
OID_Equal((a)->relId.relId,(b)->relId.relId)) \
)
#endif
#define BAD_BUFFER_ID(bid) ((bid<1) || (bid>(NBuffers)))
...
...
src/include/storage/bufmgr.h
浏览文件 @
27db9ecd
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: bufmgr.h,v 1.
19 1998/04/24 14:43:18
momjian Exp $
* $Id: bufmgr.h,v 1.
20 1998/06/15 18:40:02
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -117,8 +117,7 @@ extern int ShowPinTrace;
*/
#define BufferGetBlock(buffer) \
( \
(void)AssertMacro(BufferIsValid(buffer)), \
\
AssertMacro(BufferIsValid(buffer)), \
BufferIsLocal(buffer) ? \
((Block) MAKE_PTR(LocalBufferDescriptors[-(buffer) - 1].data)) \
: \
...
...
src/include/storage/bufpage.h
浏览文件 @
27db9ecd
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: bufpage.h,v 1.1
8 1998/04/24 14:43:23
momjian Exp $
* $Id: bufpage.h,v 1.1
9 1998/06/15 18:40:02
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -161,8 +161,10 @@ typedef enum
* Assumes page is valid.
*/
#define PageIsUsed(page) \
(AssertMacro(PageIsValid(page)) ? \
((bool) (((PageHeader) (page))->pd_lower != 0)) : false)
( \
AssertMacro(PageIsValid(page)), \
((bool) (((PageHeader) (page))->pd_lower != 0)) \
)
/*
* PageIsEmpty --
...
...
@@ -243,9 +245,10 @@ typedef enum
* Assumes page is locked.
*/
#define PageGetSpecialPointer(page) \
(AssertMacro(PageIsValid(page)) ? \
(char *) ((char *) (page) + ((PageHeader) (page))->pd_special) \
: (char *)0 )
( \
AssertMacro(PageIsValid(page)), \
(char *) ((char *) (page) + ((PageHeader) (page))->pd_special) \
)
/*
* PageGetItem --
...
...
@@ -256,9 +259,11 @@ typedef enum
* The semantics may change in the future.
*/
#define PageGetItem(page, itemId) \
(AssertMacro(PageIsValid(page)) ? \
AssertMacro((itemId)->lp_flags & LP_USED) ? \
(Item)(((char *)(page)) + (itemId)->lp_off) : false : false)
( \
AssertMacro(PageIsValid(page)), \
AssertMacro((itemId)->lp_flags & LP_USED), \
(Item)(((char *)(page)) + (itemId)->lp_off) \
)
/*
* BufferGetPageSize --
...
...
@@ -272,7 +277,10 @@ typedef enum
*/
/* XXX dig out of buffer descriptor */
#define BufferGetPageSize(buffer) \
(AssertMacro(BufferIsValid(buffer)) ? (Size)BLCKSZ : false)
( \
AssertMacro(BufferIsValid(buffer)), \
(Size)BLCKSZ \
)
/*
* BufferGetPage --
...
...
src/include/storage/itemid.h
浏览文件 @
27db9ecd
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: itemid.h,v 1.
5 1998/01/13 04:05:12 scrappy
Exp $
* $Id: itemid.h,v 1.
6 1998/06/15 18:40:03 momjian
Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -70,7 +70,9 @@ typedef struct ItemIdData *ItemId;
* Assumes disk item identifier is valid.
*/
#define ItemIdIsUsed(itemId) \
(AssertMacro(ItemIdIsValid(itemId)) ? \
(bool) (((itemId)->lp_flags & LP_USED) != 0) : false)
( \
AssertMacro(ItemIdIsValid(itemId)), \
(bool) (((itemId)->lp_flags & LP_USED) != 0) \
)
#endif
/* ITEMID_H */
src/include/storage/itemptr.h
浏览文件 @
27db9ecd
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: itemptr.h,v 1.
7 1997/09/08 21:54:25
momjian Exp $
* $Id: itemptr.h,v 1.
8 1998/06/15 18:40:03
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -48,60 +48,73 @@ typedef ItemPointerData *ItemPointer;
* Returns the block number of a disk item pointer.
*/
#define ItemPointerGetBlockNumber(pointer) \
(AssertMacro(ItemPointerIsValid(pointer)) ? \
BlockIdGetBlockNumber(&(pointer)->ip_blkid) : (BlockNumber) 0)
( \
AssertMacro(ItemPointerIsValid(pointer)), \
BlockIdGetBlockNumber(&(pointer)->ip_blkid) \
)
/*
* ItemPointerGetOffsetNumber --
* Returns the offset number of a disk item pointer.
*/
#define ItemPointerGetOffsetNumber(pointer) \
(AssertMacro(ItemPointerIsValid(pointer)) ? \
(pointer)->ip_posid : \
InvalidOffsetNumber)
( \
AssertMacro(ItemPointerIsValid(pointer)), \
(pointer)->ip_posid \
)
/*
* ItemPointerSet --
* Sets a disk item pointer to the specified block and offset.
*/
#define ItemPointerSet(pointer, blockNumber, offNum) \
Assert(PointerIsValid(pointer)); \
BlockIdSet(&((pointer)->ip_blkid), blockNumber); \
(pointer)->ip_posid = offNum
( \
AssertMacro(PointerIsValid(pointer)), \
BlockIdSet(&((pointer)->ip_blkid), blockNumber), \
(pointer)->ip_posid = offNum \
)
/*
* ItemPointerSetBlockNumber --
* Sets a disk item pointer to the specified block.
*/
#define ItemPointerSetBlockNumber(pointer, blockNumber) \
Assert(PointerIsValid(pointer)); \
BlockIdSet(&((pointer)->ip_blkid), blockNumber)
( \
AssertMacro(PointerIsValid(pointer)), \
BlockIdSet(&((pointer)->ip_blkid), blockNumber) \
)
/*
* ItemPointerSetOffsetNumber --
* Sets a disk item pointer to the specified offset.
*/
#define ItemPointerSetOffsetNumber(pointer, offsetNumber) \
AssertMacro(PointerIsValid(pointer)); \
(pointer)->ip_posid = (offsetNumber)
( \
AssertMacro(PointerIsValid(pointer)), \
(pointer)->ip_posid = (offsetNumber) \
)
/*
* ItemPointerCopy --
* Copies the contents of one disk item pointer to another.
*/
#define ItemPointerCopy(fromPointer, toPointer) \
Assert(PointerIsValid(toPointer)); \
Assert(PointerIsValid(fromPointer)); \
*(toPointer) = *(fromPointer)
( \
AssertMacro(PointerIsValid(toPointer)), \
AssertMacro(PointerIsValid(fromPointer)), \
*(toPointer) = *(fromPointer) \
)
/*
* ItemPointerSetInvalid --
* Sets a disk item pointer to be invalid.
*/
#define ItemPointerSetInvalid(pointer) \
Assert(PointerIsValid(pointer)); \
BlockIdSet(&((pointer)->ip_blkid), InvalidBlockNumber); \
(pointer)->ip_posid = InvalidOffsetNumber
( \
AssertMacro(PointerIsValid(pointer)), \
BlockIdSet(&((pointer)->ip_blkid), InvalidBlockNumber), \
(pointer)->ip_posid = InvalidOffsetNumber \
)
/* ----------------
* externs
...
...
src/include/storage/lock.h
浏览文件 @
27db9ecd
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: lock.h,v 1.1
1 1998/02/26 04:43:28
momjian Exp $
* $Id: lock.h,v 1.1
2 1998/06/15 18:40:03
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -191,8 +191,10 @@ typedef struct Lock
#define LockGetLock_nHolders(l) l->nHolders
#define LockDecrWaitHolders(lock, lockt) \
lock->nHolding--; \
lock->holders[lockt]--
( \
lock->nHolding--, \
lock->holders[lockt]-- \
)
#define LockLockTable() SpinAcquire(LockMgrLock);
#define UnlockLockTable() SpinRelease(LockMgrLock);
...
...
src/include/storage/s_lock.h
浏览文件 @
27db9ecd
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.3
4 1998/05/06 23:25:1
4 momjian Exp $
* $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.3
5 1998/06/15 18:40:0
4 momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -209,19 +209,22 @@ extern void s_lock(slock_t *lock);
#else
/* S_LOCK_DEBUG */
#define S_LOCK(lock) if (1) { \
#define S_LOCK(lock) \
do { \
int spins = 0; \
while (TAS(lock)) { \
while (TAS(lock)) \
{ \
struct timeval delay; \
delay.tv_sec = 0; \
delay.tv_usec = s_spincycle[spins++ % S_NSPINCYCLE]; \
(void) select(0, NULL, NULL, NULL, &delay); \
if (spins > S_MAX_BUSY) { \
if (spins > S_MAX_BUSY) \
{ \
/* It's been well over a minute... */
\
s_lock_stuck(lock, __FILE__, __LINE__); \
} \
} \
}
else
}
while(0)
#endif
/* S_LOCK_DEBUG */
#endif
/* S_LOCK */
...
...
src/include/utils/exc.h
浏览文件 @
27db9ecd
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: exc.h,v 1.1
2 1998/02/26 04:43:59
momjian Exp $
* $Id: exc.h,v 1.1
3 1998/06/15 18:40:05
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -47,23 +47,28 @@ typedef struct ExcFrame
extern
ExcFrame
*
ExcCurFrameP
;
#define ExcBegin() \
{ \
ExcFrame exception; \
\
exception.link = ExcCurFrameP; \
if (sigsetjmp(exception.context, 1) == 0) { \
ExcCurFrameP = &exception; \
{
#define ExcExcept() \
} \
ExcCurFrameP = exception.link; \
} else { \
{
#define ExcEnd() \
} \
} \
}
/* These are not used anywhere 1998/6/15 */
#define ExcBegin() \
do { \
ExcFrame exception;\
\
exception.link = ExcCurFrameP; \
if (sigsetjmp(exception.context, 1) == 0) \
{ \
ExcCurFrameP = &exception;
#define ExcExcept() \
} \
ExcCurFrameP = exception.link; \
} \
else \
{ \
{
#define ExcEnd() \
} \
} \
} while(0)
#define raise4(x, t, d, message) \
ExcRaise(&(x), (ExcDetail)(t), (ExcData)(d), (ExcMessage)(message))
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录