Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix spelling error in the previous check-in. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
cfd3eb70b4897780261511770b7f8708 |
User & Date: | drh 2019-03-29 16:41:31 |
Context
2019-04-01
| ||
14:45 | Merge changes from the 3.27 branch. check-in: 50513b6f28 user: drh tags: trunk | |
2019-03-29
| ||
16:41 | Fix spelling error in the previous check-in. check-in: cfd3eb70b4 user: drh tags: trunk | |
16:40 | Mention the ON parsing ambiguity of UPSERT on the UPSERT documentation page. check-in: c3bcaaf1e5 user: drh tags: trunk | |
Changes
Changes to pages/lang.in.
3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 |
takes its values from a [SELECT] statement, there is a potential
parsing ambiguity. The parser might not be able to tell if the
"ON" keyword is introducing the UPSERT or if it is the ON clause
of a join. To work around this, the SELECT statement should always
include a WHERE clause, even if that WHERE clause is just
"WHERE true".
<p>Ambiguious use of ON:
<blockquote><pre>
INSERT INTO t1 SELECT * FROM t2
ON CONFLICT(x) DO UPDATE SET y=excluded.y;
</pre></blockquote>
<p>Ambiguity resolved using a WHERE clause:
|
| |
3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 |
takes its values from a [SELECT] statement, there is a potential parsing ambiguity. The parser might not be able to tell if the "ON" keyword is introducing the UPSERT or if it is the ON clause of a join. To work around this, the SELECT statement should always include a WHERE clause, even if that WHERE clause is just "WHERE true". <p>Ambiguous use of ON: <blockquote><pre> INSERT INTO t1 SELECT * FROM t2 ON CONFLICT(x) DO UPDATE SET y=excluded.y; </pre></blockquote> <p>Ambiguity resolved using a WHERE clause: |