mirror of
https://github.com/postgres/postgres.git
synced 2025-06-27 23:21:58 +03:00
Fix assorted misstatements and poor wording in the descriptions of the I/O
formats for geometric types. Per bug #5536 from Jon Strait, and my own testing. Back-patch to all supported branches, since this doco has been wrong right along -- we certainly haven't changed the I/O behavior of these types in many years.
This commit is contained in:
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.223.2.1 2008/02/13 22:47:09 momjian Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.223.2.2 2010/07/03 04:03:21 tgl Exp $ -->
|
||||||
|
|
||||||
<chapter id="datatype">
|
<chapter id="datatype">
|
||||||
<title id="datatype-title">Data Types</title>
|
<title id="datatype-title">Data Types</title>
|
||||||
@ -2706,7 +2706,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
A rich set of functions and operators is available to perform various geometric
|
A rich set of functions and operators is available to perform various geometric
|
||||||
operations such as scaling, translation, rotation, and determining
|
operations such as scaling, translation, rotation, and determining
|
||||||
intersections. They are explained in <xref linkend="functions-geometry">.
|
intersections. They are explained in <xref linkend="functions-geometry">.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@ -2718,8 +2718,9 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
|
|||||||
</indexterm>
|
</indexterm>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Points are the fundamental two-dimensional building block for geometric types.
|
Points are the fundamental two-dimensional building block for geometric
|
||||||
Values of type <type>point</type> are specified using the following syntax:
|
types. Values of type <type>point</type> are specified using either of
|
||||||
|
the following syntaxes:
|
||||||
|
|
||||||
<synopsis>
|
<synopsis>
|
||||||
( <replaceable>x</replaceable> , <replaceable>y</replaceable> )
|
( <replaceable>x</replaceable> , <replaceable>y</replaceable> )
|
||||||
@ -2729,6 +2730,10 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
|
|||||||
where <replaceable>x</> and <replaceable>y</> are the respective
|
where <replaceable>x</> and <replaceable>y</> are the respective
|
||||||
coordinates as floating-point numbers.
|
coordinates as floating-point numbers.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Points are output using the first syntax.
|
||||||
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
@ -2744,11 +2749,13 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
Line segments (<type>lseg</type>) are represented by pairs of points.
|
Line segments (<type>lseg</type>) are represented by pairs of points.
|
||||||
Values of type <type>lseg</type> are specified using the following syntax:
|
Values of type <type>lseg</type> are specified using any of the following
|
||||||
|
syntaxes:
|
||||||
|
|
||||||
<synopsis>
|
<synopsis>
|
||||||
|
[ ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ( <replaceable>x2</replaceable> , <replaceable>y2</replaceable> ) ]
|
||||||
( ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ( <replaceable>x2</replaceable> , <replaceable>y2</replaceable> ) )
|
( ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ( <replaceable>x2</replaceable> , <replaceable>y2</replaceable> ) )
|
||||||
( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ( <replaceable>x2</replaceable> , <replaceable>y2</replaceable> )
|
( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ( <replaceable>x2</replaceable> , <replaceable>y2</replaceable> )
|
||||||
<replaceable>x1</replaceable> , <replaceable>y1</replaceable> , <replaceable>x2</replaceable> , <replaceable>y2</replaceable>
|
<replaceable>x1</replaceable> , <replaceable>y1</replaceable> , <replaceable>x2</replaceable> , <replaceable>y2</replaceable>
|
||||||
</synopsis>
|
</synopsis>
|
||||||
|
|
||||||
@ -2758,6 +2765,10 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
|
|||||||
<literal>(<replaceable>x2</replaceable>,<replaceable>y2</replaceable>)</literal>
|
<literal>(<replaceable>x2</replaceable>,<replaceable>y2</replaceable>)</literal>
|
||||||
are the end points of the line segment.
|
are the end points of the line segment.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Line segments are output using the first syntax.
|
||||||
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
@ -2774,11 +2785,12 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
|
|||||||
<para>
|
<para>
|
||||||
Boxes are represented by pairs of points that are opposite
|
Boxes are represented by pairs of points that are opposite
|
||||||
corners of the box.
|
corners of the box.
|
||||||
Values of type <type>box</type> are specified using the following syntax:
|
Values of type <type>box</type> are specified using any of the following
|
||||||
|
syntaxes:
|
||||||
|
|
||||||
<synopsis>
|
<synopsis>
|
||||||
( ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ( <replaceable>x2</replaceable> , <replaceable>y2</replaceable> ) )
|
( ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ( <replaceable>x2</replaceable> , <replaceable>y2</replaceable> ) )
|
||||||
( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ( <replaceable>x2</replaceable> , <replaceable>y2</replaceable> )
|
( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ( <replaceable>x2</replaceable> , <replaceable>y2</replaceable> )
|
||||||
<replaceable>x1</replaceable> , <replaceable>y1</replaceable> , <replaceable>x2</replaceable> , <replaceable>y2</replaceable>
|
<replaceable>x1</replaceable> , <replaceable>y1</replaceable> , <replaceable>x2</replaceable> , <replaceable>y2</replaceable>
|
||||||
</synopsis>
|
</synopsis>
|
||||||
|
|
||||||
@ -2790,11 +2802,13 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Boxes are output using the first syntax.
|
Boxes are output using the second syntax.
|
||||||
The corners are reordered on input to store
|
</para>
|
||||||
the upper right corner, then the lower left corner.
|
|
||||||
Other corners of the box can be entered, but the lower
|
<para>
|
||||||
left and upper right corners are determined from the input and stored.
|
Any two opposite corners can be supplied on input, but the values
|
||||||
|
will be reordered as needed to store the
|
||||||
|
upper right and lower left corners, in that order.
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
@ -2814,20 +2828,22 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Values of type <type>path</type> are specified using the following syntax:
|
Values of type <type>path</type> are specified using any of the following
|
||||||
|
syntaxes:
|
||||||
|
|
||||||
<synopsis>
|
<synopsis>
|
||||||
( ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ... , ( <replaceable>xn</replaceable> , <replaceable>yn</replaceable> ) )
|
|
||||||
[ ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ... , ( <replaceable>xn</replaceable> , <replaceable>yn</replaceable> ) ]
|
[ ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ... , ( <replaceable>xn</replaceable> , <replaceable>yn</replaceable> ) ]
|
||||||
( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ... , ( <replaceable>xn</replaceable> , <replaceable>yn</replaceable> )
|
( ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ... , ( <replaceable>xn</replaceable> , <replaceable>yn</replaceable> ) )
|
||||||
( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> , ... , <replaceable>xn</replaceable> , <replaceable>yn</replaceable> )
|
( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ... , ( <replaceable>xn</replaceable> , <replaceable>yn</replaceable> )
|
||||||
<replaceable>x1</replaceable> , <replaceable>y1</replaceable> , ... , <replaceable>xn</replaceable> , <replaceable>yn</replaceable>
|
( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> , ... , <replaceable>xn</replaceable> , <replaceable>yn</replaceable> )
|
||||||
|
<replaceable>x1</replaceable> , <replaceable>y1</replaceable> , ... , <replaceable>xn</replaceable> , <replaceable>yn</replaceable>
|
||||||
</synopsis>
|
</synopsis>
|
||||||
|
|
||||||
where the points are the end points of the line segments
|
where the points are the end points of the line segments
|
||||||
comprising the path. Square brackets (<literal>[]</>) indicate
|
comprising the path. Square brackets (<literal>[]</>) indicate
|
||||||
an open path, while parentheses (<literal>()</>) indicate a
|
an open path, while parentheses (<literal>()</>) indicate a
|
||||||
closed path.
|
closed path. When the outermost parentheses are omitted, as
|
||||||
|
in the third through fifth syntaxes, a closed path is assumed.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -2850,7 +2866,8 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Values of type <type>polygon</type> are specified using the following syntax:
|
Values of type <type>polygon</type> are specified using any of the
|
||||||
|
following syntaxes:
|
||||||
|
|
||||||
<synopsis>
|
<synopsis>
|
||||||
( ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ... , ( <replaceable>xn</replaceable> , <replaceable>yn</replaceable> ) )
|
( ( <replaceable>x1</replaceable> , <replaceable>y1</replaceable> ) , ... , ( <replaceable>xn</replaceable> , <replaceable>yn</replaceable> ) )
|
||||||
@ -2877,7 +2894,8 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
Circles are represented by a center point and a radius.
|
Circles are represented by a center point and a radius.
|
||||||
Values of type <type>circle</type> are specified using the following syntax:
|
Values of type <type>circle</type> are specified using any of the
|
||||||
|
following syntaxes:
|
||||||
|
|
||||||
<synopsis>
|
<synopsis>
|
||||||
< ( <replaceable>x</replaceable> , <replaceable>y</replaceable> ) , <replaceable>r</replaceable> >
|
< ( <replaceable>x</replaceable> , <replaceable>y</replaceable> ) , <replaceable>r</replaceable> >
|
||||||
@ -2887,8 +2905,9 @@ SELECT person.name, holidays.num_weeks FROM person, holidays
|
|||||||
</synopsis>
|
</synopsis>
|
||||||
|
|
||||||
where
|
where
|
||||||
<literal>(<replaceable>x</replaceable>,<replaceable>y</replaceable>)</literal>
|
<literal>(<replaceable>x</replaceable>,<replaceable>y</replaceable>)</>
|
||||||
is the center and <replaceable>r</replaceable> is the radius of the circle.
|
is the center and <replaceable>r</replaceable> is the radius of the
|
||||||
|
circle.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
Reference in New Issue
Block a user