PostgreSQL Source Code
git master
attnum.h
Go to the documentation of this file.
1
/*-------------------------------------------------------------------------
2
*
3
* attnum.h
4
* POSTGRES attribute number definitions.
5
*
6
*
7
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
8
* Portions Copyright (c) 1994, Regents of the University of California
9
*
10
* src/include/access/attnum.h
11
*
12
*-------------------------------------------------------------------------
13
*/
14
#ifndef ATTNUM_H
15
#define ATTNUM_H
16
17
18
/*
19
* user defined attribute numbers start at 1. -ay 2/95
20
*/
21
typedef
int16
AttrNumber
;
22
23
#define InvalidAttrNumber 0
24
#define MaxAttrNumber 32767
25
26
/* ----------------
27
* support macros
28
* ----------------
29
*/
30
/*
31
* AttributeNumberIsValid
32
* True iff the attribute number is valid.
33
*/
34
#define AttributeNumberIsValid(attributeNumber) \
35
((bool) ((attributeNumber) != InvalidAttrNumber))
36
37
/*
38
* AttrNumberIsForUserDefinedAttr
39
* True iff the attribute number corresponds to a user defined attribute.
40
*/
41
#define AttrNumberIsForUserDefinedAttr(attributeNumber) \
42
((bool) ((attributeNumber) > 0))
43
44
/*
45
* AttrNumberGetAttrOffset
46
* Returns the attribute offset for an attribute number.
47
*
48
* Note:
49
* Assumes the attribute number is for a user defined attribute.
50
*/
51
#define AttrNumberGetAttrOffset(attNum) \
52
( \
53
AssertMacro(AttrNumberIsForUserDefinedAttr(attNum)), \
54
((attNum) - 1) \
55
)
56
57
/*
58
* AttrOffsetGetAttrNumber
59
* Returns the attribute number for an attribute offset.
60
*/
61
#define AttrOffsetGetAttrNumber(attributeOffset) \
62
((AttrNumber) (1 + (attributeOffset)))
63
64
#endif
/* ATTNUM_H */
AttrNumber
int16 AttrNumber
Definition:
attnum.h:21
int16
signed short int16
Definition:
c.h:493
src
include
access
attnum.h
Generated on Wed Sep 18 2024 18:13:24 for PostgreSQL Source Code by
1.9.1