Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
1ea01720
Commit
1ea01720
authored
Sep 12, 1997
by
Bruce Momjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
heapattr functions now return a Datum, not char *.
parent
6e04b4b2
Changes
28
Show whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
177 additions
and
188 deletions
+177
-188
src/backend/access/common/heaptuple.c
src/backend/access/common/heaptuple.c
+25
-28
src/backend/access/common/heapvalid.c
src/backend/access/common/heapvalid.c
+5
-5
src/backend/access/common/printtup.c
src/backend/access/common/printtup.c
+9
-8
src/backend/access/index/indexam.c
src/backend/access/index/indexam.c
+8
-8
src/backend/commands/async.c
src/backend/commands/async.c
+12
-12
src/backend/commands/copy.c
src/backend/commands/copy.c
+2
-3
src/backend/commands/vacuum.c
src/backend/commands/vacuum.c
+8
-11
src/backend/executor/execJunk.c
src/backend/executor/execJunk.c
+4
-7
src/backend/executor/execQual.c
src/backend/executor/execQual.c
+16
-19
src/backend/executor/functions.c
src/backend/executor/functions.c
+2
-6
src/backend/executor/nodeAgg.c
src/backend/executor/nodeAgg.c
+1
-1
src/backend/executor/nodeGroup.c
src/backend/executor/nodeGroup.c
+3
-3
src/backend/executor/nodeUnique.c
src/backend/executor/nodeUnique.c
+3
-3
src/backend/executor/spi.c
src/backend/executor/spi.c
+3
-3
src/backend/libpq/be-dumpdata.c
src/backend/libpq/be-dumpdata.c
+2
-2
src/backend/parser/catalog_utils.c
src/backend/parser/catalog_utils.c
+3
-3
src/backend/parser/parser.c
src/backend/parser/parser.c
+3
-3
src/backend/rewrite/rewriteRemove.c
src/backend/rewrite/rewriteRemove.c
+6
-6
src/backend/rewrite/rewriteSupport.c
src/backend/rewrite/rewriteSupport.c
+9
-9
src/backend/storage/large_object/inv_api.c
src/backend/storage/large_object/inv_api.c
+6
-6
src/backend/utils/adt/not_in.c
src/backend/utils/adt/not_in.c
+6
-6
src/backend/utils/cache/catcache.c
src/backend/utils/cache/catcache.c
+17
-17
src/backend/utils/cache/syscache.c
src/backend/utils/cache/syscache.c
+3
-3
src/backend/utils/fmgr/dfmgr.c
src/backend/utils/fmgr/dfmgr.c
+3
-3
src/backend/utils/sort/lselect.c
src/backend/utils/sort/lselect.c
+3
-3
src/backend/utils/time/tqual.c
src/backend/utils/time/tqual.c
+8
-2
src/include/access/heapam.h
src/include/access/heapam.h
+6
-7
src/include/executor/spi.h
src/include/executor/spi.h
+1
-1
No files found.
src/backend/access/common/heaptuple.c
View file @
1ea01720
...
...
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.2
4 1997/09/08 21:40:18
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.2
5 1997/09/12 04:07:06
momjian Exp $
*
* NOTES
* The old interface functions have been converted to macros
...
...
@@ -372,25 +372,25 @@ heap_sysattrbyval(AttrNumber attno)
* heap_getsysattr
* ----------------
*/
char
*
Datum
heap_getsysattr
(
HeapTuple
tup
,
Buffer
b
,
int
attnum
)
{
switch
(
attnum
)
{
case
SelfItemPointerAttributeNumber
:
return
((
char
*
)
&
tup
->
t_ctid
);
return
((
Datum
)
&
tup
->
t_ctid
);
case
ObjectIdAttributeNumber
:
return
((
char
*
)
(
long
)
tup
->
t_oid
);
return
((
Datum
)
(
long
)
tup
->
t_oid
);
case
MinTransactionIdAttributeNumber
:
return
((
char
*
)
(
long
)
tup
->
t_xmin
);
return
((
Datum
)
(
long
)
tup
->
t_xmin
);
case
MinCommandIdAttributeNumber
:
return
((
char
*
)
(
long
)
tup
->
t_cmin
);
return
((
Datum
)
(
long
)
tup
->
t_cmin
);
case
MaxTransactionIdAttributeNumber
:
return
((
char
*
)
(
long
)
tup
->
t_xmax
);
return
((
Datum
)
(
long
)
tup
->
t_xmax
);
case
MaxCommandIdAttributeNumber
:
return
((
char
*
)
(
long
)
tup
->
t_cmax
);
return
((
Datum
)
(
long
)
tup
->
t_cmax
);
case
ChainItemPointerAttributeNumber
:
return
((
char
*
)
&
tup
->
t_chain
);
return
((
Datum
)
&
tup
->
t_chain
);
case
AnchorItemPointerAttributeNumber
:
elog
(
WARN
,
"heap_getsysattr: t_anchor does not exist!"
);
break
;
...
...
@@ -409,7 +409,7 @@ heap_getsysattr(HeapTuple tup, Buffer b, int attnum)
if
(
!
AbsoluteTimeIsBackwardCompatiblyValid
(
tup
->
t_tmin
)
&&
TransactionIdDidCommit
(
tup
->
t_xmin
))
tup
->
t_tmin
=
TransactionIdGetCommitTime
(
tup
->
t_xmin
);
return
((
char
*
)
(
long
)
tup
->
t_tmin
);
return
((
Datum
)
(
long
)
tup
->
t_tmin
);
case
MaxAbsoluteTimeAttributeNumber
:
if
(
!
AbsoluteTimeIsBackwardCompatiblyReal
(
tup
->
t_tmax
))
{
...
...
@@ -418,9 +418,9 @@ heap_getsysattr(HeapTuple tup, Buffer b, int attnum)
else
tup
->
t_tmax
=
CURRENT_ABSTIME
;
}
return
((
char
*
)
(
long
)
tup
->
t_tmax
);
return
((
Datum
)
(
long
)
tup
->
t_tmax
);
case
VersionTypeAttributeNumber
:
return
((
char
*
)
(
long
)
tup
->
t_vtype
);
return
((
Datum
)
(
long
)
tup
->
t_vtype
);
default:
elog
(
WARN
,
"heap_getsysattr: undefined attnum %d"
,
attnum
);
}
...
...
@@ -444,7 +444,7 @@ heap_getsysattr(HeapTuple tup, Buffer b, int attnum)
* the same attribute descriptor will go much quicker. -cim 5/4/91
* ----------------
*/
char
*
Datum
fastgetattr
(
HeapTuple
tup
,
int
attnum
,
TupleDesc
tupleDesc
,
...
...
@@ -479,7 +479,7 @@ fastgetattr(HeapTuple tup,
attnum
--
;
if
(
att
[
attnum
]
->
attcacheoff
>
0
)
{
return
(
char
*
)
return
(
Datum
)
fetchatt
(
&
(
att
[
attnum
]),
(
char
*
)
tup
+
tup
->
t_hoff
+
att
[
attnum
]
->
attcacheoff
);
}
...
...
@@ -489,7 +489,7 @@ fastgetattr(HeapTuple tup,
/*
* first attribute is always at position zero
*/
return
((
char
*
)
fetchatt
(
&
(
att
[
0
]),
(
char
*
)
tup
+
tup
->
t_hoff
));
return
((
Datum
)
fetchatt
(
&
(
att
[
0
]),
(
char
*
)
tup
+
tup
->
t_hoff
));
}
tp
=
(
char
*
)
tup
+
tup
->
t_hoff
;
...
...
@@ -543,13 +543,13 @@ fastgetattr(HeapTuple tup,
{
if
(
att
[
attnum
]
->
attcacheoff
>
0
)
{
return
(
char
*
)
return
(
Datum
)
fetchatt
(
&
(
att
[
attnum
]),
tp
+
att
[
attnum
]
->
attcacheoff
);
}
else
if
(
attnum
==
0
)
{
return
(
char
*
)
return
(
Datum
)
fetchatt
(
&
(
att
[
0
]),
(
char
*
)
tup
+
tup
->
t_hoff
);
}
else
if
(
!
HeapTupleAllFixed
(
tup
))
...
...
@@ -618,7 +618,7 @@ fastgetattr(HeapTuple tup,
}
return
(
char
*
)
fetchatt
(
&
(
att
[
attnum
]),
tp
+
att
[
attnum
]
->
attcacheoff
);
(
Datum
)
fetchatt
(
&
(
att
[
attnum
]),
tp
+
att
[
attnum
]
->
attcacheoff
);
}
else
{
...
...
@@ -729,7 +729,7 @@ fastgetattr(HeapTuple tup,
off
=
LONGALIGN
(
off
);
break
;
}
return
((
char
*
)
fetchatt
(
&
(
att
[
attnum
]),
tp
+
off
));
return
((
Datum
)
fetchatt
(
&
(
att
[
attnum
]),
tp
+
off
));
}
}
...
...
@@ -782,7 +782,7 @@ heap_deformtuple(HeapTuple tuple,
{
bool
isnull
;
values
[
i
]
=
(
Datum
)
heap_getattr
(
tuple
,
values
[
i
]
=
heap_getattr
(
tuple
,
InvalidBuffer
,
i
+
1
,
tdesc
,
...
...
@@ -936,15 +936,12 @@ heap_modifytuple(HeapTuple tuple,
if
(
repl
[
attoff
]
==
' '
)
{
char
*
attr
;
attr
=
value
[
attoff
]
=
heap_getattr
(
tuple
,
InvalidBuffer
,
AttrOffsetGetAttrNumber
(
attoff
),
RelationGetTupleDescriptor
(
relation
),
&
isNull
);
value
[
attoff
]
=
PointerGetDatum
(
attr
);
nulls
[
attoff
]
=
(
isNull
)
?
'n'
:
' '
;
}
...
...
src/backend/access/common/heapvalid.c
View file @
1ea01720
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/common/Attic/heapvalid.c,v 1.1
8 1997/09/08 02:19:51
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/access/common/Attic/heapvalid.c,v 1.1
9 1997/09/12 04:07:09
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -42,7 +42,7 @@ heap_keytest(HeapTuple t,
for
(;
nkeys
--
;
keys
++
)
{
atp
=
(
Datum
)
heap_getattr
(
t
,
InvalidBuffer
,
atp
=
heap_getattr
(
t
,
InvalidBuffer
,
keys
->
sk_attno
,
tupdesc
,
&
isnull
);
...
...
src/backend/access/common/printtup.c
View file @
1ea01720
...
...
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/common/printtup.c,v 1.1
7 1997/09/08 02:19:56
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/access/common/printtup.c,v 1.1
8 1997/09/12 04:07:12
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -76,8 +76,8 @@ printtup(HeapTuple tuple, TupleDesc typeinfo)
int
i
,
j
,
k
;
char
*
outputstr
,
*
attr
;
char
*
outputstr
;
Datum
attr
;
bool
isnull
;
Oid
typoutput
;
...
...
@@ -176,8 +176,8 @@ void
debugtup
(
HeapTuple
tuple
,
TupleDesc
typeinfo
)
{
register
int
i
;
char
*
attr
,
*
value
;
Datum
attr
;
char
*
value
;
bool
isnull
;
Oid
typoutput
;
...
...
@@ -212,7 +212,7 @@ printtup_internal(HeapTuple tuple, TupleDesc typeinfo)
int
i
,
j
,
k
;
char
*
attr
;
Datum
attr
;
bool
isnull
;
/* ----------------
...
...
@@ -308,9 +308,10 @@ printtup_internal(HeapTuple tuple, TupleDesc typeinfo)
else
{
pq_putint
(
len
,
sizeof
(
int32
));
pq_putnchar
(
attr
,
len
);
pq_putnchar
(
DatumGetPointer
(
attr
)
,
len
);
#ifdef IPORTAL_DEBUG
fprintf
(
stderr
,
"byref length %d data %x
\n
"
,
len
,
attr
);
fprintf
(
stderr
,
"byref length %d data %x
\n
"
,
len
,
DatumGetPointer
(
attr
));
#endif
}
}
...
...
src/backend/access/index/indexam.c
View file @
1ea01720
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/index/indexam.c,v 1.1
6 1997/09/08 21:41:06
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/access/index/indexam.c,v 1.1
7 1997/09/12 04:07:15
momjian Exp $
*
* INTERFACE ROUTINES
* index_open - open an index relation by relationId
...
...
@@ -385,7 +385,7 @@ GetIndexValue(HeapTuple tuple,
for
(
i
=
0
;
i
<
FIgetnArgs
(
fInfo
);
i
++
)
{
attData
[
i
]
=
(
Datum
)
heap_getattr
(
tuple
,
attData
[
i
]
=
heap_getattr
(
tuple
,
buffer
,
attrNums
[
i
],
hTupDesc
,
...
...
@@ -400,7 +400,7 @@ GetIndexValue(HeapTuple tuple,
}
else
{
returnVal
=
(
Datum
)
heap_getattr
(
tuple
,
buffer
,
attrNums
[
attOff
],
returnVal
=
heap_getattr
(
tuple
,
buffer
,
attrNums
[
attOff
],
hTupDesc
,
attNull
);
}
return
returnVal
;
...
...
src/backend/commands/async.c
View file @
1ea01720
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/async.c,v 1.
19 1997/09/08 02:21:54
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/commands/async.c,v 1.
20 1997/09/12 04:07:20
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -216,7 +216,7 @@ Async_Notify(char *relname)
while
(
HeapTupleIsValid
(
lTuple
=
heap_getnext
(
sRel
,
0
,
&
b
)))
{
d
=
(
Datum
)
heap_getattr
(
lTuple
,
b
,
Anum_pg_listener_notify
,
d
=
heap_getattr
(
lTuple
,
b
,
Anum_pg_listener_notify
,
tdesc
,
&
isnull
);
if
(
!
DatumGetInt32
(
d
))
{
...
...
@@ -293,12 +293,12 @@ Async_NotifyAtCommit()
while
(
HeapTupleIsValid
(
lTuple
=
heap_getnext
(
sRel
,
0
,
&
b
)))
{
d
=
(
Datum
)
heap_getattr
(
lTuple
,
b
,
Anum_pg_listener_relname
,
d
=
heap_getattr
(
lTuple
,
b
,
Anum_pg_listener_relname
,
tdesc
,
&
isnull
);
if
(
AsyncExistsPendingNotify
((
char
*
)
DatumGetPointer
(
d
)))
{
d
=
(
Datum
)
heap_getattr
(
lTuple
,
b
,
Anum_pg_listener_pid
,
d
=
heap_getattr
(
lTuple
,
b
,
Anum_pg_listener_pid
,
tdesc
,
&
isnull
);
if
(
ourpid
==
DatumGetInt32
(
d
))
...
...
@@ -444,12 +444,12 @@ Async_Listen(char *relname, int pid)
s
=
heap_beginscan
(
lDesc
,
0
,
NowTimeQual
,
0
,
(
ScanKey
)
NULL
);
while
(
HeapTupleIsValid
(
htup
=
heap_getnext
(
s
,
0
,
&
b
)))
{
d
=
(
Datum
)
heap_getattr
(
htup
,
b
,
Anum_pg_listener_relname
,
tdesc
,
d
=
heap_getattr
(
htup
,
b
,
Anum_pg_listener_relname
,
tdesc
,
&
isnull
);
relnamei
=
DatumGetPointer
(
d
);
if
(
!
strncmp
(
relnamei
,
relname
,
NAMEDATALEN
))
{
d
=
(
Datum
)
heap_getattr
(
htup
,
b
,
Anum_pg_listener_pid
,
tdesc
,
&
isnull
);
d
=
heap_getattr
(
htup
,
b
,
Anum_pg_listener_pid
,
tdesc
,
&
isnull
);
pid
=
DatumGetInt32
(
d
);
if
(
pid
==
ourPid
)
{
...
...
@@ -609,7 +609,7 @@ Async_NotifyFrontEnd()
while
(
HeapTupleIsValid
(
lTuple
=
heap_getnext
(
sRel
,
0
,
&
b
)))
{
d
=
(
Datum
)
heap_getattr
(
lTuple
,
b
,
Anum_pg_listener_relname
,
d
=
heap_getattr
(
lTuple
,
b
,
Anum_pg_listener_relname
,
tdesc
,
&
isnull
);
rTuple
=
heap_modifytuple
(
lTuple
,
b
,
lRel
,
value
,
nulls
,
repl
);
heap_replace
(
lRel
,
&
lTuple
->
t_ctid
,
rTuple
);
...
...
src/backend/commands/copy.c
View file @
1ea01720
...
...
@@ -6,7 +6,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.3
3 1997/09/08 21:42:30
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.3
4 1997/09/12 04:07:25
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -270,8 +270,7 @@ CopyTo(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
for
(
i
=
0
;
i
<
attr_count
;
i
++
)
{
value
=
(
Datum
)
heap_getattr
(
tuple
,
InvalidBuffer
,
i
+
1
,
tupDesc
,
&
isnull
);
value
=
heap_getattr
(
tuple
,
InvalidBuffer
,
i
+
1
,
tupDesc
,
&
isnull
);
if
(
!
binary
)
{
if
(
!
isnull
)
...
...
src/backend/commands/vacuum.c
View file @
1ea01720
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.4
6 1997/09/08 21:42:48
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.4
7 1997/09/12 04:07:30
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -308,8 +308,7 @@ vc_getrels(NameData *VacRelP)
* Berkeley.
*/
d
=
(
Datum
)
heap_getattr
(
pgctup
,
buf
,
Anum_pg_class_relname
,
pgcdesc
,
&
n
);
d
=
heap_getattr
(
pgctup
,
buf
,
Anum_pg_class_relname
,
pgcdesc
,
&
n
);
rname
=
(
char
*
)
d
;
/* skip archive relations */
...
...
@@ -334,8 +333,7 @@ vc_getrels(NameData *VacRelP)
continue
;
}
d
=
(
Datum
)
heap_getattr
(
pgctup
,
buf
,
Anum_pg_class_relsmgr
,
pgcdesc
,
&
n
);
d
=
heap_getattr
(
pgctup
,
buf
,
Anum_pg_class_relsmgr
,
pgcdesc
,
&
n
);
smgrno
=
DatumGetInt16
(
d
);
/* skip write-once storage managers */
...
...
@@ -345,8 +343,7 @@ vc_getrels(NameData *VacRelP)
continue
;
}
d
=
(
Datum
)
heap_getattr
(
pgctup
,
buf
,
Anum_pg_class_relkind
,
pgcdesc
,
&
n
);
d
=
heap_getattr
(
pgctup
,
buf
,
Anum_pg_class_relkind
,
pgcdesc
,
&
n
);
rkind
=
DatumGetChar
(
d
);
...
...
@@ -1714,7 +1711,7 @@ vc_attrstats(Relation onerel, VRelStats *vacrelstats, HeapTuple htup)
VacAttrStats
*
stats
=
&
vacattrstats
[
i
];
bool
value_hit
=
true
;
value
=
(
Datum
)
heap_getattr
(
htup
,
InvalidBuffer
,
value
=
heap_getattr
(
htup
,
InvalidBuffer
,
stats
->
attr
->
attnum
,
tupDesc
,
&
isnull
);
if
(
!
VacAttrStatsEqValid
(
stats
))
...
...
@@ -2289,7 +2286,7 @@ vc_getindices(Oid relid, int *nindices, Relation **Irel)
while
(
HeapTupleIsValid
(
pgitup
=
heap_getnext
(
pgiscan
,
0
,
NULL
)))
{
d
=
(
Datum
)
heap_getattr
(
pgitup
,
InvalidBuffer
,
Anum_pg_index_indexrelid
,
d
=
heap_getattr
(
pgitup
,
InvalidBuffer
,
Anum_pg_index_indexrelid
,
pgidesc
,
&
n
);
i
++
;
if
(
i
%
10
==
0
)
...
...
src/backend/executor/execJunk.c
View file @
1ea01720
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/executor/execJunk.c,v 1.
8 1997/09/08 21:42:56
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/executor/execJunk.c,v 1.
9 1997/09/12 04:07:33
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -315,8 +315,7 @@ ExecGetJunkAttribute(JunkFilter *junkfilter,
tuple
=
slot
->
val
;
tupType
=
(
TupleDesc
)
junkfilter
->
jf_tupType
;
*
value
=
(
Datum
)
heap_getattr
(
tuple
,
InvalidBuffer
,
resno
,
tupType
,
isNull
);
*
value
=
heap_getattr
(
tuple
,
InvalidBuffer
,
resno
,
tupType
,
isNull
);
return
true
;
}
...
...
@@ -391,11 +390,9 @@ ExecRemoveJunk(JunkFilter *junkfilter, TupleTableSlot *slot)
*/
for
(
i
=
0
;
i
<
cleanLength
;
i
++
)
{
Datum
d
=
(
Datum
)
values
[
i
]
=
heap_getattr
(
tuple
,
InvalidBuffer
,
cleanMap
[
i
],
tupType
,
&
isNull
);
values
[
i
]
=
d
;
if
(
isNull
)
nulls
[
i
]
=
'n'
;
else
...
...
src/backend/executor/execQual.c
View file @
1ea01720
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.1
6 1997/09/08 21:43:00
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/executor/execQual.c,v 1.1
7 1997/09/12 04:07:36
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -305,8 +305,7 @@ ExecEvalVar(Var *variable, ExprContext *econtext, bool *isNull)
return
(
Datum
)
tempSlot
;
}
result
=
(
Datum
)
heap_getattr
(
heapTuple
,
/* tuple containing attribute */
result
=
heap_getattr
(
heapTuple
,
/* tuple containing attribute */
buffer
,
/* buffer associated with tuple */
attnum
,
/* attribute number of desired attribute */
tuple_type
,
/* tuple descriptor of tuple */
...
...
@@ -530,8 +529,7 @@ GetAttributeByNum(TupleTableSlot *slot,
return
(
char
*
)
NULL
;
}
retval
=
(
Datum
)
heap_getattr
(
slot
->
val
,
retval
=
heap_getattr
(
slot
->
val
,
slot
->
ttc_buffer
,
attrno
,
slot
->
ttc_tupleDescriptor
,
...
...
@@ -595,8 +593,7 @@ GetAttributeByName(TupleTableSlot *slot, char *attname, bool *isNull)
if
(
attrno
==
InvalidAttrNumber
)
elog
(
WARN
,
"GetAttributeByName: attribute %s not found"
,
attname
);
retval
=
(
Datum
)
heap_getattr
(
slot
->
val
,
retval
=
heap_getattr
(
slot
->
val
,
slot
->
ttc_buffer
,
attrno
,
tupdesc
,
...
...
src/backend/executor/functions.c
View file @
1ea01720
...
...
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/executor/functions.c,v 1.1
0 1997/09/08 21:43:08
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/executor/functions.c,v 1.1
1 1997/09/12 04:07:41
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -83,11 +83,7 @@ ProjectAttribute(TupleDesc TD,
AttrNumber
attrno
=
attrVar
->
varattno
;
val
=
PointerGetDatum
(
heap_getattr
(
tup
,
InvalidBuffer
,
attrno
,
TD
,
isnullP
));
val
=
heap_getattr
(
tup
,
InvalidBuffer
,
attrno
,
TD
,
isnullP
);
if
(
*
isnullP
)
return
(
Datum
)
NULL
;
...
...
src/backend/executor/nodeAgg.c
View file @
1ea01720
...
...
@@ -638,7 +638,7 @@ aggGetAttr(TupleTableSlot *slot,
return
(
Datum
)
tempSlot
;
}
result
=
(
Datum
)
result
=
heap_getattr
(
heapTuple
,
/* tuple containing attribute */
buffer
,
/* buffer associated with tuple */
attnum
,
/* attribute number of desired attribute */
...
...
src/backend/executor/nodeGroup.c
View file @
1ea01720
...
...
@@ -13,7 +13,7 @@
* columns. (ie. tuples from the same group are consecutive)
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/executor/nodeGroup.c,v 1.
9 1997/09/08 21:43:10
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/executor/nodeGroup.c,v 1.
10 1997/09/12 04:07:43
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -388,8 +388,8 @@ sameGroup(TupleTableSlot *oldslot,
{
bool
isNull1
,
isNull2
;
char
*
attr1
,
*
attr2
;
Datum
attr1
,
attr2
;
char
*
val1
,
*
val2
;
int
i
;
...
...
src/backend/executor/nodeUnique.c
View file @
1ea01720
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/executor/nodeUnique.c,v 1.1
0 1997/09/08 21:43:21
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/executor/nodeUnique.c,v 1.1
1 1997/09/12 04:07:44
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -182,8 +182,8 @@ ExecUnique(Unique *node)
*/
bool
isNull1
,
isNull2
;
char
*
attr1
,
*
attr2
;
Datum
attr1
,
attr2
;
char
*
val1
,
*
val2
;
...
...
src/backend/executor/spi.c
View file @
1ea01720
...
...
@@ -319,7 +319,7 @@ SPI_fname(TupleDesc tupdesc, int fnumber)
char
*
SPI_getvalue
(
HeapTuple
tuple
,
TupleDesc
tupdesc
,
int
fnumber
)
{
char
*
val
;
Datum
val
;
bool
isnull
;
Oid
foutoid
;
...
...
@@ -346,10 +346,10 @@ SPI_getvalue(HeapTuple tuple, TupleDesc tupdesc, int fnumber)
return
(
fmgr
(
foutoid
,
val
,
gettypelem
(
tupdesc
->
attrs
[
fnumber
-
1
]
->
atttypid
)));
}
char
*
Datum
SPI_getbinval
(
HeapTuple
tuple
,
TupleDesc
tupdesc
,
int
fnumber
,
bool
*
isnull
)
{
char
*
val
;
Datum
val
;
*
isnull
=
true
;
SPI_result
=
0
;
...
...
src/backend/libpq/be-dumpdata.c
View file @
1ea01720
...
...
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/libpq/Attic/be-dumpdata.c,v 1.
8 1997/09/08 21:43:39
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/libpq/Attic/be-dumpdata.c,v 1.
9 1997/09/12 04:07:50
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -213,7 +213,7 @@ void
be_printtup
(
HeapTuple
tuple
,
TupleDesc
typeinfo
)
{
int
i
;
char
*
attr
;
Datum
attr
;
bool
isnull
;
Oid
typoutput
;
...
...
src/backend/parser/catalog_utils.c
View file @
1ea01720
...
...
@@ -6,7 +6,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/Attic/catalog_utils.c,v 1.2
5 1997/09/08 21:46:04
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/Attic/catalog_utils.c,v 1.2
6 1997/09/12 04:07:56
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -1378,7 +1378,7 @@ findsupers(Oid relid, Oid **supervec)
{
qentry
=
(
SuperQE
*
)
palloc
(
sizeof
(
SuperQE
));
d
=
(
Datum
)
fastgetattr
(
inhtup
,
Anum_pg_inherits_inhparent
,
d
=
fastgetattr
(
inhtup
,
Anum_pg_inherits_inhparent
,
inhtupdesc
,
&
isNull
);
qentry
->
sqe_relid
=
DatumGetObjectId
(
d
);
...
...
src/backend/parser/parser.c
View file @
1ea01720
...
...
@@ -6,7 +6,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/parser.c,v 1.2
5 1997/09/08 21:46:12
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/parser.c,v 1.2
6 1997/09/12 04:08:01
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -230,7 +230,7 @@ parser_typecast(Value *expr, TypeName *typename, int typlen)
case
T_Integer
:
const_string
=
(
char
*
)
palloc
(
256
);
string_palloced
=
true
;
sprintf
(
const_string
,
"%d"
,
expr
->
val
.
ival
);
sprintf
(
const_string
,
"%
l
d"
,
expr
->
val
.
ival
);
break
;
default:
elog
(
WARN
,
...
...
@@ -405,7 +405,7 @@ parser_typecast2(Node *expr, Oid exprType, Type tp, int typlen)
case
CASHOID
:
/* money */
const_string
=
(
char
*
)
palloc
(
256
);
string_palloced
=
true
;
sprintf
(
const_string
,
"%d"
,
sprintf
(
const_string
,
"%
l
d"
,
(
long
)
((
Const
*
)
expr
)
->
constvalue
);
break
;
case
TEXTOID
:
/* text */
...
...
src/backend/rewrite/rewriteRemove.c
View file @
1ea01720
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteRemove.c,v 1.
4 1997/09/08 02:28:20
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteRemove.c,v 1.
5 1997/09/12 04:08:06
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -109,11 +109,11 @@ RemoveRewriteRule(char *ruleName)
*/
ruleId
=
tuple
->
t_oid
;
eventRelationOidDatum
=
PointerGetDatum
(
heap_getattr
(
tuple
,
heap_getattr
(
tuple
,
buffer
,
Anum_pg_rewrite_ev_class
,
RelationGetTupleDescriptor
(
RewriteRelation
),
&
isNull
)
);
&
isNull
);
if
(
isNull
)
{
/* XXX strange!!! */
...
...
src/backend/rewrite/rewriteSupport.c
View file @
1ea01720
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteSupport.c,v 1.
9 1997/09/08 21:46:44
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteSupport.c,v 1.
10 1997/09/12 04:08:10
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -58,12 +58,12 @@ RuleIdGetActionInfo(Oid ruleoid, bool *instead_flag, Query **parseTrees)
if
(
ruletuple
==
NULL
)
elog
(
WARN
,
"rule %u isn't in rewrite system relation"
,
ruleoid
);
ruleaction
=
heap_getattr
(
ruletuple
,
ruleaction
=
(
char
*
)
heap_getattr
(
ruletuple
,
InvalidBuffer
,
Anum_pg_rewrite_action
,
ruleTupdesc
,
&
action_is_null
);
rule_evqual_string
=
heap_getattr
(
ruletuple
,
InvalidBuffer
,
rule_evqual_string
=
(
char
*
)
heap_getattr
(
ruletuple
,
InvalidBuffer
,
Anum_pg_rewrite_ev_qual
,
ruleTupdesc
,
&
action_is_null
);
*
instead_flag
=
!!
heap_getattr
(
ruletuple
,
InvalidBuffer
,
...
...
src/backend/storage/large_object/inv_api.c
View file @
1ea01720
...
...
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/storage/large_object/inv_api.c,v 1.1
7 1997/09/08 21:47:17
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/storage/large_object/inv_api.c,v 1.1
8 1997/09/12 04:08:15
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -472,7 +472,7 @@ inv_read(LargeObjectDesc *obj_desc, char *buf, int nbytes)
}
/* copy the data from this block into the buffer */
d
=
(
Datum
)
heap_getattr
(
htup
,
b
,
2
,
obj_desc
->
hdesc
,
&
isNull
);
d
=
heap_getattr
(
htup
,
b
,
2
,
obj_desc
->
hdesc
,
&
isNull
);
fsblock
=
(
struct
varlena
*
)
DatumGetPointer
(
d
);
off
=
obj_desc
->
offset
-
obj_desc
->
lowbyte
;
...
...
@@ -648,9 +648,9 @@ inv_fetchtup(LargeObjectDesc *obj_desc, Buffer *bufP)
* return the tuple.
*/
d
=
(
Datum
)
heap_getattr
(
htup
,
*
bufP
,
1
,
obj_desc
->
hdesc
,
&
isNull
);
d
=
heap_getattr
(
htup
,
*
bufP
,
1
,
obj_desc
->
hdesc
,
&
isNull
);
lastbyte
=
(
int32
)
DatumGetInt32
(
d
);
d
=
(
Datum
)
heap_getattr
(
htup
,
*
bufP
,
2
,
obj_desc
->
hdesc
,
&
isNull
);
d
=
heap_getattr
(
htup
,
*
bufP
,
2
,
obj_desc
->
hdesc
,
&
isNull
);
fsblock
=
(
struct
varlena
*
)
DatumGetPointer
(
d
);
/*
...
...
@@ -817,7 +817,7 @@ inv_wrold(LargeObjectDesc *obj_desc,
newpage
=
BufferGetPage
(
newbuf
);
hr
=
obj_desc
->
heap_r
;
freespc
=
IFREESPC
(
page
);
d
=
(
Datum
)
heap_getattr
(
htup
,
buffer
,
2
,
obj_desc
->
hdesc
,
&
isNull
);
d
=
heap_getattr
(
htup
,
buffer
,
2
,
obj_desc
->
hdesc
,
&
isNull
);
fsblock
=
(
struct
varlena
*
)
DatumGetPointer
(
d
);
tupbytes
=
fsblock
->
vl_len
-
sizeof
(
fsblock
->
vl_len
);
...
...
@@ -1218,7 +1218,7 @@ _inv_getsize(Relation hreln, TupleDesc hdesc, Relation ireln)
index_endscan
(
iscan
);
/* get olastbyte attribute */
d
=
(
Datum
)
heap_getattr
(
htup
,
buf
,
1
,
hdesc
,
&
isNull
);
d
=
heap_getattr
(
htup
,
buf
,
1
,
hdesc
,
&
isNull
);
size
=
DatumGetInt32
(
d
)
+
1
;
/* wei hates it if you forget to do this */
...
...
src/backend/utils/adt/not_in.c
View file @
1ea01720
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/not_in.c,v 1.
5 1997/09/08 02:30:52
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/adt/Attic/not_in.c,v 1.
6 1997/09/12 04:08:21
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -82,11 +82,11 @@ int4notin(int16 not_in_arg, char *relation_and_attr)
current_tuple
!=
NULL
&&
retval
;
current_tuple
=
heap_getnext
(
scan_descriptor
,
0
,
NULL
))
{
value
=
PointerGetDatum
(
heap_getattr
(
current_tuple
,
value
=
heap_getattr
(
current_tuple
,
InvalidBuffer
,
(
AttrNumber
)
attrid
,
RelationGetTupleDescriptor
(
relation_to_scan
),
&
dummy
)
);
&
dummy
);
integer_value
=
DatumGetInt16
(
value
);
if
(
left_side_argument
==
integer_value
)
...
...
src/backend/utils/cache/catcache.c
View file @
1ea01720
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/cache/catcache.c,v 1.1
3 1997/09/08 21:48:45
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/cache/catcache.c,v 1.1
4 1997/09/12 04:08:28
momjian Exp $
*
* Notes:
* XXX This needs to use exception.h to handle recovery when
...
...
@@ -387,7 +387,7 @@ CatalogCacheComputeTupleHashIndex(struct catcache * cacheInOutP,
cacheInOutP
->
cc_skey
[
3
].
sk_argument
=
(
cacheInOutP
->
cc_key
[
3
]
==
ObjectIdAttributeNumber
)
?
(
Datum
)
tuple
->
t_oid
:
(
Datum
)
fastgetattr
(
tuple
,
:
fastgetattr
(
tuple
,
cacheInOutP
->
cc_key
[
3
],
RelationGetTupleDescriptor
(
relation
),
&
isNull
);
...
...
@@ -397,7 +397,7 @@ CatalogCacheComputeTupleHashIndex(struct catcache * cacheInOutP,
cacheInOutP
->
cc_skey
[
2
].
sk_argument
=
(
cacheInOutP
->
cc_key
[
2
]
==
ObjectIdAttributeNumber
)
?
(
Datum
)
tuple
->
t_oid
:
(
Datum
)
fastgetattr
(
tuple
,
:
fastgetattr
(
tuple
,
cacheInOutP
->
cc_key
[
2
],
RelationGetTupleDescriptor
(
relation
),
&
isNull
);
...
...
@@ -407,7 +407,7 @@ CatalogCacheComputeTupleHashIndex(struct catcache * cacheInOutP,
cacheInOutP
->
cc_skey
[
1
].
sk_argument
=
(
cacheInOutP
->
cc_key
[
1
]
==
ObjectIdAttributeNumber
)
?
(
Datum
)
tuple
->
t_oid
:
(
Datum
)
fastgetattr
(
tuple
,
:
fastgetattr
(
tuple
,
cacheInOutP
->
cc_key
[
1
],
RelationGetTupleDescriptor
(
relation
),
&
isNull
);
...
...
@@ -417,7 +417,7 @@ CatalogCacheComputeTupleHashIndex(struct catcache * cacheInOutP,
cacheInOutP
->
cc_skey
[
0
].
sk_argument
=
(
cacheInOutP
->
cc_key
[
0
]
==
ObjectIdAttributeNumber
)
?
(
Datum
)
tuple
->
t_oid
:
(
Datum
)
fastgetattr
(
tuple
,
:
fastgetattr
(
tuple
,
cacheInOutP
->
cc_key
[
0
],
RelationGetTupleDescriptor
(
relation
),
&
isNull
);
...
...
src/backend/utils/cache/syscache.c
View file @
1ea01720
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/cache/syscache.c,v 1.
7 1997/09/08 21:48:56
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/cache/syscache.c,v 1.
8 1997/09/12 04:08:35
momjian Exp $
*
* NOTES
* These routines allow the parser/planner/executor to perform
...
...
@@ -494,7 +494,7 @@ SearchSysCacheGetAttribute(int cacheId,
int32
attributeLength
,
attributeByValue
;
bool
isNull
;
char
*
attributeValue
;
Datum
attributeValue
;
void
*
returnValue
;
tp
=
SearchSysCacheTuple
(
cacheId
,
key1
,
key2
,
key3
,
key4
);
...
...
@@ -562,7 +562,7 @@ SearchSysCacheGetAttribute(int cacheId,
:
attributeLength
;
/* fixed length */
tmp
=
(
char
*
)
palloc
(
size
);
memmove
(
tmp
,
attributeValue
,
size
);
memmove
(
tmp
,
(
void
*
)
attributeValue
,
size
);
returnValue
=
(
void
*
)
tmp
;
}
...
...
src/backend/utils/fmgr/dfmgr.c
View file @
1ea01720
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/fmgr/dfmgr.c,v 1.1
1 1997/09/08 02:31:34
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/fmgr/dfmgr.c,v 1.1
2 1997/09/12 04:08:39
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -53,9 +53,9 @@ fmgr_dynamic(Oid procedureId, int *pronargs)
{
HeapTuple
procedureTuple
;
Form_pg_proc
procedureStruct
;
char
*
proname
;
char
*
probinattr
,
char
*
proname
,
*
probinstring
;
Datum
probinattr
;
func_ptr
user_fn
;
Relation
rdesc
;
bool
isnull
;
...
...
src/backend/utils/sort/lselect.c
View file @
1ea01720
...
...
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/sort/Attic/lselect.c,v 1.
7 1997/09/08 02:32:25
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/sort/Attic/lselect.c,v 1.
8 1997/09/12 04:08:46
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -197,8 +197,8 @@ puttuple(struct leftist ** treep,
int
tuplecmp
(
HeapTuple
ltup
,
HeapTuple
rtup
,
LeftistContext
context
)
{
register
char
*
lattr
,
*
rattr
;
register
Datum
lattr
,
rattr
;
int
nkey
=
0
;
int
result
=
0
;
bool
isnull
;
...
...
src/backend/utils/time/tqual.c
View file @
1ea01720
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/time/tqual.c,v 1.
7 1997/09/08 21:49:3
7 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/time/tqual.c,v 1.
8 1997/09/12 04:08:5
7 momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -32,9 +32,11 @@ static AbsoluteTime TimeQualGetStartTime(TimeQual qual);
static
bool
TimeQualIncludesNow
(
TimeQual
qual
);
static
bool
TimeQualIndicatesDisableValidityChecking
(
TimeQual
qual
);
static
bool
TimeQualIsLegal
(
TimeQual
qual
);
#ifndef NO_ASSERT_CHECKING
static
bool
TimeQualIsRanged
(
TimeQual
qual
);
static
bool
TimeQualIsSnapshot
(
TimeQual
qual
);
static
bool
TimeQualIsValid
(
TimeQual
qual
);
#endif
static
bool
TimeQualIsSnapshot
(
TimeQual
qual
);
/*
* TimeQualMode --
...
...
@@ -133,6 +135,7 @@ HeapTupleSatisfiesUpperUnboundedInternalTimeQual(HeapTuple tuple,
* TimeQualIsValid --
* True iff time qualification is valid.
*/
#ifndef NO_ASSERT_CHECKING
static
bool
TimeQualIsValid
(
TimeQual
qual
)
{
...
...
@@ -179,6 +182,7 @@ TimeQualIsValid(TimeQual qual)
}
return
(
true
);
}
#endif
/*
* TimeQualIsLegal --
...
...
@@ -332,6 +336,7 @@ TimeQualIsSnapshot(TimeQual qual)
* Note:
* Assumes time qualification is valid.
*/
#ifndef NO_ASSERT_CHECKING
static
bool
TimeQualIsRanged
(
TimeQual
qual
)
{
...
...
@@ -344,6 +349,7 @@ TimeQualIsRanged(TimeQual qual)
return
((
bool
)
!
(((
InternalTimeQual
)
qual
)
->
mode
&
TimeQualAt
));
}
#endif
/*
* TimeQualIndicatesDisableValidityChecking --
...
...
src/include/access/heapam.h
View file @
1ea01720
...
...
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: heapam.h,v 1.1
5 1997/09/08 21:50:45
momjian Exp $
* $Id: heapam.h,v 1.1
6 1997/09/12 04:09:03
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -97,11 +97,11 @@ typedef HeapAccessStatisticsData *HeapAccessStatistics;
#define heap_getattr(tup, b, attnum, tupleDesc, isnull) \
(AssertMacro((tup) != NULL) ? \
((attnum) > (int) (tup)->t_natts) ? \
(((isnull) ? (*(isnull) = true) : (char)NULL), (
char *
)NULL) : \
(((isnull) ? (*(isnull) = true) : (char)NULL), (
Datum
)NULL) : \
((attnum) > 0) ? \
fastgetattr((tup), (attnum), (tupleDesc), (isnull)) : \
(((isnull) ? (*(isnull) = false) : (char)NULL), heap_getsysattr((tup), (b), (attnum))) : \
(
char *
)NULL)
(
Datum
)NULL)
extern
HeapAccessStatistics
heap_access_stats
;
/* in stats.c */
...
...
@@ -143,9 +143,8 @@ DataFill(char *data, TupleDesc tupleDesc,
extern
int
heap_attisnull
(
HeapTuple
tup
,
int
attnum
);
extern
int
heap_sysattrlen
(
AttrNumber
attno
);
extern
bool
heap_sysattrbyval
(
AttrNumber
attno
);
extern
char
*
heap_getsysattr
(
HeapTuple
tup
,
Buffer
b
,
int
attnum
);
extern
char
*
fastgetattr
(
HeapTuple
tup
,
int
attnum
,
extern
Datum
heap_getsysattr
(
HeapTuple
tup
,
Buffer
b
,
int
attnum
);
extern
Datum
fastgetattr
(
HeapTuple
tup
,
int
attnum
,
TupleDesc
att
,
bool
*
isnull
);
extern
HeapTuple
heap_copytuple
(
HeapTuple
tuple
);
extern
HeapTuple
...
...
src/include/executor/spi.h
View file @
1ea01720
...
...
@@ -80,7 +80,7 @@ extern void *SPI_saveplan(void *plan);
extern
int
SPI_fnumber
(
TupleDesc
tupdesc
,
char
*
fname
);
extern
char
*
SPI_fname
(
TupleDesc
tupdesc
,
int
fnumber
);
extern
char
*
SPI_getvalue
(
HeapTuple
tuple
,
TupleDesc
tupdesc
,
int
fnumber
);
extern
char
*
SPI_getbinval
(
HeapTuple
tuple
,
TupleDesc
tupdesc
,
int
fnumber
,
bool
*
isnull
);
extern
Datum
SPI_getbinval
(
HeapTuple
tuple
,
TupleDesc
tupdesc
,
int
fnumber
,
bool
*
isnull
);
extern
char
*
SPI_gettype
(
TupleDesc
tupdesc
,
int
fnumber
);
extern
Oid
SPI_gettypeid
(
TupleDesc
tupdesc
,
int
fnumber
);
extern
char
*
SPI_getrelname
(
Relation
rel
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment