Commit 555ee77
committed
Handle INSERT .. ON CONFLICT with partitioned tables
Commit eb7ed3f enabled unique constraints on partitioned tables,
but one thing that was not working properly is INSERT/ON CONFLICT.
This commit introduces a new node keeps state related to the ON CONFLICT
clause per partition, and fills it when that partition is about to be
used for tuple routing.
Author: Amit Langote, Álvaro Herrera
Reviewed-by: Etsuro Fujita, Pavan Deolasee
Discussion: https://postgr.es/m/20180228004602.cwdyralmg5ejdqkq@alvherre.pgsql1 parent 1b89c21 commit 555ee77
File tree
14 files changed
+638
-84
lines changed- doc/src/sgml
- ref
- src
- backend
- catalog
- executor
- parser
- include
- catalog
- nodes
- test/regress
- expected
- sql
14 files changed
+638
-84
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3322 | 3322 | | |
3323 | 3323 | | |
3324 | 3324 | | |
3325 | | - | |
3326 | | - | |
3327 | | - | |
3328 | | - | |
3329 | | - | |
3330 | | - | |
3331 | | - | |
3332 | | - | |
3333 | | - | |
3334 | | - | |
3335 | | - | |
3336 | | - | |
3337 | | - | |
3338 | | - | |
3339 | | - | |
3340 | 3325 | | |
3341 | 3326 | | |
3342 | 3327 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
518 | 518 | | |
519 | 519 | | |
520 | 520 | | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
521 | 529 | | |
522 | 530 | | |
523 | 531 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
138 | 138 | | |
139 | 139 | | |
140 | 140 | | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
141 | 145 | | |
142 | 146 | | |
143 | 147 | | |
| |||
1377 | 1381 | | |
1378 | 1382 | | |
1379 | 1383 | | |
| 1384 | + | |
1380 | 1385 | | |
1381 | 1386 | | |
1382 | 1387 | | |
| |||
1387 | 1392 | | |
1388 | 1393 | | |
1389 | 1394 | | |
1390 | | - | |
1391 | 1395 | | |
1392 | | - | |
1393 | | - | |
1394 | | - | |
1395 | 1396 | | |
1396 | 1397 | | |
1397 | 1398 | | |
1398 | 1399 | | |
| 1400 | + | |
| 1401 | + | |
| 1402 | + | |
| 1403 | + | |
| 1404 | + | |
| 1405 | + | |
| 1406 | + | |
| 1407 | + | |
| 1408 | + | |
| 1409 | + | |
| 1410 | + | |
| 1411 | + | |
| 1412 | + | |
| 1413 | + | |
| 1414 | + | |
| 1415 | + | |
| 1416 | + | |
| 1417 | + | |
| 1418 | + | |
| 1419 | + | |
| 1420 | + | |
| 1421 | + | |
| 1422 | + | |
1399 | 1423 | | |
1400 | 1424 | | |
1401 | 1425 | | |
| |||
1405 | 1429 | | |
1406 | 1430 | | |
1407 | 1431 | | |
1408 | | - | |
| 1432 | + | |
1409 | 1433 | | |
1410 | | - | |
1411 | 1434 | | |
1412 | | - | |
1413 | | - | |
| 1435 | + | |
| 1436 | + | |
| 1437 | + | |
1414 | 1438 | | |
1415 | | - | |
1416 | | - | |
| 1439 | + | |
| 1440 | + | |
1417 | 1441 | | |
1418 | 1442 | | |
1419 | | - | |
1420 | 1443 | | |
1421 | 1444 | | |
1422 | 1445 | | |
1423 | 1446 | | |
| 1447 | + | |
| 1448 | + | |
| 1449 | + | |
| 1450 | + | |
| 1451 | + | |
| 1452 | + | |
| 1453 | + | |
| 1454 | + | |
| 1455 | + | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
| 1459 | + | |
| 1460 | + | |
| 1461 | + | |
| 1462 | + | |
| 1463 | + | |
| 1464 | + | |
| 1465 | + | |
| 1466 | + | |
| 1467 | + | |
| 1468 | + | |
| 1469 | + | |
| 1470 | + | |
| 1471 | + | |
| 1472 | + | |
| 1473 | + | |
| 1474 | + | |
| 1475 | + | |
| 1476 | + | |
| 1477 | + | |
| 1478 | + | |
| 1479 | + | |
| 1480 | + | |
| 1481 | + | |
| 1482 | + | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
1424 | 1490 | | |
1425 | 1491 | | |
1426 | 1492 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1347 | 1347 | | |
1348 | 1348 | | |
1349 | 1349 | | |
| 1350 | + | |
| 1351 | + | |
1350 | 1352 | | |
1351 | 1353 | | |
1352 | 1354 | | |
1353 | 1355 | | |
1354 | 1356 | | |
| 1357 | + | |
| 1358 | + | |
1355 | 1359 | | |
1356 | 1360 | | |
1357 | 1361 | | |
| |||
0 commit comments