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
79729c0e
Commit
79729c0e
authored
Dec 09, 1996
by
Bryan Henderson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add comments defining "typelem" column of pg_type.
parent
b36e3042
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
7 deletions
+11
-7
src/include/catalog/pg_type.h
src/include/catalog/pg_type.h
+11
-7
No files found.
src/include/catalog/pg_type.h
View file @
79729c0e
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
*
*
* Copyright (c) 1994, Regents of the University of California
* Copyright (c) 1994, Regents of the University of California
*
*
* $Id: pg_type.h,v 1.
4 1996/11/13 20:51:06 scrappy
Exp $
* $Id: pg_type.h,v 1.
5 1996/12/09 01:23:51 bryanh
Exp $
*
*
* NOTES
* NOTES
* the genbki.sh script reads this file and generates .bki
* the genbki.sh script reads this file and generates .bki
...
@@ -43,17 +43,17 @@ CATALOG(pg_type) BOOTSTRAP {
...
@@ -43,17 +43,17 @@ CATALOG(pg_type) BOOTSTRAP {
int2
typlen
;
int2
typlen
;
/* typlen is the number of bytes we use to represent a value of
/* typlen is the number of bytes we use to represent a value of
this type, e.g. 4 for an int4. But for a variable length
this type, e.g. 4 for an int4. But for a variable length
attribut
e, typlen is -1.
typ
e, typlen is -1.
*/
*/
int2
typprtlen
;
int2
typprtlen
;
bool
typbyval
;
bool
typbyval
;
/* typbyval determines whether internal Postgres routines pass a value
/* typbyval determines whether internal Postgres routines pass a value
of this type by value or by reference. Postgres uses a 4 byte
of this type by value or by reference. Postgres uses a 4 byte
area for passing
class data
, so if the value is not 1, 2,
area for passing
a field value info
, so if the value is not 1, 2,
or 4 bytes long, Postgres does not have the option of passing by
or 4 bytes long, Postgres does not have the option of passing by
value and ignores typbyval.
value and ignores typbyval.
(I don't understand why this
attribute
exists. The above description
(I don't understand why this
column
exists. The above description
may be an oversimplification. Also, there appear to be bugs in which
may be an oversimplification. Also, there appear to be bugs in which
Postgres doesn't ignore typbyval when it should, but I'm
Postgres doesn't ignore typbyval when it should, but I'm
afraid to change them until I see proof of damage. -BRYANH 96.08).
afraid to change them until I see proof of damage. -BRYANH 96.08).
...
@@ -63,6 +63,10 @@ CATALOG(pg_type) BOOTSTRAP {
...
@@ -63,6 +63,10 @@ CATALOG(pg_type) BOOTSTRAP {
char
typdelim
;
char
typdelim
;
Oid
typrelid
;
Oid
typrelid
;
Oid
typelem
;
Oid
typelem
;
/* typelem is NULL if this is not an array type. If this is an array
type, typelem is the OID of the type of the elements of the array
(it identifies another row in Table pg_type).
*/
regproc
typinput
;
regproc
typinput
;
regproc
typoutput
;
regproc
typoutput
;
regproc
typreceive
;
regproc
typreceive
;
...
@@ -71,7 +75,7 @@ CATALOG(pg_type) BOOTSTRAP {
...
@@ -71,7 +75,7 @@ CATALOG(pg_type) BOOTSTRAP {
/* typalign is the alignment required when storing a value of this
/* typalign is the alignment required when storing a value of this
type. It applies to storage on disk as well as most representations
type. It applies to storage on disk as well as most representations
of the value inside Postgres. When multiple values are stored
of the value inside Postgres. When multiple values are stored
consecutively, such as in the representation of a complete
tuple
consecutively, such as in the representation of a complete
row
on disk, padding is inserted before a datum of this type so that it
on disk, padding is inserted before a datum of this type so that it
begins on the specified boundary. The alignment reference is the
begins on the specified boundary. The alignment reference is the
beginning of the first datum in the sequence.
beginning of the first datum in the sequence.
...
@@ -88,7 +92,7 @@ CATALOG(pg_type) BOOTSTRAP {
...
@@ -88,7 +92,7 @@ CATALOG(pg_type) BOOTSTRAP {
}
TypeTupleFormData
;
}
TypeTupleFormData
;
/* ----------------
/* ----------------
* Form_pg_type corresponds to a pointer to a
tuple
with
* Form_pg_type corresponds to a pointer to a
row
with
* the format of pg_type relation.
* the format of pg_type relation.
* ----------------
* ----------------
*/
*/
...
@@ -153,7 +157,7 @@ DATA(insert OID = 22 ( int28 PGUID 16 50 f b t \054 0 21 int28in int28ou
...
@@ -153,7 +157,7 @@ DATA(insert OID = 22 ( int28 PGUID 16 50 f b t \054 0 21 int28in int28ou
* go away someday. until that happens, there is a case (in the
* go away someday. until that happens, there is a case (in the
* catalog cache management code) where we need to step gingerly
* catalog cache management code) where we need to step gingerly
* over piles of int28's on the sidewalk. in order to do so, we
* over piles of int28's on the sidewalk. in order to do so, we
* need the OID of the int28
tuple
from pg_type.
* need the OID of the int28
row
from pg_type.
*/
*/
#define INT28OID 22
#define INT28OID 22
...
...
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