diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml index 2ce1c7b6982e7a8d9353a8082d54cb03ef1e49ea..bc8fba171413aaab67ac33cc83e2c4ba3ecc9481 100644 --- a/doc/src/sgml/datatype.sgml +++ b/doc/src/sgml/datatype.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.255 2010/07/29 19:34:40 petere Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.256 2010/08/10 20:41:27 petere Exp $ --> <chapter id="datatype"> <title>Data Types</title> @@ -2877,10 +2877,6 @@ CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy'); Once created, the enum type can be used in table and function definitions much like any other type: - </para> - - <example> - <title>Basic Enum Usage</title> <programlisting> CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy'); CREATE TABLE person ( @@ -2894,7 +2890,7 @@ SELECT * FROM person WHERE current_mood = 'happy'; Moe | happy (1 row) </programlisting> - </example> + </para> </sect2> <sect2> @@ -2905,10 +2901,7 @@ SELECT * FROM person WHERE current_mood = 'happy'; order in which the values were listed when the type was created. All standard comparison operators and related aggregate functions are supported for enums. For example: - </para> - - <example> - <title>Enum Ordering</title> + <programlisting> INSERT INTO person VALUES ('Larry', 'sad'); INSERT INTO person VALUES ('Curly', 'ok'); @@ -2934,7 +2927,7 @@ WHERE current_mood = (SELECT MIN(current_mood) FROM person); Larry (1 row) </programlisting> - </example> + </para> </sect2> <sect2> @@ -2942,11 +2935,8 @@ WHERE current_mood = (SELECT MIN(current_mood) FROM person); <para> Each enumerated data type is separate and cannot - be compared with other enumerated types. - </para> + be compared with other enumerated types. See this example: - <example> - <title>Lack of Casting</title> <programlisting> CREATE TYPE happiness AS ENUM ('happy', 'very happy', 'ecstatic'); CREATE TABLE holidays ( @@ -2962,15 +2952,12 @@ SELECT person.name, holidays.num_weeks FROM person, holidays WHERE person.current_mood = holidays.happiness; ERROR: operator does not exist: mood = happiness </programlisting> - </example> + </para> <para> If you really need to do something like that, you can either write a custom operator or add explicit casts to your query: - </para> - <example> - <title>Comparing Different Enums by Casting to Text</title> <programlisting> SELECT person.name, holidays.num_weeks FROM person, holidays WHERE person.current_mood::text = holidays.happiness::text; @@ -2980,7 +2967,7 @@ SELECT person.name, holidays.num_weeks FROM person, holidays (1 row) </programlisting> - </example> + </para> </sect2> <sect2>