MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / put_trigger_blr

Function put_trigger_blr

src/gpre/cmd.cpp:2641–2667  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2639//
2640
2641static void put_trigger_blr(gpre_req* request,
2642 USHORT blr_operator,
2643 gpre_nod* node, pfn_local_trigger_cb routine)
2644{
2645 request->add_byte(blr_operator);
2646 const USHORT offset = request->req_blr - request->req_base;
2647 request->add_word(0);
2648 if (request->req_flags & REQ_blr_version4)
2649 request->add_byte(blr_version4);
2650 else
2651 request->add_byte(blr_version5);
2652 request->add_byte(blr_begin);
2653 request->add_byte(blr_if);
2654 (*routine) (node, request);
2655 request->add_byte(blr_begin);
2656 request->add_byte(blr_end);
2657
2658 // Generate the action for the trigger to be abort
2659
2660 request->add_byte(blr_abort);
2661 put_short_cstring(request, blr_gds_code, "check_constraint");
2662 request->add_byte(blr_end); // for if
2663 request->add_byte(blr_eoc);
2664 const USHORT length = request->req_blr - request->req_base - offset - 2;
2665 request->req_base[offset] = (UCHAR) length;
2666 request->req_base[offset + 1] = (UCHAR) (length >> 8);
2667}
2668
2669
2670//____________________________________________________________

Callers 1

create_triggerFunction · 0.85

Calls 3

put_short_cstringFunction · 0.85
add_byteMethod · 0.45
add_wordMethod · 0.45

Tested by

no test coverage detected