restrictive by granting the module public access. The Security of a UDT is
maintained through normal SQL GRANT and REVOKE statements via a simple
extension. You can define the level of access to both native and externally
hosted UDTs.
Step 6. Once grants are applied, you can view the existing grants for all loaded
modules as shown in Figure 24 – Existing Grants. These grants can be
removed at anytime and redefined using this screen. This also can be grants
can also be applied via the SQL statement GRANT/REVOKE EXECUTE on
<user_defined_type>:
Example: Grant Public on CLR..Point;
Figure 23 – Applying Module Grants
Figure 24 – Existing Grants
The equivalent Virtuoso Procedure Language statement for defining the classes with the
import function call is shown below in Figure 25 – SQL Equivalent Create Type in
Virtuoso for CLR.
Figure 25 – SQL Equivalent Create Type in Virtuoso for CLR
create type "Point" language CLR external name 'Point/Point'
AS (
"x" double precision external name 'x' external type 'System.Double',
"y" double precision external name 'y' external type 'System.Double')
unrestricted
CONSTRUCTOR METHOD "Point" (
"new_x" double precision external type 'System.Double',