Exporting Metadata¶
The DESC VQL DATABASE
statement exports all the metadata
from a Virtual DataPort database or from the entire Server. This is very
useful for backup and migration purposes.
The syntax of the statement is:
DESC VQL DATABASE [ <database_name> ]
(
'<property name>' = { 'yes' | 'no' }
[ ,'<property name>' = { 'yes' | 'no' } ]*
)
If the DESC VQL DATABASE
statement includes the parameter
<database_name>
, all the metadata from that database will be
exported. It will not include the metadata of user definitions and
their privileges.
If the DESC VQL DATABASE
statement does not include the
parameter <database_name>
, the entire Server’s metadata will be
exported. That is:
The metadata from the entire Server, along with their
CREATE DATABASE
statements.User definitions and privileges.
Server settings
…
The user that executes this statement needs administrator privileges or the metadata_export
role (see “Exporting with ‘metadata_export’ role” in the section Export to a File with Properties).
The configuration parameters (<property name>
) of this command are:
includeCreateDatabase
. Ifyes
and you are exporting a database, the output will include aCREATE DATABASE
statement to create the database that you are exporting.includeJars
. Ifyes
, the output will include the jars that contain the Java classes associated with extensions. The section Developing Extensions of the Developer Guide explains what these extensions are and how to develop them.includeEnvSpecificElements
andincludeNonEnvSpecificElements
. Use these options to obtain only the VQL statements of the elements that depend on the environment ('includeEnvSpecificElements' = 'yes'
), or the statements of the elements that are independent of the environment ('includeNonEnvSpecificElements' = 'yes'
)For example, if a user has created new views and wants to obtain their VQL statements without the VQL of the elements that depend on the environment (e.g. data sources), she has to use the following options:
('includeNonEnvSpecificElements' = 'yes', 'includeEnvSpecificElements' = 'no')
.The section Exporting Environment-Dependent and Independent Elements to Different Files of the Administration Guide lists which elements are considered dependent on the environment and which are considered independent.
Note
These two options are deprecated and may be removed in future versions of the Denodo Platform. Use the option
includeProperties
instead.The section Features Deprecated in Denodo Platform lists all the features that are deprecated.
includeStatistics
. Ifyes
, the output will include the statistics gathered for the view. These are the statistics that are used during the cost-based optimization process. See more about this in the section Cost-Based Optimization of the Administration Guide.dropElements
. Ifyes
(default value), the output will include a commandDROP ... CASCADE
before each commandCREATE
. Ifno
, the result will not include aDROP
sentence before eachCREATE
one.replaceExistingElements
. Ifyes
, in the output, the VQL statements to create elements will be likeCREATE OR REPLACE ...
.If
no
(default value), the VQL statements will be likeCREATE ...
(withoutOR REPLACE
). Therefore, if an element of the same type already exists, the command will fail. Usually, this parameter is used in combination withdropElements
.For example:
DESC VQL DATASOURCE JDBC oracle_ds ('dropElements' = 'no', 'replaceExistingElements' = 'yes');
will return
CREATE OR REPLACE DATASOURCE JDBC oracle_ds...
. When this command is executed, it will create this JDBC data source if it does not exist. If a JDBC data source with this name already exists, it will replace this data source.If you execute the following:
DESC VQL DATASOURCE JDBC oracle_ds;
the result will be like
DROP DATASOURCE JDBC oracle_ds CASCADE; CREATE DATASOURCE JDBC oracle_ds...
When the first command is executed, the data source and all the views and other elements that depend on it will be deleted. Then, the data source will be created.
exclude_database_elements
. Ifyes
, the result will not include the elements of the database, only the privileges and the database configuration. Ifno
, the output file will include all elements of the database.
Example
The following statement exports the database “customer360”, including the statistics of the views of this database.
DESC VQL DATABASE customer360 ('includeCreateDatabase' = 'yes', 'includeStatistics' = 'yes', 'dropElements' = 'no', 'replaceExistingElements' = 'yes')
Without the parameter 'includeStatistics' = 'yes'
, DESC VQL does not return the statistics of the views you export.