| CPC G06F 21/6227 (2013.01) [G06F 16/2282 (2019.01); G06F 16/245 (2019.01); G06F 21/6218 (2013.01)] | 17 Claims |

|
1. A multi-tenant database system comprising:
a memory; and
one or more processors operatively coupled to the memory, the one or more processors to:
receive a grant to access a share object comprising a plurality of functions associated with a secure user-defined function (UDF) to underlying data;
access the share object using the grant;
send a request to a share component to cause the share component to:
determine that a first function of the plurality of functions produces errors;
annotate the first function of the plurality of functions with a safety property indicating that the first function produces errors;
implement a second function of the plurality of functions by pushing the second function through a secure view boundary;
prevent, based on the safety property, an implementation of the second function by ensuring that the second function is not pushed through the secure view boundary;
hide the secure UDF from a second account having access to a view associated with a first account by modifying an output of commands to prevent the second account from receiving the secure UDF; and
receive, by the first account from the secure UDF, the functionality to the underlying data, wherein the functionality prevents the first account from using the functionality to access unauthorized data by preventing the first account from receiving metadata associated with the underlying data.
|