diff options
author | Marc G. Fournier <scrappy@hub.org> | 1996-11-14 10:15:16 +0000 |
---|---|---|
committer | Marc G. Fournier <scrappy@hub.org> | 1996-11-14 10:15:16 +0000 |
commit | 389fe48cbb513888205bbe3a5008ed109976dacb (patch) | |
tree | e1bc978627338c127aa0d9c0fdbd8bed7fa6821c /doc/man/create_type.l | |
parent | 65a10b1be6400025e7fd54befbc4a8489fd50e10 (diff) | |
download | postgresql-389fe48cbb513888205bbe3a5008ed109976dacb.tar.gz postgresql-389fe48cbb513888205bbe3a5008ed109976dacb.zip |
Removed man pages...moved to src/man
Requested by Bryan
Diffstat (limited to 'doc/man/create_type.l')
-rw-r--r-- | doc/man/create_type.l | 161 |
1 files changed, 0 insertions, 161 deletions
diff --git a/doc/man/create_type.l b/doc/man/create_type.l deleted file mode 100644 index 42f1e677654..00000000000 --- a/doc/man/create_type.l +++ /dev/null @@ -1,161 +0,0 @@ -.\" This is -*-nroff-*- -.\" XXX standard disclaimer belongs here.... -.\" $Header: /cvsroot/pgsql/doc/man/Attic/create_type.l,v 1.1.1.1 1996/08/18 22:14:22 scrappy Exp $ -.TH "CREATE TYPE" SQL 11/05/95 Postgres95 Postgres95 -.SH NAME -create type \(em define a new base data type -.SH SYNOPSIS -.nf -\fBcreate type\fP typename \fB(\fR\fBinternallength\fR = (number | \fBvariable\fR), - [ \fBexternallength\fR = (number | \fBvariable\fR)\fB,\fR ] - \fBinput\fR = input_function, - \fBoutput\fR = output_function - [\fB,\fR \fBelement\fR = typename] - [\fB,\fR \fBdelimiter\fR = <character>] - [\fB,\fR \fBdefault\fR = "string" ] - [\fB,\fR \fBsend\fR = send_function ] - [\fB,\fR \fBreceive\fR = receive_function ] - [\fB,\fR \fBpassedbyvalue\fR]\fB)\fR -.fi -.\" \fBcreate type\fP typename as sql_commands -.SH DESCRIPTION -.BR "Create type" -allows the user to register a new user data type with Postgres for use in -the current data base. The user who defines a type becomes its owner. -.IR Typename -is the name of the new type and must be unique within the types -defined for this database. -.PP -.BR "Create type" -requires the registration of two functions (using -.IR "create function" (l)) -before defining the type. The representation of a new base type is -determined by -.IR input_function , -which converts the type's external representation to an internal -representation usable by the operators and functions defined for the -type. Naturally, -.IR "output_function" -performs the reverse transformation. Both the input and output -functions must be declared to take one or two arguments of type -\*(lqopaque\*(rq. -.PP -New base data types can be fixed length, in which case -.BR "internallength" -is a positive integer, or variable length, in which case Postgres assumes -that the new type has the same format as the Postgres-supplied data type, -\*(lqtext\*(rq. To indicate that a type is variable-length, set -.BR "internallength" -to -.IR "variable" . -The external representation is similarly specified using the -.IR "externallength" -keyword. -.PP -To indicate that a type is an array and to indicate that a type has -array elements, indicate the type of the array element using the -.BR "element" -keyword. For example, to define an array of 4 byte integers -(\*(lqint4\*(rq), specify -.nf -element = int4 -.fi -.PP -To indicate the delimiter to be used on arrays of this type, -.BR "delimiter" -can be set to a specific character. The default delimiter is the -comma (\*(lq,\*(rq) character. -.PP -A -.BR "default" -value is optionally available in case a user wants some specific bit -pattern to mean \*(lqdata not present.\*(rq -.PP -The optional functions -.IR "send_function" -and -.IR "receive_function" -are used when the application program requesting Postgres services -resides on a different machine. In this case, the machine on which -Postgres runs may use a different format for the data type than used on -the remote machine. In this case it is appropriate to convert data -items to a standard form when -.BR send ing -from the server to the client and converting from the standard format -to the machine specific format when the server -.BR receive s -the data from the client. If these functions are not specified, then -it is assumed that the internal format of the type is acceptable on -all relevant machine architectures. For example, single characters do -not have to be converted if passed from a Sun-4 to a DECstation, but -many other types do. -.PP -The optional -.BR "passedbyvalue" -flag indicates that operators and functions which use this data type -should be passed an argument by value rather than by reference. Note -that only types whose internal representation is at most four bytes -may be passed by value. -.PP -For new base types, a user can define operators, functions and -aggregates using the appropriate facilities described in this section. -.SH "ARRAY TYPES" -Two generalized built-in functions, -.BR array_in -and -.BR array_out, -exist for quick creation of variable-length array types. These -functions operate on arrays of any existing Postgres type. -.SH "LARGE OBJECT TYPES" -A \*(lqregular\*(rq Postgres type can only be 8192 bytes in length. If -you need a larger type you must create a Large Object type. The -interface for these types is discussed at length in Section 7, the -large object interface. The length of all large object types -is always -.IR variable, -meaning the -.BR internallength -for large objects is always -1. -.SH EXAMPLES -.nf --- ---This command creates the box data type and then uses the ---type in a class definition --- -create type box (internallength = 8, - input = my_procedure_1, output = my_procedure_2) - -create table MYBOXES (id = int4, description = box) -.fi -.nf --- ---This command creates a variable length array type with ---integer elements. --- -create type int4array - (input = array_in, output = array_out, - internallength = variable, element = int4) - -create table MYARRAYS (id = int4, numbers = int4array) -.fi -.nf --- ---This command creates a large object type and uses it in ---a class definition. --- -create type bigobj - (input = lo_filein, output = lo_fileout, - internallength = variable) - -create table BIG_OBJS (id = int4, obj = bigobj) -.fi -.SH "RESTRICTIONS" -Type names cannot begin with the underscore character (\*(lq_\*(rq) -and can only be 15 characters long. This is because Postgres silently -creates an array type for each base type with a name consisting of the -base type's name prepended with an underscore. -.SH "SEE ALSO" -create function(l), -create operator(l), -drop type(l), -introduction(large objects). |