MCPcopy Create free account
hub / github.com/apache/cloudberry / fireBSTriggers

Function fireBSTriggers

src/backend/executor/nodeModifyTable.c:2478–2502  ·  view source on GitHub ↗

* Process BEFORE EACH STATEMENT triggers */

Source from the content-addressed store, hash-verified

2476 * Process BEFORE EACH STATEMENT triggers
2477 */
2478static void
2479fireBSTriggers(ModifyTableState *node)
2480{
2481 ModifyTable *plan = (ModifyTable *) node->ps.plan;
2482 ResultRelInfo *resultRelInfo = node->rootResultRelInfo;
2483
2484 switch (node->operation)
2485 {
2486 case CMD_INSERT:
2487 ExecBSInsertTriggers(node->ps.state, resultRelInfo);
2488 if (plan->onConflictAction == ONCONFLICT_UPDATE)
2489 ExecBSUpdateTriggers(node->ps.state,
2490 resultRelInfo);
2491 break;
2492 case CMD_UPDATE:
2493 ExecBSUpdateTriggers(node->ps.state, resultRelInfo);
2494 break;
2495 case CMD_DELETE:
2496 ExecBSDeleteTriggers(node->ps.state, resultRelInfo);
2497 break;
2498 default:
2499 elog(ERROR, "unknown operation");
2500 break;
2501 }
2502}
2503
2504/*
2505 * Process AFTER EACH STATEMENT triggers

Callers 2

ExecModifyTableFunction · 0.85
ExecInitModifyTableFunction · 0.85

Calls 3

ExecBSInsertTriggersFunction · 0.85
ExecBSUpdateTriggersFunction · 0.85
ExecBSDeleteTriggersFunction · 0.85

Tested by

no test coverage detected