|
74 | 74 | /* these queries are executed against the FK (referencing) table: */
|
75 | 75 | #define RI_PLAN_CASCADE_ONDELETE 3
|
76 | 76 | #define RI_PLAN_CASCADE_ONUPDATE 4
|
| 77 | +#define RI_PLAN_NO_ACTION 5 |
77 | 78 | /* For RESTRICT, the same plan can be used for both ON DELETE and ON UPDATE triggers. */
|
78 |
| -#define RI_PLAN_RESTRICT 5 |
79 |
| -#define RI_PLAN_SETNULL_ONDELETE 6 |
80 |
| -#define RI_PLAN_SETNULL_ONUPDATE 7 |
81 |
| -#define RI_PLAN_SETDEFAULT_ONDELETE 8 |
82 |
| -#define RI_PLAN_SETDEFAULT_ONUPDATE 9 |
| 79 | +#define RI_PLAN_RESTRICT 6 |
| 80 | +#define RI_PLAN_SETNULL_ONDELETE 7 |
| 81 | +#define RI_PLAN_SETNULL_ONUPDATE 8 |
| 82 | +#define RI_PLAN_SETDEFAULT_ONDELETE 9 |
| 83 | +#define RI_PLAN_SETDEFAULT_ONUPDATE 10 |
83 | 84 |
|
84 | 85 | #define MAX_QUOTED_NAME_LEN (NAMEDATALEN*2+3)
|
85 | 86 | #define MAX_QUOTED_REL_NAME_LEN (MAX_QUOTED_NAME_LEN*2)
|
@@ -752,7 +753,7 @@ ri_restrict(TriggerData *trigdata, bool is_no_action)
|
752 | 753 | * Fetch or prepare a saved plan for the restrict lookup (it's the same
|
753 | 754 | * query for delete and update cases)
|
754 | 755 | */
|
755 |
| - ri_BuildQueryKey(&qkey, riinfo, RI_PLAN_RESTRICT); |
| 756 | + ri_BuildQueryKey(&qkey, riinfo, is_no_action ? RI_PLAN_NO_ACTION : RI_PLAN_RESTRICT); |
756 | 757 |
|
757 | 758 | if ((qplan = ri_FetchPreparedPlan(&qkey)) == NULL)
|
758 | 759 | {
|
|
0 commit comments