File tree 1 file changed +3
-19
lines changed
1 file changed +3
-19
lines changed Original file line number Diff line number Diff line change @@ -704,15 +704,6 @@ CREATE INDEX test1_lower_col1_idx ON test1 (lower(col1));
704
704
</programlisting>
705
705
</para>
706
706
707
- <para>
708
- Expression indexes also allow control over the scope of unique indexes.
709
- For example, this unique index prevents duplicate integer values from
710
- being stored in a <type>double precision</type>-typed column:
711
- <programlisting>
712
- CREATE UNIQUE INDEX test1_uniq_int ON tests ((floor(double_col)))
713
- </programlisting>
714
- </para>
715
-
716
707
<para>
717
708
If we were to declare this index <literal>UNIQUE</literal>, it would prevent
718
709
creation of rows whose <literal>col1</literal> values differ only in case,
@@ -952,18 +943,11 @@ CREATE UNIQUE INDEX tests_success_constraint ON tests (subject, target)
952
943
WHERE success;
953
944
</programlisting>
954
945
This is a particularly efficient approach when there are few
955
- successful tests and many unsuccessful ones.
946
+ successful tests and many unsuccessful ones. It is also possible to
947
+ allow only one null in a column by creating a unique partial index
948
+ with an <literal>IS NULL</literal> restriction.
956
949
</para>
957
950
958
- <para>
959
- This index allows only one null in the indexed column by using a
960
- partial index clause to process only null column values, and using
961
- an expression index clause to index <literal>true</literal> instead
962
- of <literal>null</literal>:
963
- <programlisting>
964
- CREATE UNIQUE INDEX tests_target_one_null ON tests ((target IS NULL)) WHERE target IS NULL;
965
- </programlisting>
966
- </para>
967
951
</example>
968
952
969
953
<para>
You can’t perform that action at this time.
0 commit comments