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

Function evlSystemPrivilege

src/jrd/SysFunction.cpp:6863–6882  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6861
6862
6863dsc* evlSystemPrivilege(thread_db* tdbb, const SysFunction*, const NestValueArray& args,
6864 impure_value* impure)
6865{
6866 fb_assert(args.getCount() == 1);
6867
6868 Request* request = tdbb->getRequest();
6869 const dsc* value = EVL_expr(tdbb, request, args[0]);
6870 if (request->req_flags & req_null) // return NULL if value is NULL
6871 return NULL;
6872
6873 fb_assert(value->dsc_dtype == dtype_short);
6874 USHORT p = *((USHORT*) value->dsc_address);
6875
6876 Jrd::Attachment* attachment = tdbb->getAttachment();
6877 impure->vlu_misc.vlu_uchar = (attachment->att_user &&
6878 attachment->att_user->locksmith(tdbb, p)) ? FB_TRUE : FB_FALSE;
6879 impure->vlu_desc.makeBoolean(&impure->vlu_misc.vlu_uchar);
6880
6881 return &impure->vlu_desc;
6882}
6883
6884
6885dsc* evlUnicodeChar(thread_db* tdbb, const SysFunction* function, const NestValueArray& args,

Callers

nothing calls this directly

Calls 6

EVL_exprFunction · 0.85
makeBooleanMethod · 0.80
getCountMethod · 0.45
getRequestMethod · 0.45
getAttachmentMethod · 0.45
locksmithMethod · 0.45

Tested by

no test coverage detected