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

Function CMP_post_access

src/jrd/cmp.cpp:325–362  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

323
324
325void CMP_post_access(thread_db* tdbb,
326 CompilerScratch* csb,
327 const MetaName& security_name,
328 SLONG ssRelationId, // SQL SECURITY relation in which context permissions should be check
329 SecurityClass::flags_t mask,
330 ObjectType obj_type,
331 const MetaName& name,
332 const MetaName& r_name)
333{
334/**************************************
335 *
336 * C M P _ p o s t _ a c c e s s
337 *
338 **************************************
339 *
340 * Functional description
341 * Post access to security class to request.
342 * We append the new security class to the existing list of
343 * security classes for that request.
344 *
345 **************************************/
346 DEV_BLKCHK(csb, type_csb);
347 DEV_BLKCHK(view, type_rel);
348
349 // allow all access to internal requests
350
351 if (csb->csb_g_flags & (csb_internal | csb_ignore_perm))
352 return;
353
354 SET_TDBB(tdbb);
355
356 AccessItem access(security_name, ssRelationId, name, obj_type, mask, r_name);
357
358 FB_SIZE_T i;
359
360 if (!csb->csb_access.find(access, i))
361 csb->csb_access.insert(i, access);
362}
363
364
365void CMP_post_resource( ResourceList* rsc_ptr, void* obj, Resource::rsc_s type, USHORT id)

Callers 7

pass1Method · 0.85
pass1Method · 0.85
pass1UpdateFunction · 0.85
pass1Method · 0.85
IDX_check_accessFunction · 0.85
compileMethod · 0.85

Calls 3

SET_TDBBFunction · 0.85
findMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected