Reference to the EDML schema. Setting this is required so that IDEs can assist you while writing your definition.
The identifier of the document collection.
The name of the resulting table in Exasol.
Using this property you can provide documentation.
Defines the mapping for the document's properties. Typically you want to define fields
here to define mappings for this document's properties. But you can also use toJsonMapping
mapping here. In that case the whole document is mapped to a JSON string.
This definition defines the expected nested properties of the current property. For each of the nested properties you can again define a mapping. You only need to define the properties you want to map.
Properties:
PROPERTY_NAME: mappingDefinition
It must be specified a least one column.
Each additional property must conform to the following schema
Type: objectA mapping definition can either:
- map the property to a column or table
- model nested properties of the current property (using fields
)
Maps the selected document property to an Exasol VARCHAR
, column.
Value must be greater or equal to 1
and lesser or equal to 2000000
Behaviour to apply in case a value exceeds the size of the VARCHAR column.
- TRUNCATE: truncate the string
- NULL: use null instead
- ABORT: abort whole query
Name of the Exasol VARCHAR column
Behaviour to apply in case a value is not a string
- NULL
: use NULL instead
- ABORT
: abort whole query
- CONVERT_OR_NULL
: try to convert the value to string. If not possible use NULL.
- CONVERT_OR_ABORT
: try to convert the value to string. If not possible abort the whole query.
If this property is set to true
, queries will abort if the given mapping cannot find a single document. Else, the query will continue and set this cell to a default value. By default this is property is set to false
.
Setting this property marks a column as key.
Key columns are used as foreign keys from ToTableMappings
for nested lists.
A key can either be local or global. A global key must be unique over all rows of the table. A local key must only be unique in the scope of the nested list.
Maps the selected document property and all its descendants to a JSON string. You can alos use this mapping directly for a whole document.
No Additional PropertiesBehaviour to apply in case a value exceeds the size of the Exasol column.
- NULL
: use NULL
instead
- ABORT
: abort whole query
Name of the Exasol column. Required if used at root level. Else the name of the document property is used.
Setting this property marks a column as key.
Key columns are used as foreign keys from ToTableMappings
for nested lists.
A key can either be local or global. A global key must be unique over all rows of the table. A local key must only be unique in the scope of the nested list.
Maps the selected document property to an Exasol DECIMAL
column.
Precision of the Exasol DECIMAL
type. See https://docs.exasol.com/sqlreferences/datatypes/datatypedetails.htm
default = 18
Scale of the Exasol DECIMAL
type. See https://docs.exasol.com/sqlreferences/datatypes/datatypedetails.htm
default = 0
Behaviour to apply in case a value exceeds the size of the DECIMAL
column.
- NULL: use NULL
instead
- ABORT: abort whole query
Behaviour to apply in case a value is not a number
- NULL
: use NULL instead
ABORT
: abort whole query
Name of the Exasol column.
Default: name of the document property
Setting this property marks a column as key.
Key columns are used as foreign keys from ToTableMappings
for nested lists.
A key can either be local or global. A global key must be unique over all rows of the table. A local key must only be unique in the scope of the nested list.
This mapping is used for normalizing documents to table structures. It creates a new table in the resulting virtual schema named: <NAMEOFPARENT><GIVENNAME>.
You can define the columns of this table using the mapping property. If the parent table defines a key using one or more toVarcharMappings
for a key or secondary index in the document database, this will be used as foreign key.
Defines the mapping for the columns of the new table. If the document list contains non-objects (like strings) here, you can directly use toVarcharMapping
here. Otherwise, if the list contains objects, you can define mappings for the nested properties using fields
.