diff options
author | Jeff Davis <jdavis@postgresql.org> | 2013-09-04 23:30:27 -0700 |
---|---|---|
committer | Jeff Davis <jdavis@postgresql.org> | 2013-09-05 07:26:26 -0700 |
commit | fb843b2679d959a63f48c2f4ad52243053e1a5d4 (patch) | |
tree | 33394d7b13d65b1cfa432fe346bedc07d49c3892 | |
parent | dacd258bf14cc78c28b7b773d0f420fd44dd543d (diff) | |
download | postgresql-fb843b2679d959a63f48c2f4ad52243053e1a5d4.tar.gz postgresql-fb843b2679d959a63f48c2f4ad52243053e1a5d4.zip |
Improve Range Types and Exclusion Constraints example.
Make the examples self-contained to avoid confusion. Per bug report
8367 from KOIZUMI Satoru.
-rw-r--r-- | doc/src/sgml/rangetypes.sgml | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/doc/src/sgml/rangetypes.sgml b/doc/src/sgml/rangetypes.sgml index 8dabc833e9e..d1125618b4a 100644 --- a/doc/src/sgml/rangetypes.sgml +++ b/doc/src/sgml/rangetypes.sgml @@ -451,7 +451,10 @@ CREATE INDEX reservation_idx ON reservation USING gist (during); range type. For example: <programlisting> -ALTER TABLE reservation ADD EXCLUDE USING gist (during WITH &&); +CREATE TABLE reservation ( + during tsrange, + EXCLUDE USING gist (during WITH &&) +); </programlisting> That constraint will prevent any overlapping values from existing @@ -459,14 +462,14 @@ ALTER TABLE reservation ADD EXCLUDE USING gist (during WITH &&); <programlisting> INSERT INTO reservation VALUES - (1108, '[2010-01-01 11:30, 2010-01-01 13:00)'); + ('[2010-01-01 11:30, 2010-01-01 15:00)'); INSERT 0 1 INSERT INTO reservation VALUES - (1108, '[2010-01-01 14:45, 2010-01-01 15:45)'); + ('[2010-01-01 14:45, 2010-01-01 15:45)'); ERROR: conflicting key value violates exclusion constraint "reservation_during_excl" -DETAIL: Key (during)=([ 2010-01-01 14:45:00, 2010-01-01 15:45:00 )) conflicts -with existing key (during)=([ 2010-01-01 14:30:00, 2010-01-01 15:30:00 )). +DETAIL: Key (during)=(["2010-01-01 14:45:00","2010-01-01 15:45:00")) conflicts +with existing key (during)=(["2010-01-01 11:30:00","2010-01-01 15:00:00")). </programlisting> </para> @@ -479,6 +482,7 @@ with existing key (during)=([ 2010-01-01 14:30:00, 2010-01-01 15:30:00 )). are equal: <programlisting> +CREATE EXTENSION btree_gist; CREATE TABLE room_reservation ( room text, during tsrange, @@ -492,8 +496,8 @@ INSERT 0 1 INSERT INTO room_reservation VALUES ('123A', '[2010-01-01 14:30, 2010-01-01 15:30)'); ERROR: conflicting key value violates exclusion constraint "room_reservation_room_during_excl" -DETAIL: Key (room, during)=(123A, [ 2010-01-01 14:30:00, 2010-01-01 15:30:00 )) conflicts with -existing key (room, during)=(123A, [ 2010-01-01 14:00:00, 2010-01-01 15:00:00 )). +DETAIL: Key (room, during)=(123A, ["2010-01-01 14:30:00","2010-01-01 15:30:00")) conflicts +with existing key (room, during)=(123A, ["2010-01-01 14:00:00","2010-01-01 15:00:00")). INSERT INTO room_reservation VALUES ('123B', '[2010-01-01 14:30, 2010-01-01 15:30)'); |