DSL Syntax

Using the DSL syntax mentioned below,, the "rest/execute/v1/ actions/dsl/invoke" REST API can be executed to create, upodate and delete virtual databases:

 

DROP VIRTUAL DATABASE (IF EXISTS)? ‘name’
 
———————————————————————————————————————————————————————————————
 
CREATE VIRTUAL DATABASE (IF NOT EXISTS)? ‘name’
 
(SET ANNOTATION ‘this is a virtual db created using DSL api’ | NULL)?
 
———————————————————————————————————————————————————————————————
 
ALTER VIRTUAL DATABASE ‘name’ (RENAME AS ‘newName’)?
 
(SET ANNOTATION ‘this is a virtual db created using DSL api’ | NULL)?
 
———————————————————————————————————————————————————————————————
 
SELECT * FROM model.ALL_DATASOURCES WHERE PARENT_PATH = '/services/databases' //to view all published virtual relational datasources
 
———————————————————————————————————————————————————————————————
 
//to get the resource properties
 
SELECT * FROM model.ALL_RESOURCE_PROPERTIES WHERE
        METADATA_ID =
            (SELECT DATASOURCE_ID FROM model.ALL_DATASOURCES
            WHERE DATASOURCE_NAME = 'name' AND                              //name of virtual db
            PARENT_PATH = '/services/databases');                           //parent path of the folder
 
———————————————————————————————————————————————————————————————
 
//to get database attribute definitions for Composite Database.
 
SELECT * FROM model.SYS_DATASOURCE_ATTRIBUTE_DEFS WHERE adapter_name = 'COMPOSITE_DATABASE'