Minor ON CONFLICT related comments and doc fixes.

Geoff Winkless, Stephen Frost, Peter Geoghegan and me.
This commit is contained in:
Andres Freund 2015-05-08 18:00:01 +02:00
parent 53bb309d2d
commit e8898e9169
4 changed files with 11 additions and 11 deletions

View File

@ -76,7 +76,7 @@ INSERT INTO <replaceable class="PARAMETER">table_name</replaceable> [ AS <replac
<para>
<literal>ON CONFLICT</> can be used to specify an alternative
action to raising a unique constraint or exclusion constraint
violation error . (See <xref linkend="sql-on-conflict"
violation error. (See <xref linkend="sql-on-conflict"
endterm="sql-on-conflict-title"> below.)
</para>
@ -397,7 +397,7 @@ INSERT INTO <replaceable class="PARAMETER">table_name</replaceable> [ AS <replac
<emphasis>unique index inference</emphasis> clause or an explicitly
named constraint can be used. For <literal>ON CONFLICT DO
NOTHING</literal>, it is optional to specify a
<parameter>conflict_target</parameter>; when ommitted, conflicts
<parameter>conflict_target</parameter>; when omitted, conflicts
with all usable constraints (and unique indexes) are handled. For
<literal>ON CONFLICT DO UPDATE</literal>, a conflict target
<emphasis>must</emphasis> be specified.

View File

@ -2068,10 +2068,10 @@ FreeBulkInsertState(BulkInsertState bistate)
* Speculatively inserted tuples behave as "value locks" of short duration,
* used to implement INSERT .. ON CONFLICT.
*
* Note that these options will be applied when inserting into the heap's
* TOAST table, too, if the tuple requires any out-of-line data.
* FIXME: Do we mark TOAST tuples as speculative too? What about confirming
* or aborting them?
* Note that most of these options will be applied when inserting into the
* heap's TOAST table, too, if the tuple requires any out-of-line data. Only
* HEAP_INSERT_IS_SPECULATIVE is explicitly ignored, as the toast data does
* not partake in speculative insertion.
*
* The BulkInsertState object (if any; bistate can be NULL for default
* behavior) is also just passed through to RelationGetBufferForTuple.

View File

@ -66,10 +66,10 @@ int SessionReplicationRole = SESSION_REPLICATION_ROLE_ORIGIN;
static int MyTriggerDepth = 0;
/*
* Note that similar macros also exists in executor/execMain.c. There does not
* appear to be any good header to put it into, given the structures that it
* uses, so we let them be duplicated. Be sure to update both if one needs to
* be changed, however.
* Note that similar macros also exist in executor/execMain.c. There does not
* appear to be any good header to put them into, given the structures that
* they use, so we let them be duplicated. Be sure to update all if one needs
* to be changed, however.
*/
#define GetUpdatedColumns(relinfo, estate) \
(rt_fetch((relinfo)->ri_RangeTableIndex, (estate)->es_range_table)->updatedCols)

View File

@ -1108,7 +1108,7 @@ typedef struct ModifyTableState
List *mt_arbiterindexes; /* unique index OIDs to arbitrate taking alt path */
TupleTableSlot *mt_existing; /* slot to store existing target tuple in */
List *mt_excludedtlist; /* the excluded pseudo relation's tlist */
TupleTableSlot *mt_conflproj; /* FIXME*/
TupleTableSlot *mt_conflproj; /* CONFLICT ... SET ... projection target */
} ModifyTableState;
/* ----------------