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

Function VIO_store

src/jrd/vio.cpp:3969–4376  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3967
3968
3969void VIO_store(thread_db* tdbb, record_param* rpb, jrd_tra* transaction)
3970{
3971/**************************************
3972 *
3973 * V I O _ s t o r e
3974 *
3975 **************************************
3976 *
3977 * Functional description
3978 * Store a new record.
3979 *
3980 **************************************/
3981 SET_TDBB(tdbb);
3982 Request* const request = tdbb->getRequest();
3983 jrd_rel* relation = rpb->rpb_relation;
3984
3985 DeferredWork* work = NULL;
3986 MetaName package_name;
3987 USHORT object_id;
3988 MetaName object_name;
3989
3990#ifdef VIO_DEBUG
3991 VIO_trace(DEBUG_WRITES,
3992 "VIO_store (rel_id %u, record_param %" QUADFORMAT"d, transaction %" SQUADFORMAT
3993 ")\n", relation->rel_id, rpb->rpb_number.getValue(),
3994 transaction ? transaction->tra_number : 0);
3995#endif
3996
3997 transaction->tra_flags |= TRA_write;
3998 DSC desc, desc2;
3999
4000 check_gbak_cheating_insupd(tdbb, relation, "INSERT");
4001
4002 if (needDfw(tdbb, transaction))
4003 {
4004 switch ((RIDS) relation->rel_id)
4005 {
4006 case rel_pages:
4007 case rel_formats:
4008 case rel_trans:
4009 case rel_rcon:
4010 case rel_refc:
4011 case rel_ccon:
4012 case rel_sec_users:
4013 case rel_sec_user_attributes:
4014 case rel_msgs:
4015 case rel_prc_prms:
4016 case rel_args:
4017 case rel_auth_mapping:
4018 case rel_dpds:
4019 case rel_dims:
4020 case rel_segments:
4021 protect_system_table_insert(tdbb, request, relation);
4022 break;
4023
4024 case rel_roles:
4025 protect_system_table_insert(tdbb, request, relation);
4026 EVL_field(0, rpb->rpb_record, f_rol_name, &desc);

Callers 2

storeMethod · 0.85
doInsertMethod · 0.85

Calls 15

SET_TDBBFunction · 0.85
VIO_traceFunction · 0.85
needDfwFunction · 0.85
EVL_fieldFunction · 0.85
set_security_classFunction · 0.85
MOV_get_longFunction · 0.85
set_system_flagFunction · 0.85
set_owner_nameFunction · 0.85
MOV_get_metanameFunction · 0.85
set_metadata_idFunction · 0.85

Tested by

no test coverage detected