]> granicus.if.org Git - postgresql/commitdiff
Improve Range Types and Exclusion Constraints example.
authorJeff Davis <jdavis@postgresql.org>
Thu, 5 Sep 2013 06:30:27 +0000 (23:30 -0700)
committerJeff Davis <jdavis@postgresql.org>
Thu, 5 Sep 2013 14:26:26 +0000 (07:26 -0700)
Make the examples self-contained to avoid confusion. Per bug report
8367 from KOIZUMI Satoru.

doc/src/sgml/rangetypes.sgml

index 8dabc833e9e88bb29ef120586b57d908cbcf8930..d1125618b4af990dd9d2a2e2a779f2d822ee7bab 100644 (file)
@@ -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 &amp;&amp;);
+CREATE TABLE reservation (
+    during tsrange,
+    EXCLUDE USING gist (during WITH &amp;&amp;)
+);
 </programlisting>
 
    That constraint will prevent any overlapping values from existing
@@ -459,14 +462,14 @@ ALTER TABLE reservation ADD EXCLUDE USING gist (during WITH &amp;&amp;);
 
 <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)');