From 693d44615eba366edc9093c8847f796053f1d975 Mon Sep 17 00:00:00 2001 From: Alik Rakhmonov Date: Fri, 20 Feb 2026 08:59:09 +0100 Subject: [PATCH] HCK-14924: Custom scripts before remarks/comments --- .../container_level/containerLevelConfig.json | 700 ++--- .../entity_level/entityLevelConfig.json | 2254 ++++++++--------- .../model_level/modelLevelConfig.json | 482 ++-- .../view_level/viewLevelConfig.json | 1666 ++++++------ 4 files changed, 2551 insertions(+), 2551 deletions(-) diff --git a/properties_pane/container_level/containerLevelConfig.json b/properties_pane/container_level/containerLevelConfig.json index c1139a3..4a64baf 100644 --- a/properties_pane/container_level/containerLevelConfig.json +++ b/properties_pane/container_level/containerLevelConfig.json @@ -114,354 +114,354 @@ making sure that you maintain a proper JSON format. */ [ - { - "lowerTab": "Details", - "structure": [ - { - "propertyName": "If not exists", - "propertyKeyword": "ifNotExist", - "propertyType": "checkbox" - }, - { - "propertyName": "Remarks", - "propertyKeyword": "comments", - "shouldValidate": false, - "propertyTooltip": "remarks", - "addTimestampButton": true, - "propertyType": "details", - "template": "textarea" - }, - { - "propertyName": "Authorization", - "propertyKeyword": "authorization", - "propertyType": "checkbox" - }, - { - "propertyName": "Grant statement", - "propertyKeyword": "grant_statement", - "propertyTooltip": "Use this clause to grant object privileges on objects you own to other users.", - "propertyType": "details", - "template": "textarea" - }, - { - "propertyName": "Custom scripts", - "propertyType": "block", - "propertyKeyword": "customScripts", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Before CREATE SCHEMA", - "propertyKeyword": "beforeCreateContainer", - "propertyType": "block", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Script", - "propertyKeyword": "script", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql", - "customScriptVariables": true - } - } - ] - }, - { - "propertyName": "After CREATE SCHEMA", - "propertyKeyword": "afterCreateContainer", - "propertyType": "block", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Script", - "propertyKeyword": "script", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql", - "customScriptVariables": true - } - } - ] - }, - { - "propertyName": "Before each CREATE TABLE", - "propertyKeyword": "beforeCreateEntity", - "propertyType": "block", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Script", - "propertyKeyword": "script", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql", - "customScriptVariables": true - } - } - ] - }, - { - "propertyName": "After each CREATE TABLE", - "propertyKeyword": "afterCreateEntity", - "propertyType": "block", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Script", - "propertyKeyword": "script", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql", - "customScriptVariables": true - } - } - ] - }, - { - "propertyName": "Before each CREATE VIEW", - "propertyKeyword": "beforeCreateView", - "propertyType": "block", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Script", - "propertyKeyword": "script", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql", - "customScriptVariables": true - } - } - ] - }, - { - "propertyName": "After each CREATE VIEW", - "propertyKeyword": "afterCreateView", - "propertyType": "block", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Script", - "propertyKeyword": "script", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql", - "customScriptVariables": true - } - } - ] - } - ] - } - ], - "containerLevelKeys": [] - }, - { - "lowerTab": "Synonyms", - "structure": [ - { - "propertyName": "Synonyms", - "propertyType": "group", - "propertyKeyword": "synonyms", - "shouldValidate": false, - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Name", - "propertyKeyword": "synonymName", - "propertyType": "text", - "requiredProperty": true - }, - { - "propertyName": "Public", - "propertyKeyword": "synonymPublic", - "propertyTooltip": "Make the synonym PUBLIC so that it can be accessed by users from PUBLIC group.", - "propertyType": "checkbox", - "defaultValue": false - }, - { - "propertyName": "Or replace", - "propertyKeyword": "synonymOrReplace", - "propertyTooltip": "Replace the synonym if it already exists.", - "propertyType": "checkbox", - "defaultValue": false - }, - { - "propertyName": "Editionable", - "propertyKeyword": "synonymEditionable", - "propertyTooltip": "", - "propertyType": "select", - "defaultValue": "", - "options": ["", "EDITIONABLE", "NONEDITIONABLE"] - }, - { - "propertyName": "Entity", - "propertyKeyword": "synonymEntityId", - "propertyTooltip": "Chose entity to create synonym for", - "propertyType": "selecthashed", - "fieldParentCategory": "collection", - "template": ["entities", "views", "definitions"], - "withEmptyOption": true, - "selectedBucketEntitiesOnly": true, - "requiredProperty": true - } - ] - } - ] - }, - { - "lowerTab": "Sequences", - "structure": [ - { - "propertyName": "Sequences", - "propertyType": "group", - "propertyKeyword": "sequences", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Sequence name", - "propertyKeyword": "sequenceName", - "propertyTooltip": "", - "propertyType": "text" - }, - { - "propertyName": "If not exists", - "propertyKeyword": "ifNotExist", - "propertyTooltip": "Do not throw an error if a relation with the same name already exists. A notice is issued in this case. Note that there is no guarantee that the existing relation is anything like the sequence that would have been created — it might not even be a sequence.", - "propertyType": "checkbox" - }, - { - "propertyName": "Type", - "propertyKeyword": "type", - "propertyTooltip": "Specify session if you want to sequence returns a unique range of sequence numbers only within a session, or global to create a regular sequence.", - "propertyType": "select", - "options": ["", "global", "session"] - }, - { - "propertyName": "Sharing", - "propertyKeyword": "sharing", - "propertyTooltip": "If you omit this clause, then the database uses the value of the DEFAULT_SHARING initialization parameter to determine the sharing attribute of the sequence. A metadata link shares the sequence’s metadata, but its data is unique to each container. A data link shares the sequence, and its data is the same for all containers in the application container. If None, the sequence is not shared.", - "propertyType": "select", - "options": ["", "metadata", "data", "none"] - }, - { - "propertyName": "Start with", - "propertyKeyword": "start", - "propertyType": "numeric", - "valueType": "number", - "propertyTooltip": "Allows the sequence to begin anywhere. The default starting value is minvalue for ascending sequences and maxvalue for descending ones." - }, - { - "propertyName": "Increment by", - "propertyKeyword": "increment", - "propertyType": "numeric", - "valueType": "number", - "propertyTooltip": "The data type determines the default minimum and maximum values of the sequence." - }, - { - "propertyName": "Min value", - "propertyKeyword": "minValue", - "propertyType": "numeric", - "valueType": "number", - "propertyTooltip": "Determines the minimum value a sequence can generate. If this clause is not supplied is specified, then defaults will be used. The default for an ascending sequence is 1. The default for a descending sequence is the minimum value of the data type." - }, - { - "propertyName": "Max value", - "propertyKeyword": "maxValue", - "propertyType": "numeric", - "valueType": "number", - "propertyTooltip": "Determines the maximum value for the sequence. If this clause is not supplied is specified, then default values will be used. The default for an ascending sequence is the maximum value of the data type. The default for a descending sequence is -1." - }, - { - "propertyName": "Cycle", - "propertyKeyword": "cycle", - "propertyTooltip": "Specify CYCLE to indicate that the sequence continues to generate values after reaching either its maximum or minimum value. Specify NOCYCLE to indicate that the sequence cannot generate more values after reaching its maximum or minimum value. This is the default.", - "propertyType": "select", - "options": ["", "cycle", "nocycle"] - }, - { - "propertyName": "Cache", - "propertyKeyword": "cache", - "propertyTooltip": "Specify how many values of the sequence the database preallocates and keeps in memory for faster access. Specify NOCACHE to indicate that values of the sequence are not preallocated. If you omit both CACHE and NOCACHE, then the database caches 20 sequence numbers by default.", - "propertyType": "select", - "options": ["", "cache", "nocache"] - }, - { - "propertyName": "Cache value", - "propertyKeyword": "cacheValue", - "propertyType": "numeric", - "valueType": "number", - "propertyTooltip": "This integer value can have 28 or fewer digits. The minimum value for this parameter is 2.", - "minValue": 2, - "dependency": { - "key": "cache", - "value": "cache" - } - }, - { - "propertyName": "Order", - "propertyKeyword": "order", - "propertyTooltip": "Specify ORDER to guarantee that sequence numbers are generated in order of request. Specify NOORDER if you do not want to guarantee sequence numbers are generated in order of request. This is the default.", - "propertyType": "select", - "options": ["", "order", "noorder"] - }, - { - "propertyName": "Keep", - "propertyKeyword": "keep", - "propertyTooltip": "Specify KEEP if you want NEXTVAL to retain its original value during replay for Application Continuity. Specify NOKEEP if you do not want NEXTVAL to retain its original value during replay for Application Continuity. This is the default.", - "propertyType": "select", - "options": ["", "keep", "nokeep"] - }, - { - "propertyName": "Scale", - "propertyKeyword": "scale", - "propertyTooltip": "When you use SCALE it is highly recommended that you not use ORDER simultaneously on the sequence. Use SCALE to enable sequence scalability. When SCALE is specified, a numeric offset is affixed to the beginning of the sequence which removes all duplicates in generated values.", - "propertyType": "select", - "options": ["", "scale", "noscale"] - }, - { - "propertyName": "Scale extend", - "propertyKeyword": "scaleExtend", - "propertyTooltip": "If you specify EXTEND with SCALE the generated sequence values are all of length (x+y), where x is the length of the scalable offset (default value is 6), and y is the maximum number of digits in the sequence (maxvalue/minvalue). With the NOEXTEND setting, the generated sequence values are at most as wide as the maximum number of digits in the sequence (maxvalue/minvalue). This setting is useful for integration with existing applications where sequences are used to populate fixed width columns.", - "propertyType": "select", - "options": ["", "extend", "noextend"], - "dependency": { - "key": "scale", - "value": "scale" - } - }, - { - "propertyName": "Shard", - "propertyKeyword": "shard", - "propertyTooltip": "The sequence object is created as a global, all-shards sharded object that returns unique sequence values across all shards.", - "propertyType": "select", - "options": ["", "shard", "noshard"] - }, - { - "propertyName": "Shard extend", - "propertyKeyword": "shardExtend", - "propertyTooltip": "When you specify EXTEND with the SHARD clause, the generated sequence values are all of length (x + y), where x is the length of an(a) SHARD offset of size 4. When you specify NOEXTEND, the generated sequence values are at most as wide as the maximum number of digits in the sequence maxvalue/minvalue. ", - "propertyType": "select", - "options": ["", "extend", "noextend"], - "dependency": { - "key": "shard", - "value": "shard" - } - } - ] - } - ] - } + { + "lowerTab": "Details", + "structure": [ + { + "propertyName": "If not exists", + "propertyKeyword": "ifNotExist", + "propertyType": "checkbox" + }, + { + "propertyName": "Custom scripts", + "propertyType": "block", + "propertyKeyword": "customScripts", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Before CREATE SCHEMA", + "propertyKeyword": "beforeCreateContainer", + "propertyType": "block", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Script", + "propertyKeyword": "script", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql", + "customScriptVariables": true + } + } + ] + }, + { + "propertyName": "After CREATE SCHEMA", + "propertyKeyword": "afterCreateContainer", + "propertyType": "block", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Script", + "propertyKeyword": "script", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql", + "customScriptVariables": true + } + } + ] + }, + { + "propertyName": "Before each CREATE TABLE", + "propertyKeyword": "beforeCreateEntity", + "propertyType": "block", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Script", + "propertyKeyword": "script", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql", + "customScriptVariables": true + } + } + ] + }, + { + "propertyName": "After each CREATE TABLE", + "propertyKeyword": "afterCreateEntity", + "propertyType": "block", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Script", + "propertyKeyword": "script", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql", + "customScriptVariables": true + } + } + ] + }, + { + "propertyName": "Before each CREATE VIEW", + "propertyKeyword": "beforeCreateView", + "propertyType": "block", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Script", + "propertyKeyword": "script", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql", + "customScriptVariables": true + } + } + ] + }, + { + "propertyName": "After each CREATE VIEW", + "propertyKeyword": "afterCreateView", + "propertyType": "block", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Script", + "propertyKeyword": "script", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql", + "customScriptVariables": true + } + } + ] + } + ] + }, + { + "propertyName": "Remarks", + "propertyKeyword": "comments", + "shouldValidate": false, + "propertyTooltip": "remarks", + "addTimestampButton": true, + "propertyType": "details", + "template": "textarea" + }, + { + "propertyName": "Authorization", + "propertyKeyword": "authorization", + "propertyType": "checkbox" + }, + { + "propertyName": "Grant statement", + "propertyKeyword": "grant_statement", + "propertyTooltip": "Use this clause to grant object privileges on objects you own to other users.", + "propertyType": "details", + "template": "textarea" + } + ], + "containerLevelKeys": [] + }, + { + "lowerTab": "Synonyms", + "structure": [ + { + "propertyName": "Synonyms", + "propertyType": "group", + "propertyKeyword": "synonyms", + "shouldValidate": false, + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Name", + "propertyKeyword": "synonymName", + "propertyType": "text", + "requiredProperty": true + }, + { + "propertyName": "Public", + "propertyKeyword": "synonymPublic", + "propertyTooltip": "Make the synonym PUBLIC so that it can be accessed by users from PUBLIC group.", + "propertyType": "checkbox", + "defaultValue": false + }, + { + "propertyName": "Or replace", + "propertyKeyword": "synonymOrReplace", + "propertyTooltip": "Replace the synonym if it already exists.", + "propertyType": "checkbox", + "defaultValue": false + }, + { + "propertyName": "Editionable", + "propertyKeyword": "synonymEditionable", + "propertyTooltip": "", + "propertyType": "select", + "defaultValue": "", + "options": ["", "EDITIONABLE", "NONEDITIONABLE"] + }, + { + "propertyName": "Entity", + "propertyKeyword": "synonymEntityId", + "propertyTooltip": "Chose entity to create synonym for", + "propertyType": "selecthashed", + "fieldParentCategory": "collection", + "template": ["entities", "views", "definitions"], + "withEmptyOption": true, + "selectedBucketEntitiesOnly": true, + "requiredProperty": true + } + ] + } + ] + }, + { + "lowerTab": "Sequences", + "structure": [ + { + "propertyName": "Sequences", + "propertyType": "group", + "propertyKeyword": "sequences", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Sequence name", + "propertyKeyword": "sequenceName", + "propertyTooltip": "", + "propertyType": "text" + }, + { + "propertyName": "If not exists", + "propertyKeyword": "ifNotExist", + "propertyTooltip": "Do not throw an error if a relation with the same name already exists. A notice is issued in this case. Note that there is no guarantee that the existing relation is anything like the sequence that would have been created — it might not even be a sequence.", + "propertyType": "checkbox" + }, + { + "propertyName": "Type", + "propertyKeyword": "type", + "propertyTooltip": "Specify session if you want to sequence returns a unique range of sequence numbers only within a session, or global to create a regular sequence.", + "propertyType": "select", + "options": ["", "global", "session"] + }, + { + "propertyName": "Sharing", + "propertyKeyword": "sharing", + "propertyTooltip": "If you omit this clause, then the database uses the value of the DEFAULT_SHARING initialization parameter to determine the sharing attribute of the sequence. A metadata link shares the sequence’s metadata, but its data is unique to each container. A data link shares the sequence, and its data is the same for all containers in the application container. If None, the sequence is not shared.", + "propertyType": "select", + "options": ["", "metadata", "data", "none"] + }, + { + "propertyName": "Start with", + "propertyKeyword": "start", + "propertyType": "numeric", + "valueType": "number", + "propertyTooltip": "Allows the sequence to begin anywhere. The default starting value is minvalue for ascending sequences and maxvalue for descending ones." + }, + { + "propertyName": "Increment by", + "propertyKeyword": "increment", + "propertyType": "numeric", + "valueType": "number", + "propertyTooltip": "The data type determines the default minimum and maximum values of the sequence." + }, + { + "propertyName": "Min value", + "propertyKeyword": "minValue", + "propertyType": "numeric", + "valueType": "number", + "propertyTooltip": "Determines the minimum value a sequence can generate. If this clause is not supplied is specified, then defaults will be used. The default for an ascending sequence is 1. The default for a descending sequence is the minimum value of the data type." + }, + { + "propertyName": "Max value", + "propertyKeyword": "maxValue", + "propertyType": "numeric", + "valueType": "number", + "propertyTooltip": "Determines the maximum value for the sequence. If this clause is not supplied is specified, then default values will be used. The default for an ascending sequence is the maximum value of the data type. The default for a descending sequence is -1." + }, + { + "propertyName": "Cycle", + "propertyKeyword": "cycle", + "propertyTooltip": "Specify CYCLE to indicate that the sequence continues to generate values after reaching either its maximum or minimum value. Specify NOCYCLE to indicate that the sequence cannot generate more values after reaching its maximum or minimum value. This is the default.", + "propertyType": "select", + "options": ["", "cycle", "nocycle"] + }, + { + "propertyName": "Cache", + "propertyKeyword": "cache", + "propertyTooltip": "Specify how many values of the sequence the database preallocates and keeps in memory for faster access. Specify NOCACHE to indicate that values of the sequence are not preallocated. If you omit both CACHE and NOCACHE, then the database caches 20 sequence numbers by default.", + "propertyType": "select", + "options": ["", "cache", "nocache"] + }, + { + "propertyName": "Cache value", + "propertyKeyword": "cacheValue", + "propertyType": "numeric", + "valueType": "number", + "propertyTooltip": "This integer value can have 28 or fewer digits. The minimum value for this parameter is 2.", + "minValue": 2, + "dependency": { + "key": "cache", + "value": "cache" + } + }, + { + "propertyName": "Order", + "propertyKeyword": "order", + "propertyTooltip": "Specify ORDER to guarantee that sequence numbers are generated in order of request. Specify NOORDER if you do not want to guarantee sequence numbers are generated in order of request. This is the default.", + "propertyType": "select", + "options": ["", "order", "noorder"] + }, + { + "propertyName": "Keep", + "propertyKeyword": "keep", + "propertyTooltip": "Specify KEEP if you want NEXTVAL to retain its original value during replay for Application Continuity. Specify NOKEEP if you do not want NEXTVAL to retain its original value during replay for Application Continuity. This is the default.", + "propertyType": "select", + "options": ["", "keep", "nokeep"] + }, + { + "propertyName": "Scale", + "propertyKeyword": "scale", + "propertyTooltip": "When you use SCALE it is highly recommended that you not use ORDER simultaneously on the sequence. Use SCALE to enable sequence scalability. When SCALE is specified, a numeric offset is affixed to the beginning of the sequence which removes all duplicates in generated values.", + "propertyType": "select", + "options": ["", "scale", "noscale"] + }, + { + "propertyName": "Scale extend", + "propertyKeyword": "scaleExtend", + "propertyTooltip": "If you specify EXTEND with SCALE the generated sequence values are all of length (x+y), where x is the length of the scalable offset (default value is 6), and y is the maximum number of digits in the sequence (maxvalue/minvalue). With the NOEXTEND setting, the generated sequence values are at most as wide as the maximum number of digits in the sequence (maxvalue/minvalue). This setting is useful for integration with existing applications where sequences are used to populate fixed width columns.", + "propertyType": "select", + "options": ["", "extend", "noextend"], + "dependency": { + "key": "scale", + "value": "scale" + } + }, + { + "propertyName": "Shard", + "propertyKeyword": "shard", + "propertyTooltip": "The sequence object is created as a global, all-shards sharded object that returns unique sequence values across all shards.", + "propertyType": "select", + "options": ["", "shard", "noshard"] + }, + { + "propertyName": "Shard extend", + "propertyKeyword": "shardExtend", + "propertyTooltip": "When you specify EXTEND with the SHARD clause, the generated sequence values are all of length (x + y), where x is the length of an(a) SHARD offset of size 4. When you specify NOEXTEND, the generated sequence values are at most as wide as the maximum number of digits in the sequence maxvalue/minvalue. ", + "propertyType": "select", + "options": ["", "extend", "noextend"], + "dependency": { + "key": "shard", + "value": "shard" + } + } + ] + } + ] + } ] diff --git a/properties_pane/entity_level/entityLevelConfig.json b/properties_pane/entity_level/entityLevelConfig.json index c7f75ed..d9e6a34 100644 --- a/properties_pane/entity_level/entityLevelConfig.json +++ b/properties_pane/entity_level/entityLevelConfig.json @@ -113,1131 +113,1131 @@ making sure that you maintain a proper JSON format. */ [ - { - "lowerTab": "Details", - "structure": [ - { - "propertyName": "Comments", - "propertyKeyword": "description", - "shouldValidate": false, - "propertyTooltip": "comments", - "addTimestampButton": false, - "propertyType": "details", - "template": "textarea" - }, - { - "propertyName": "If not exists", - "propertyKeyword": "ifNotExist", - "propertyType": "checkbox" - }, - { - "propertyName": "Temporary", - "propertyKeyword": "temporary", - "propertyTooltip": "The data in a temporary table is visible only to the session that inserts the data into the table. Temporary tables are subject to restrictions.", - "defaultValue": false, - "propertyType": "checkbox" - }, - { - "propertyName": "Temporary type", - "propertyKeyword": "temporaryType", - "propertyTooltip": "A private temporary table differs from a temporary table in that its definition and data are visible only within the session that created it.", - "propertyType": "select", - "defaultValue": "global", - "options": ["global", "private"], - "dependency": { - "key": "temporary", - "value": true - } - }, - { - "propertyName": "Sharded", - "propertyKeyword": "sharded", - "propertyTooltip": "This clause is valid only if you are using Oracle Sharding, which is a data tier architecture in which data is horizontally partitioned across independent databases. ", - "defaultValue": false, - "propertyType": "checkbox" - }, - { - "propertyName": "Duplicated", - "propertyKeyword": "duplicated", - "propertyTooltip": "Table is duplicated on all shards.", - "defaultValue": false, - "propertyType": "checkbox", - "dependency": { - "key": "sharded", - "value": true - } - }, - { - "propertyName": "Immutable", - "propertyKeyword": "immutable", - "propertyTooltip": "To create a read-only table that protects data from unauthorized modification by insiders.", - "defaultValue": false, - "propertyType": "checkbox" - }, - { - "propertyName": "Storage", - "propertyType": "block", - "propertyKeyword": "storage", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Organization", - "propertyKeyword": "organization", - "propertyTooltip": "Select from list of options", - "propertyType": "select", - "defaultValue": "heap", - "options": ["", "heap", "index", "external"] - }, - { - "propertyName": "Tablespace", - "propertyKeyword": "tablespace", - "propertyTooltip": "Specify the tablespace in which Oracle Database creates the table. If you omit TABLESPACE, then the database creates that item in the default tablespace of the owner of the schema containing the table.", - "propertyType": "text" - }, - { - "propertyName": "Logging", - "propertyKeyword": "logging", - "propertyTooltip": "Specify whether the creation of the table and of any indexes required because of constraints, partition, or LOB storage characteristics will be logged in the redo log file (LOGGING) or not (NOLOGGING).", - "propertyType": "checkbox", - "dependency": { - "type": "or", - "values": [ - { - "key": "organization", - "value": "heap" - }, - { - "key": "organization", - "value": "index" - } - ] - } - }, - { - "propertyName": "Row archival", - "propertyKeyword": "row_archival", - "propertyTooltip": "This clause lets you implement In-Database Archiving, which allows you to designate table rows as active or archived. You can then perform queries on only the active rows within the table. When you specify this clause, a hidden column ORA_ARCHIVE_STATE is created in the table.", - "propertyType": "checkbox" - } - ] - }, - { - "propertyName": "Blockchain table", - "propertyKeyword": "blockchain", - "propertyTooltip": "When you create a blockchain table, an entry is created in the dictionary table blockchain_table$ owned by SYS .", - "propertyType": "checkbox" - }, - { - "propertyName": "Blockchain table clauses", - "propertyType": "block", - "propertyKeyword": "blockchain_table_clauses", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Immutable", - "propertyKeyword": "immutable", - "propertyTooltip": "Specify whether the creation of the table and of any indexes required because of constraints, partition, or LOB storage characteristics will be logged in the redo log file (LOGGING) or not (NOLOGGING).", - "propertyType": "checkbox" - }, - { - "propertyName": "Table retention clause", - "propertyKeyword": "blockchain_table_retention_clause", - "propertyTooltip": "", - "propertyType": "text" - }, - { - "propertyName": "Row retention clause", - "propertyKeyword": "blockchain_row_retention_clause", - "propertyTooltip": "", - "propertyType": "text" - }, - { - "propertyName": "Hash and data format clause", - "propertyKeyword": "blockchain_hash_and_data_format_clause", - "propertyTooltip": "", - "propertyType": "text" - } - ], - "dependency": { - "key": "blockchain", - "value": true - } - }, - { - "propertyName": "External table", - "propertyKeyword": "external", - "propertyTooltip": "To create an external table, you must have the required read and write operating system privileges on the appropriate operating system directories.", - "propertyType": "checkbox", - "dependency": { - "key": "temporary", - "value": false - } - }, - { - "propertyName": "External table clauses", - "propertyType": "block", - "propertyKeyword": "external_table_clause", - "propertyTooltip": " allows you to process data that is stored outside the database from within the database without loading any of the data into the database. Defining an external table only creates metadata in the data dictionary, pointing to data outside the database and providing seamless read only access to such data.", - "structure": [ - { - "propertyName": "Access driver type", - "propertyKeyword": "access_driver_type", - "propertyTooltip": "The access driver is the API that interprets the external data for the database.", - "propertyType": "select", - "defaultValue": "ORACLE_LOADER", - "options": ["ORACLE_LOADER", "ORACLE_DATAPUMP", "ORACLE_BIGDATA", "ORACLE_HIVE", "ORACLE_HDFS"] - }, - { - "propertyName": "Default directory", - "propertyKeyword": "default_directory", - "propertyTooltip": "Lets you specify a default directory object corresponding to a directory on the file system where the external data sources may reside.", - "propertyType": "text" - }, - { - "propertyName": "Access parameters", - "propertyKeyword": "access_parameter_type", - "propertyTooltip": "Lets you assign values to the parameters of the specific access driver for this external table.", - "propertyType": "select", - "defaultValue": "Opaque Format Spec", - "options": ["Opaque Format Spec", "Using CLOB Subquery", "NONE"] - }, - { - "propertyName": "Opaque format spec", - "propertyKeyword": "opaque_format_spec", - "propertyTooltip": "Specifies all access parameters for the ORACLE_LOADER, ORACLE_DATAPUMP, ORACLE_HDFS, and ORACLE_HIVE access drivers. Field names specified in the opaque_format_spec must match columns in the table definition.", - "propertyType": "details", - "template": "textarea", - "markdown": false, - "dependency": { - "key": "access_parameter_type", - "value": "Opaque Format Spec" - } - }, - { - "propertyName": "CLOB subquery", - "propertyKeyword": "clob_subquery", - "propertyTooltip": "Lets you derive the parameters and their values through a subquery. The subquery cannot contain any set operators or an ORDER BY clause. It must return one row containing a single item of data type CLOB.", - "propertyType": "details", - "template": "textarea", - "markdown": false, - "dependency": { - "key": "access_parameter_type", - "value": "Using CLOB Subquery" - } - }, - { - "propertyName": "Reject limit", - "propertyKeyword": "reject_limit", - "propertyType": "numeric", - "propertyTooltip": "Lets you specify how many conversion errors can occur during a query of the external data before an Oracle Database error is returned and the query is aborted. The default value is 0.", - "valueType": "number", - "step": 1, - "allowNegative": false - }, - { - "propertyName": "Project column", - "propertyKeyword": "project_column", - "propertyTooltip": "This clause lets you determine how the access driver validates the rows of an external table in subsequent queries.", - "propertyType": "select", - "defaultValue": "all", - "options": ["all", "referenced"] - }, - { - "propertyName": "Location", - "propertyType": "group", - "propertyKeyword": "location", - "propertyTooltip": "lets you specify one or more external data sources.", - "structure": [ - { - "propertyName": "Directory", - "propertyKeyword": "location_directory", - "propertyTooltip": "", - "propertyType": "text" - }, - { - "propertyName": "Specifier", - "propertyKeyword": "location_specifier", - "propertyTooltip": "", - "propertyType": "text" - } - ] - } - ], - "dependency": { - "type": "and", - "values": [ - { - "key": "temporary", - "value": false - }, - { - "key": "external", - "value": true - } - ] - } - }, - { - "propertyName": "Partitioning", - "propertyKeyword": "partitioning", - "propertyType": "group", - "groupItemLimit": 1, - "propertyTooltip": "Determines how a partitioned table's rows are distributed across partitions", - "structure": [ - { - "propertyName": "Partition by", - "propertyKeyword": "partitionBy", - "propertyTooltip": "Choose the desired partition type", - "propertyType": "select", - "defaultValue": "", - "options": [ - "", - "range", - "list", - "hash", - "composite range", - "composite list", - "composite hash", - "reference", - "system" - ] - }, - { - "propertyName": "Columns", - "propertyKeyword": "partitionKey", - "propertyTooltip": "Specify an ordered list of columns used to determine into which partition a row belongs. These columns are the partitioning key.", - "propertyType": "compositeKeySetter", - "disabledItemStrategy": "default", - "isCompositeKey": true, - "setPrimaryKey": false, - "template": "collectiontree", - "abbr": "PK", - "dependency": { - "key": "partitionBy", - "value": ["range", "hash", "list", "composite range", "composite list", "composite hash"] - } - }, - { - "propertyName": "Interval", - "propertyKeyword": "interval", - "propertyType": "details", - "template": "textarea", - "markdown": false, - "dependency": { - "key": "partitionBy", - "value": ["range", "composite range"] - } - }, - { - "propertyName": "Subpartition type", - "propertyKeyword": "subpartitionType", - "propertyTooltip": "Choose the desired subpartition type", - "propertyType": "select", - "defaultValue": "", - "options": ["", "range", "list", "hash"], - "dependency": { - "key": "partitionBy", - "value": ["composite range", "composite list", "composite hash"] - } - }, - { - "propertyName": "Consistent", - "propertyKeyword": "consistent", - "propertyType": "checkbox", - "dependency": { - "key": "partitionBy", - "value": ["hash"] - } - }, - { - "propertyName": "Automatic", - "propertyKeyword": "automatic", - "propertyTooltip": "To create an automatic list-partitioned table. This type of table enables the database to create additional partitions on demand.", - "propertyType": "checkbox", - "dependency": { - "type": "or", - "values": [ - { - "type": "and", - "values": [ - { - "key": "partitionBy", - "value": ["hash"] - }, - { - "key": "consistent", - "value": true - } - ] - }, - { - "key": "partitionBy", - "value": "list" - } - ] - } - }, - { - "propertyName": "Hash by", - "propertyKeyword": "hashBy", - "propertyTooltip": "Choose the desired hashing type", - "propertyType": "select", - "defaultValue": "", - "options": ["individual hash partitions", "hash partitions by quantity"], - "dependency": { - "key": "partitionBy", - "value": ["hash", "composite hash"] - } - }, - { - "propertyName": "Store in tablespaces", - "propertyType": "group", - "propertyKeyword": "store_in_tablespaces", - "propertyTooltip": "Lets you specify one or more tablespaces.", - "structure": [ - { - "propertyName": "Tablespace", - "propertyKeyword": "store_in_tablespace", - "propertyTooltip": "", - "propertyType": "text" - } - ], - "dependency": { - "type": "or", - "values": [ - { - "type": "and", - "values": [ - { - "key": "partitionBy", - "value": ["range", "composite range"] - }, - { - "key": "interval", - "minimum": 1 - } - ] - }, - { - "type": "and", - "values": [ - { - "key": "partitionBy", - "value": ["hash", "composite hash"] - }, - { - "key": "hashBy", - "value": ["hash partitions by quantity"] - } - ] - }, - { - "type": "and", - "values": [ - { - "key": "partitionBy", - "value": ["list"] - }, - { - "key": "automatic", - "value": true - } - ] - } - ] - } - }, - { - "propertyName": "Range partitions", - "propertyType": "group", - "propertyKeyword": "range_partitions", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Partition clause", - "propertyKeyword": "range_partition_clause", - "propertyTooltip": "Specify the noninclusive upper bound for the current partition. The value list is an ordered list of literal values corresponding to the column list in the range_partitions clause.", - "propertyType": "details", - "template": "textarea", - "markdown": false - } - ], - "dependency": { - "key": "partitionBy", - "value": ["range"] - } - }, - { - "propertyName": "Indiv hash partitions", - "propertyType": "group", - "propertyKeyword": "individual_hash_partitions", - "propertyTooltip": "Use this clause to specify individual partitions by name.", - "structure": [ - { - "propertyName": "Hash partition clause", - "propertyKeyword": "individual_hash_partition", - "propertyTooltip": "", - "propertyType": "details", - "template": "textarea", - "markdown": false - } - ], - "dependency": { - "type": "and", - "values": [ - { - "key": "partitionBy", - "value": ["hash", "composite hash"] - }, - { - "key": "hashBy", - "value": ["individual hash partitions"] - } - ] - } - }, - { - "propertyName": "List partitions", - "propertyType": "group", - "propertyKeyword": "list_partitions", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Partition clause", - "propertyKeyword": "list_partition_clause", - "propertyTooltip": "Specify the noninclusive upper bound for the current partition. The value list is an ordered list of literal values corresponding to the column list in the range_partitions clause.", - "propertyType": "details", - "template": "textarea", - "markdown": false - } - ], - "dependency": { - "key": "partitionBy", - "value": ["list"] - } - }, - { - "propertyName": "Quantity", - "propertyKeyword": "hash_partition_quantity", - "propertyTooltip": "Choose the desired number hash partitions", - "propertyType": "numeric", - "valueType": "number", - "allowNegative": false, - "maxValue": 1024, - "step": 1, - "dependency": { - "type": "and", - "values": [ - { - "key": "partitionBy", - "value": ["hash", "composite hash"] - }, - { - "key": "hashBy", - "value": ["hash partitions by quantity"] - } - ] - } - }, - { - "propertyName": "Compression", - "propertyKeyword": "compression", - "propertyTooltip": "Enter the compression description for the partition.", - "propertyType": "details", - "template": "textarea", - "markdown": false, - "dependency": { - "type": "and", - "values": [ - { - "key": "partitionBy", - "value": ["hash", "composite hash"] - }, - { - "key": "hashBy", - "value": ["hash partitions by quantity"] - } - ] - } - }, - { - "propertyName": "Overflow tablespaces", - "propertyType": "group", - "propertyKeyword": "overflow_store_in_tablespaces", - "propertyTooltip": "Lets you specify one or more tablespaces.", - "structure": [ - { - "propertyName": "Tablespace", - "propertyKeyword": "overflow_store_in_tablespace", - "propertyTooltip": "", - "propertyType": "text" - } - ], - "dependency": { - "type": "and", - "values": [ - { - "key": "partitionBy", - "value": ["hash", "composite hash"] - }, - { - "key": "hashBy", - "value": ["hash partitions by quantity"] - } - ] - } - }, - { - "propertyName": "Sub partition keys", - "propertyKeyword": "compositePartitionKey", - "propertyTooltip": "Specify an ordered list of columns used to determine into which partition a row belongs. These columns are the partitioning key.", - "propertyType": "compositeKeySetter", - "disabledItemStrategy": "default", - "isCompositeKey": true, - "setPrimaryKey": false, - "template": "collectiontree", - "abbr": "PK", - "dependency": { - "key": "partitionBy", - "value": ["composite range", "composite list", "composite hash"] - } - }, - { - "propertyName": "Subpartition description", - "propertyKeyword": "subpartitionDescription", - "propertyType": "details", - "template": "textarea", - "markdown": false, - "propertyTooltip": "Specify subpartitions description. How many subpartitions you need and where you store them", - "dependency": { - "key": "partitionBy", - "value": ["composite range", "composite list", "composite hash"] - } - }, - { - // Although it is called "range_subpartition_descs" it actually represent "range_partition_desc" from documentation - "propertyName": "Range subpart desc", - "propertyType": "group", - "propertyKeyword": "range_subpartition_descs", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Partition desc", - "propertyKeyword": "range_subpartition_desc", - "propertyTooltip": "Specify the noninclusive upper bound for the current partition. The value list is an ordered list of literal values corresponding to the column list in the range_partitions clause.", - "propertyType": "details", - "template": "textarea", - "markdown": false - } - ], - "dependency": { - "type": "and", - "values": [ - { - "key": "partitionBy", - "value": ["composite range"] - }, - { - "key": "subpartitionType", - "value": ["range", "hash", "list"] - } - ] - } - }, - { - // Although it is called "list_subpartition_descs" it actually represent "list_partition_desc" from documentation - "propertyName": "List subpart desc", - "propertyType": "group", - "propertyKeyword": "list_subpartition_descs", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Partition desc", - "propertyKeyword": "list_subpartition_description", - "propertyTooltip": "Specify the noninclusive upper bound for the current partition. The value list is an ordered list of literal values corresponding to the column list in the range_partitions clause.", - "propertyType": "details", - "template": "textarea", - "markdown": false - } - ], - "dependency": { - "type": "and", - "values": [ - { - "key": "partitionBy", - "value": ["composite list"] - }, - { - "key": "subpartitionType", - "value": ["range", "hash", "list"] - } - ] - } - }, - { - "propertyName": "Constraint", - "propertyKeyword": "constraint", - "propertyTooltip": "Specify a referential integrity constraint defined on the table being created, which must refer to a primary key or unique constraint on the parent table. The constraint must be in ENABLE VALIDATE NOT DEFERRABLE state, which is the default when you specify a referential integrity constraint during table creation.", - "propertyType": "details", - "template": "textarea", - "markdown": false, - "dependency": { - "key": "partitionBy", - "value": ["reference"] - } - }, - { - "propertyName": "Ref part desc", - "propertyType": "group", - "propertyKeyword": "reference_partition_descs", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Partition desc", - "propertyKeyword": "reference_partition_desc", - "propertyTooltip": "Specify the noninclusive upper bound for the current partition. The value list is an ordered list of literal values corresponding to the column list in the range_partitions clause.", - "propertyType": "details", - "template": "textarea", - "markdown": false - } - ], - "dependency": { - "key": "partitionBy", - "value": ["reference"] - } - }, - { - "propertyName": "Quantity", - "propertyKeyword": "system_partitioning_quantity", - "propertyTooltip": "Choose the desired number system partitions", - "propertyType": "numeric", - "valueType": "number", - "allowNegative": false, - "maxValue": 1024, - "step": 1, - "dependency": { - "key": "partitionBy", - "value": ["system"] - } - }, - { - "propertyName": "System part desc", - "propertyType": "group", - "propertyKeyword": "system_partition_descs", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Partition desc", - "propertyKeyword": "system_partition_desc", - "propertyTooltip": "Specify the noninclusive upper bound for the current partition. The value list is an ordered list of literal values corresponding to the column list in the range_partitions clause.", - "propertyType": "details", - "template": "textarea", - "markdown": false - } - ], - "dependency": { - "key": "partitionBy", - "value": ["system"] - } - } - ] - }, - { - "propertyName": "Table properties", - "propertyKeyword": "tableProperties", - "shouldValidate": false, - "propertyTooltip": "Table properties", - "propertyType": "details", - "template": "textarea", - "markdown": false - }, - { - "propertyName": "As Select statement", - "propertyKeyword": "selectStatement", - "propertyType": "details", - "template": "textarea", - "markdown": false - }, - { - "propertyName": "Remarks", - "propertyKeyword": "comments", - "propertyTooltip": "remarks", - "addTimestampButton": true, - "propertyType": "details", - "template": "textarea", - "valueType": "string" - }, - { - "propertyName": "Custom scripts", - "propertyType": "block", - "propertyKeyword": "customScripts", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Before CREATE TABLE", - "propertyKeyword": "beforeCreateEntity", - "propertyType": "block", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Script", - "propertyKeyword": "script", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql", - "customScriptVariables": true - } - } - ] - }, - { - "propertyName": "After CREATE TABLE", - "propertyKeyword": "afterCreateEntity", - "propertyType": "block", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Script", - "propertyKeyword": "script", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql", - "customScriptVariables": true - } - } - ] - } - ] - } - ], - "columnsRatio": [3.7, 5] - }, - { - "lowerTab": "Composite keys", - "structure": [ - { - "propertyName": "Primary key", - "propertyType": "group", - "groupItemLimit": 1, - "propertyKeyword": "primaryKey", - "propertyTooltip": { - "disabled": [ - { - "tooltip": "Remove the existing single column primary key definition prior to unlock the possibility to create a composite primary key definition for this table", - "dependency": { - "type": "and", - "values": [ - { - "level": "children", - "key": "primaryKey", - "value": true - }, - { - "type": "not", - "values": { - "level": "children", - "key": "compositePrimaryKey", - "value": true - } - } - ] - } - }, - { - "tooltip": "Remove or update the existing composite primary key definition prior to unlock the possibility to create a new composite primary key definition for this table", - "dependency": { - "key": "primaryKey", - "minLength": 1 - } - } - ] - }, - "disabledOnCondition": [ - { - "level": "children", - "value": { - "type": "and", - "values": [ - { - "key": "primaryKey", - "value": true - }, - { - "type": "or", - "values": [ - { - "key": "compositePrimaryKey", - "value": false - }, - { - "key": "compositePrimaryKey", - "exist": false - } - ] - }, - { - "type": "or", - "values": [ - { - "key": "compositeUniqueKey", - "value": false - }, - { - "key": "compositeUniqueKey", - "exist": false - } - ] - } - ] - } - } - ], - "structure": [ - { - "propertyName": "Constraint name", - "propertyKeyword": "constraintName", - "propertyTooltip": "", - "propertyType": "text" - }, - { - "propertyName": "Key", - "propertyKeyword": "compositePrimaryKey", - "propertyType": "primaryKeySetter", - "abbr": "pk" - } - ] - }, - { - "propertyName": "Unique key", - "propertyType": "group", - "propertyKeyword": "uniqueKey", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Constraint name", - "propertyKeyword": "constraintName", - "propertyTooltip": "", - "propertyType": "text" - }, - { - "propertyName": "Key", - "propertyKeyword": "compositeUniqueKey", - "propertyType": "compositeKeySetter", - "setPrimaryKey": false, - "template": "collectiontree", - "isCompositeKey": true, - "abbr": " " - }, - { - "propertyName": "Alternate key", - "propertyKeyword": "alternateKey", - "propertyTooltip": "", - "propertyType": "checkbox", - "setFieldPropertyBy": "compositeUniqueKey" - } - ] - } - ] - }, - { - "lowerTab": "Indexes", - "structure": [ - { - "propertyName": "Index", - "propertyType": "group", - "propertyKeyword": "Indxs", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Name", - "propertyKeyword": "indxName", - "propertyTooltip": "", - "propertyType": "text", - "validation": { - "required": true - } - }, - { - "propertyName": "Activated", - "propertyKeyword": "isActivated", - "propertyTooltip": "Deactivated item will be not included in FE script", - "propertyType": "checkbox", - "defaultValue": true - }, - { - "propertyName": "If not exists", - "propertyKeyword": "ifNotExist", - "propertyType": "checkbox" - }, - { - "propertyName": "Type", - "propertyKeyword": "indxType", - "propertyType": "select", - "options": ["", "multivalue", "unique", "bitmap"] - }, - { - "propertyName": "Keys", - "propertyKeyword": "indxKey", - "propertyType": "fieldList", - "template": "orderedList", - "attributeList": ["asc", "desc"], - "dependency": { - "type": "or", - "values": [ - { - "key": "column_expression", - "exist": false - }, - { - "key": "column_expression", - "value": "" - } - ] - }, - "validation": { - "required": true, - "minLength": 1 - } - }, - { - "propertyName": "Conditional function", - "propertyKeyword": "column_expression", - "propertyTooltip": "Enter conditional function for a function-based index", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql" - }, - "dependency": { - "type": "or", - "values": [ - { - "key": "indxKey", - "exist": false - }, - { - "key": "indxKey", - "isEmpty": true - } - ] - } - }, - { - "propertyName": "Description", - "propertyKeyword": "indxDescription", - "propertyTooltip": "description", - "propertyType": "details", - "template": "codeEditor", - "templateOptions": { - "editorDialect": "markdown" - } - }, - { - "propertyName": "Tablespace", - "propertyKeyword": "tablespace", - "propertyTooltip": "Specify the tablespace in which Oracle Database creates the table. If you omit TABLESPACE, then the database creates that item in the default tablespace of the owner of the schema containing the table.", - "propertyType": "text" - }, - { - "propertyName": "Properties", - "propertyKeyword": "index_properties", - "propertyTooltip": "Specify the optional index attributes.", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql" - } - }, - { - "propertyName": "Attributes", - "propertyKeyword": "index_attributes", - "propertyTooltip": "Specify the optional index attributes.", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql" - } - }, - { - "propertyName": "Compression", - "propertyKeyword": "index_compression", - "propertyTooltip": "If you want to use compression for a partitioned index, then you must create the index with compression enabled at the index level. You can subsequently enable and disable the compression setting for individual partitions of such a partitioned index. ", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql" - } - }, - { - "propertyName": "Logging", - "propertyKeyword": "logging_clause", - "propertyType": "select", - "defaultValue": "logging", - "options": ["", "logging", "nologging", "filesystem_like_logging"] - }, - { - "propertyName": "Comments", - "propertyKeyword": "indxComments", - "propertyTooltip": "comments", - "addTimestampButton": false, - "propertyType": "details", - "template": "codeEditor", - "templateOptions": { - "editorDialect": "markdown" - } - } - ] - } - ] - }, - { - "lowerTab": "Check Constraints", - "structure": [ - { - "propertyName": "Check Constraint", - "propertyType": "group", - "propertyKeyword": "chkConstr", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Name", - "propertyKeyword": "chkConstrName", - "propertyTooltip": "", - "propertyType": "text" - }, - { - "propertyName": "Expression", - "propertyKeyword": "constrExpression", - "propertyTooltip": "Expression", - "propertyType": "details", - "template": "textarea", - "markdown": false - }, - { - "propertyName": "Description", - "propertyKeyword": "constrDescription", - "propertyTooltip": "description", - "propertyType": "details", - "template": "textarea" - }, - { - "propertyName": "Comments", - "propertyKeyword": "constrComments", - "propertyTooltip": "comments", - "addTimestampButton": false, - "propertyType": "details", - "template": "textarea" - } - ] - } - ] - } + { + "lowerTab": "Details", + "structure": [ + { + "propertyName": "Comments", + "propertyKeyword": "description", + "shouldValidate": false, + "propertyTooltip": "comments", + "addTimestampButton": false, + "propertyType": "details", + "template": "textarea" + }, + { + "propertyName": "If not exists", + "propertyKeyword": "ifNotExist", + "propertyType": "checkbox" + }, + { + "propertyName": "Temporary", + "propertyKeyword": "temporary", + "propertyTooltip": "The data in a temporary table is visible only to the session that inserts the data into the table. Temporary tables are subject to restrictions.", + "defaultValue": false, + "propertyType": "checkbox" + }, + { + "propertyName": "Temporary type", + "propertyKeyword": "temporaryType", + "propertyTooltip": "A private temporary table differs from a temporary table in that its definition and data are visible only within the session that created it.", + "propertyType": "select", + "defaultValue": "global", + "options": ["global", "private"], + "dependency": { + "key": "temporary", + "value": true + } + }, + { + "propertyName": "Sharded", + "propertyKeyword": "sharded", + "propertyTooltip": "This clause is valid only if you are using Oracle Sharding, which is a data tier architecture in which data is horizontally partitioned across independent databases. ", + "defaultValue": false, + "propertyType": "checkbox" + }, + { + "propertyName": "Duplicated", + "propertyKeyword": "duplicated", + "propertyTooltip": "Table is duplicated on all shards.", + "defaultValue": false, + "propertyType": "checkbox", + "dependency": { + "key": "sharded", + "value": true + } + }, + { + "propertyName": "Immutable", + "propertyKeyword": "immutable", + "propertyTooltip": "To create a read-only table that protects data from unauthorized modification by insiders.", + "defaultValue": false, + "propertyType": "checkbox" + }, + { + "propertyName": "Storage", + "propertyType": "block", + "propertyKeyword": "storage", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Organization", + "propertyKeyword": "organization", + "propertyTooltip": "Select from list of options", + "propertyType": "select", + "defaultValue": "heap", + "options": ["", "heap", "index", "external"] + }, + { + "propertyName": "Tablespace", + "propertyKeyword": "tablespace", + "propertyTooltip": "Specify the tablespace in which Oracle Database creates the table. If you omit TABLESPACE, then the database creates that item in the default tablespace of the owner of the schema containing the table.", + "propertyType": "text" + }, + { + "propertyName": "Logging", + "propertyKeyword": "logging", + "propertyTooltip": "Specify whether the creation of the table and of any indexes required because of constraints, partition, or LOB storage characteristics will be logged in the redo log file (LOGGING) or not (NOLOGGING).", + "propertyType": "checkbox", + "dependency": { + "type": "or", + "values": [ + { + "key": "organization", + "value": "heap" + }, + { + "key": "organization", + "value": "index" + } + ] + } + }, + { + "propertyName": "Row archival", + "propertyKeyword": "row_archival", + "propertyTooltip": "This clause lets you implement In-Database Archiving, which allows you to designate table rows as active or archived. You can then perform queries on only the active rows within the table. When you specify this clause, a hidden column ORA_ARCHIVE_STATE is created in the table.", + "propertyType": "checkbox" + } + ] + }, + { + "propertyName": "Blockchain table", + "propertyKeyword": "blockchain", + "propertyTooltip": "When you create a blockchain table, an entry is created in the dictionary table blockchain_table$ owned by SYS .", + "propertyType": "checkbox" + }, + { + "propertyName": "Blockchain table clauses", + "propertyType": "block", + "propertyKeyword": "blockchain_table_clauses", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Immutable", + "propertyKeyword": "immutable", + "propertyTooltip": "Specify whether the creation of the table and of any indexes required because of constraints, partition, or LOB storage characteristics will be logged in the redo log file (LOGGING) or not (NOLOGGING).", + "propertyType": "checkbox" + }, + { + "propertyName": "Table retention clause", + "propertyKeyword": "blockchain_table_retention_clause", + "propertyTooltip": "", + "propertyType": "text" + }, + { + "propertyName": "Row retention clause", + "propertyKeyword": "blockchain_row_retention_clause", + "propertyTooltip": "", + "propertyType": "text" + }, + { + "propertyName": "Hash and data format clause", + "propertyKeyword": "blockchain_hash_and_data_format_clause", + "propertyTooltip": "", + "propertyType": "text" + } + ], + "dependency": { + "key": "blockchain", + "value": true + } + }, + { + "propertyName": "External table", + "propertyKeyword": "external", + "propertyTooltip": "To create an external table, you must have the required read and write operating system privileges on the appropriate operating system directories.", + "propertyType": "checkbox", + "dependency": { + "key": "temporary", + "value": false + } + }, + { + "propertyName": "External table clauses", + "propertyType": "block", + "propertyKeyword": "external_table_clause", + "propertyTooltip": " allows you to process data that is stored outside the database from within the database without loading any of the data into the database. Defining an external table only creates metadata in the data dictionary, pointing to data outside the database and providing seamless read only access to such data.", + "structure": [ + { + "propertyName": "Access driver type", + "propertyKeyword": "access_driver_type", + "propertyTooltip": "The access driver is the API that interprets the external data for the database.", + "propertyType": "select", + "defaultValue": "ORACLE_LOADER", + "options": ["ORACLE_LOADER", "ORACLE_DATAPUMP", "ORACLE_BIGDATA", "ORACLE_HIVE", "ORACLE_HDFS"] + }, + { + "propertyName": "Default directory", + "propertyKeyword": "default_directory", + "propertyTooltip": "Lets you specify a default directory object corresponding to a directory on the file system where the external data sources may reside.", + "propertyType": "text" + }, + { + "propertyName": "Access parameters", + "propertyKeyword": "access_parameter_type", + "propertyTooltip": "Lets you assign values to the parameters of the specific access driver for this external table.", + "propertyType": "select", + "defaultValue": "Opaque Format Spec", + "options": ["Opaque Format Spec", "Using CLOB Subquery", "NONE"] + }, + { + "propertyName": "Opaque format spec", + "propertyKeyword": "opaque_format_spec", + "propertyTooltip": "Specifies all access parameters for the ORACLE_LOADER, ORACLE_DATAPUMP, ORACLE_HDFS, and ORACLE_HIVE access drivers. Field names specified in the opaque_format_spec must match columns in the table definition.", + "propertyType": "details", + "template": "textarea", + "markdown": false, + "dependency": { + "key": "access_parameter_type", + "value": "Opaque Format Spec" + } + }, + { + "propertyName": "CLOB subquery", + "propertyKeyword": "clob_subquery", + "propertyTooltip": "Lets you derive the parameters and their values through a subquery. The subquery cannot contain any set operators or an ORDER BY clause. It must return one row containing a single item of data type CLOB.", + "propertyType": "details", + "template": "textarea", + "markdown": false, + "dependency": { + "key": "access_parameter_type", + "value": "Using CLOB Subquery" + } + }, + { + "propertyName": "Reject limit", + "propertyKeyword": "reject_limit", + "propertyType": "numeric", + "propertyTooltip": "Lets you specify how many conversion errors can occur during a query of the external data before an Oracle Database error is returned and the query is aborted. The default value is 0.", + "valueType": "number", + "step": 1, + "allowNegative": false + }, + { + "propertyName": "Project column", + "propertyKeyword": "project_column", + "propertyTooltip": "This clause lets you determine how the access driver validates the rows of an external table in subsequent queries.", + "propertyType": "select", + "defaultValue": "all", + "options": ["all", "referenced"] + }, + { + "propertyName": "Location", + "propertyType": "group", + "propertyKeyword": "location", + "propertyTooltip": "lets you specify one or more external data sources.", + "structure": [ + { + "propertyName": "Directory", + "propertyKeyword": "location_directory", + "propertyTooltip": "", + "propertyType": "text" + }, + { + "propertyName": "Specifier", + "propertyKeyword": "location_specifier", + "propertyTooltip": "", + "propertyType": "text" + } + ] + } + ], + "dependency": { + "type": "and", + "values": [ + { + "key": "temporary", + "value": false + }, + { + "key": "external", + "value": true + } + ] + } + }, + { + "propertyName": "Partitioning", + "propertyKeyword": "partitioning", + "propertyType": "group", + "groupItemLimit": 1, + "propertyTooltip": "Determines how a partitioned table's rows are distributed across partitions", + "structure": [ + { + "propertyName": "Partition by", + "propertyKeyword": "partitionBy", + "propertyTooltip": "Choose the desired partition type", + "propertyType": "select", + "defaultValue": "", + "options": [ + "", + "range", + "list", + "hash", + "composite range", + "composite list", + "composite hash", + "reference", + "system" + ] + }, + { + "propertyName": "Columns", + "propertyKeyword": "partitionKey", + "propertyTooltip": "Specify an ordered list of columns used to determine into which partition a row belongs. These columns are the partitioning key.", + "propertyType": "compositeKeySetter", + "disabledItemStrategy": "default", + "isCompositeKey": true, + "setPrimaryKey": false, + "template": "collectiontree", + "abbr": "PK", + "dependency": { + "key": "partitionBy", + "value": ["range", "hash", "list", "composite range", "composite list", "composite hash"] + } + }, + { + "propertyName": "Interval", + "propertyKeyword": "interval", + "propertyType": "details", + "template": "textarea", + "markdown": false, + "dependency": { + "key": "partitionBy", + "value": ["range", "composite range"] + } + }, + { + "propertyName": "Subpartition type", + "propertyKeyword": "subpartitionType", + "propertyTooltip": "Choose the desired subpartition type", + "propertyType": "select", + "defaultValue": "", + "options": ["", "range", "list", "hash"], + "dependency": { + "key": "partitionBy", + "value": ["composite range", "composite list", "composite hash"] + } + }, + { + "propertyName": "Consistent", + "propertyKeyword": "consistent", + "propertyType": "checkbox", + "dependency": { + "key": "partitionBy", + "value": ["hash"] + } + }, + { + "propertyName": "Automatic", + "propertyKeyword": "automatic", + "propertyTooltip": "To create an automatic list-partitioned table. This type of table enables the database to create additional partitions on demand.", + "propertyType": "checkbox", + "dependency": { + "type": "or", + "values": [ + { + "type": "and", + "values": [ + { + "key": "partitionBy", + "value": ["hash"] + }, + { + "key": "consistent", + "value": true + } + ] + }, + { + "key": "partitionBy", + "value": "list" + } + ] + } + }, + { + "propertyName": "Hash by", + "propertyKeyword": "hashBy", + "propertyTooltip": "Choose the desired hashing type", + "propertyType": "select", + "defaultValue": "", + "options": ["individual hash partitions", "hash partitions by quantity"], + "dependency": { + "key": "partitionBy", + "value": ["hash", "composite hash"] + } + }, + { + "propertyName": "Store in tablespaces", + "propertyType": "group", + "propertyKeyword": "store_in_tablespaces", + "propertyTooltip": "Lets you specify one or more tablespaces.", + "structure": [ + { + "propertyName": "Tablespace", + "propertyKeyword": "store_in_tablespace", + "propertyTooltip": "", + "propertyType": "text" + } + ], + "dependency": { + "type": "or", + "values": [ + { + "type": "and", + "values": [ + { + "key": "partitionBy", + "value": ["range", "composite range"] + }, + { + "key": "interval", + "minimum": 1 + } + ] + }, + { + "type": "and", + "values": [ + { + "key": "partitionBy", + "value": ["hash", "composite hash"] + }, + { + "key": "hashBy", + "value": ["hash partitions by quantity"] + } + ] + }, + { + "type": "and", + "values": [ + { + "key": "partitionBy", + "value": ["list"] + }, + { + "key": "automatic", + "value": true + } + ] + } + ] + } + }, + { + "propertyName": "Range partitions", + "propertyType": "group", + "propertyKeyword": "range_partitions", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Partition clause", + "propertyKeyword": "range_partition_clause", + "propertyTooltip": "Specify the noninclusive upper bound for the current partition. The value list is an ordered list of literal values corresponding to the column list in the range_partitions clause.", + "propertyType": "details", + "template": "textarea", + "markdown": false + } + ], + "dependency": { + "key": "partitionBy", + "value": ["range"] + } + }, + { + "propertyName": "Indiv hash partitions", + "propertyType": "group", + "propertyKeyword": "individual_hash_partitions", + "propertyTooltip": "Use this clause to specify individual partitions by name.", + "structure": [ + { + "propertyName": "Hash partition clause", + "propertyKeyword": "individual_hash_partition", + "propertyTooltip": "", + "propertyType": "details", + "template": "textarea", + "markdown": false + } + ], + "dependency": { + "type": "and", + "values": [ + { + "key": "partitionBy", + "value": ["hash", "composite hash"] + }, + { + "key": "hashBy", + "value": ["individual hash partitions"] + } + ] + } + }, + { + "propertyName": "List partitions", + "propertyType": "group", + "propertyKeyword": "list_partitions", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Partition clause", + "propertyKeyword": "list_partition_clause", + "propertyTooltip": "Specify the noninclusive upper bound for the current partition. The value list is an ordered list of literal values corresponding to the column list in the range_partitions clause.", + "propertyType": "details", + "template": "textarea", + "markdown": false + } + ], + "dependency": { + "key": "partitionBy", + "value": ["list"] + } + }, + { + "propertyName": "Quantity", + "propertyKeyword": "hash_partition_quantity", + "propertyTooltip": "Choose the desired number hash partitions", + "propertyType": "numeric", + "valueType": "number", + "allowNegative": false, + "maxValue": 1024, + "step": 1, + "dependency": { + "type": "and", + "values": [ + { + "key": "partitionBy", + "value": ["hash", "composite hash"] + }, + { + "key": "hashBy", + "value": ["hash partitions by quantity"] + } + ] + } + }, + { + "propertyName": "Compression", + "propertyKeyword": "compression", + "propertyTooltip": "Enter the compression description for the partition.", + "propertyType": "details", + "template": "textarea", + "markdown": false, + "dependency": { + "type": "and", + "values": [ + { + "key": "partitionBy", + "value": ["hash", "composite hash"] + }, + { + "key": "hashBy", + "value": ["hash partitions by quantity"] + } + ] + } + }, + { + "propertyName": "Overflow tablespaces", + "propertyType": "group", + "propertyKeyword": "overflow_store_in_tablespaces", + "propertyTooltip": "Lets you specify one or more tablespaces.", + "structure": [ + { + "propertyName": "Tablespace", + "propertyKeyword": "overflow_store_in_tablespace", + "propertyTooltip": "", + "propertyType": "text" + } + ], + "dependency": { + "type": "and", + "values": [ + { + "key": "partitionBy", + "value": ["hash", "composite hash"] + }, + { + "key": "hashBy", + "value": ["hash partitions by quantity"] + } + ] + } + }, + { + "propertyName": "Sub partition keys", + "propertyKeyword": "compositePartitionKey", + "propertyTooltip": "Specify an ordered list of columns used to determine into which partition a row belongs. These columns are the partitioning key.", + "propertyType": "compositeKeySetter", + "disabledItemStrategy": "default", + "isCompositeKey": true, + "setPrimaryKey": false, + "template": "collectiontree", + "abbr": "PK", + "dependency": { + "key": "partitionBy", + "value": ["composite range", "composite list", "composite hash"] + } + }, + { + "propertyName": "Subpartition description", + "propertyKeyword": "subpartitionDescription", + "propertyType": "details", + "template": "textarea", + "markdown": false, + "propertyTooltip": "Specify subpartitions description. How many subpartitions you need and where you store them", + "dependency": { + "key": "partitionBy", + "value": ["composite range", "composite list", "composite hash"] + } + }, + { + // Although it is called "range_subpartition_descs" it actually represent "range_partition_desc" from documentation + "propertyName": "Range subpart desc", + "propertyType": "group", + "propertyKeyword": "range_subpartition_descs", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Partition desc", + "propertyKeyword": "range_subpartition_desc", + "propertyTooltip": "Specify the noninclusive upper bound for the current partition. The value list is an ordered list of literal values corresponding to the column list in the range_partitions clause.", + "propertyType": "details", + "template": "textarea", + "markdown": false + } + ], + "dependency": { + "type": "and", + "values": [ + { + "key": "partitionBy", + "value": ["composite range"] + }, + { + "key": "subpartitionType", + "value": ["range", "hash", "list"] + } + ] + } + }, + { + // Although it is called "list_subpartition_descs" it actually represent "list_partition_desc" from documentation + "propertyName": "List subpart desc", + "propertyType": "group", + "propertyKeyword": "list_subpartition_descs", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Partition desc", + "propertyKeyword": "list_subpartition_description", + "propertyTooltip": "Specify the noninclusive upper bound for the current partition. The value list is an ordered list of literal values corresponding to the column list in the range_partitions clause.", + "propertyType": "details", + "template": "textarea", + "markdown": false + } + ], + "dependency": { + "type": "and", + "values": [ + { + "key": "partitionBy", + "value": ["composite list"] + }, + { + "key": "subpartitionType", + "value": ["range", "hash", "list"] + } + ] + } + }, + { + "propertyName": "Constraint", + "propertyKeyword": "constraint", + "propertyTooltip": "Specify a referential integrity constraint defined on the table being created, which must refer to a primary key or unique constraint on the parent table. The constraint must be in ENABLE VALIDATE NOT DEFERRABLE state, which is the default when you specify a referential integrity constraint during table creation.", + "propertyType": "details", + "template": "textarea", + "markdown": false, + "dependency": { + "key": "partitionBy", + "value": ["reference"] + } + }, + { + "propertyName": "Ref part desc", + "propertyType": "group", + "propertyKeyword": "reference_partition_descs", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Partition desc", + "propertyKeyword": "reference_partition_desc", + "propertyTooltip": "Specify the noninclusive upper bound for the current partition. The value list is an ordered list of literal values corresponding to the column list in the range_partitions clause.", + "propertyType": "details", + "template": "textarea", + "markdown": false + } + ], + "dependency": { + "key": "partitionBy", + "value": ["reference"] + } + }, + { + "propertyName": "Quantity", + "propertyKeyword": "system_partitioning_quantity", + "propertyTooltip": "Choose the desired number system partitions", + "propertyType": "numeric", + "valueType": "number", + "allowNegative": false, + "maxValue": 1024, + "step": 1, + "dependency": { + "key": "partitionBy", + "value": ["system"] + } + }, + { + "propertyName": "System part desc", + "propertyType": "group", + "propertyKeyword": "system_partition_descs", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Partition desc", + "propertyKeyword": "system_partition_desc", + "propertyTooltip": "Specify the noninclusive upper bound for the current partition. The value list is an ordered list of literal values corresponding to the column list in the range_partitions clause.", + "propertyType": "details", + "template": "textarea", + "markdown": false + } + ], + "dependency": { + "key": "partitionBy", + "value": ["system"] + } + } + ] + }, + { + "propertyName": "Table properties", + "propertyKeyword": "tableProperties", + "shouldValidate": false, + "propertyTooltip": "Table properties", + "propertyType": "details", + "template": "textarea", + "markdown": false + }, + { + "propertyName": "As Select statement", + "propertyKeyword": "selectStatement", + "propertyType": "details", + "template": "textarea", + "markdown": false + }, + { + "propertyName": "Custom scripts", + "propertyType": "block", + "propertyKeyword": "customScripts", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Before CREATE TABLE", + "propertyKeyword": "beforeCreateEntity", + "propertyType": "block", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Script", + "propertyKeyword": "script", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql", + "customScriptVariables": true + } + } + ] + }, + { + "propertyName": "After CREATE TABLE", + "propertyKeyword": "afterCreateEntity", + "propertyType": "block", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Script", + "propertyKeyword": "script", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql", + "customScriptVariables": true + } + } + ] + } + ] + }, + { + "propertyName": "Remarks", + "propertyKeyword": "comments", + "propertyTooltip": "remarks", + "addTimestampButton": true, + "propertyType": "details", + "template": "textarea", + "valueType": "string" + } + ], + "columnsRatio": [3.7, 5] + }, + { + "lowerTab": "Composite keys", + "structure": [ + { + "propertyName": "Primary key", + "propertyType": "group", + "groupItemLimit": 1, + "propertyKeyword": "primaryKey", + "propertyTooltip": { + "disabled": [ + { + "tooltip": "Remove the existing single column primary key definition prior to unlock the possibility to create a composite primary key definition for this table", + "dependency": { + "type": "and", + "values": [ + { + "level": "children", + "key": "primaryKey", + "value": true + }, + { + "type": "not", + "values": { + "level": "children", + "key": "compositePrimaryKey", + "value": true + } + } + ] + } + }, + { + "tooltip": "Remove or update the existing composite primary key definition prior to unlock the possibility to create a new composite primary key definition for this table", + "dependency": { + "key": "primaryKey", + "minLength": 1 + } + } + ] + }, + "disabledOnCondition": [ + { + "level": "children", + "value": { + "type": "and", + "values": [ + { + "key": "primaryKey", + "value": true + }, + { + "type": "or", + "values": [ + { + "key": "compositePrimaryKey", + "value": false + }, + { + "key": "compositePrimaryKey", + "exist": false + } + ] + }, + { + "type": "or", + "values": [ + { + "key": "compositeUniqueKey", + "value": false + }, + { + "key": "compositeUniqueKey", + "exist": false + } + ] + } + ] + } + } + ], + "structure": [ + { + "propertyName": "Constraint name", + "propertyKeyword": "constraintName", + "propertyTooltip": "", + "propertyType": "text" + }, + { + "propertyName": "Key", + "propertyKeyword": "compositePrimaryKey", + "propertyType": "primaryKeySetter", + "abbr": "pk" + } + ] + }, + { + "propertyName": "Unique key", + "propertyType": "group", + "propertyKeyword": "uniqueKey", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Constraint name", + "propertyKeyword": "constraintName", + "propertyTooltip": "", + "propertyType": "text" + }, + { + "propertyName": "Key", + "propertyKeyword": "compositeUniqueKey", + "propertyType": "compositeKeySetter", + "setPrimaryKey": false, + "template": "collectiontree", + "isCompositeKey": true, + "abbr": " " + }, + { + "propertyName": "Alternate key", + "propertyKeyword": "alternateKey", + "propertyTooltip": "", + "propertyType": "checkbox", + "setFieldPropertyBy": "compositeUniqueKey" + } + ] + } + ] + }, + { + "lowerTab": "Indexes", + "structure": [ + { + "propertyName": "Index", + "propertyType": "group", + "propertyKeyword": "Indxs", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Name", + "propertyKeyword": "indxName", + "propertyTooltip": "", + "propertyType": "text", + "validation": { + "required": true + } + }, + { + "propertyName": "Activated", + "propertyKeyword": "isActivated", + "propertyTooltip": "Deactivated item will be not included in FE script", + "propertyType": "checkbox", + "defaultValue": true + }, + { + "propertyName": "If not exists", + "propertyKeyword": "ifNotExist", + "propertyType": "checkbox" + }, + { + "propertyName": "Type", + "propertyKeyword": "indxType", + "propertyType": "select", + "options": ["", "multivalue", "unique", "bitmap"] + }, + { + "propertyName": "Keys", + "propertyKeyword": "indxKey", + "propertyType": "fieldList", + "template": "orderedList", + "attributeList": ["asc", "desc"], + "dependency": { + "type": "or", + "values": [ + { + "key": "column_expression", + "exist": false + }, + { + "key": "column_expression", + "value": "" + } + ] + }, + "validation": { + "required": true, + "minLength": 1 + } + }, + { + "propertyName": "Conditional function", + "propertyKeyword": "column_expression", + "propertyTooltip": "Enter conditional function for a function-based index", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql" + }, + "dependency": { + "type": "or", + "values": [ + { + "key": "indxKey", + "exist": false + }, + { + "key": "indxKey", + "isEmpty": true + } + ] + } + }, + { + "propertyName": "Description", + "propertyKeyword": "indxDescription", + "propertyTooltip": "description", + "propertyType": "details", + "template": "codeEditor", + "templateOptions": { + "editorDialect": "markdown" + } + }, + { + "propertyName": "Tablespace", + "propertyKeyword": "tablespace", + "propertyTooltip": "Specify the tablespace in which Oracle Database creates the table. If you omit TABLESPACE, then the database creates that item in the default tablespace of the owner of the schema containing the table.", + "propertyType": "text" + }, + { + "propertyName": "Properties", + "propertyKeyword": "index_properties", + "propertyTooltip": "Specify the optional index attributes.", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql" + } + }, + { + "propertyName": "Attributes", + "propertyKeyword": "index_attributes", + "propertyTooltip": "Specify the optional index attributes.", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql" + } + }, + { + "propertyName": "Compression", + "propertyKeyword": "index_compression", + "propertyTooltip": "If you want to use compression for a partitioned index, then you must create the index with compression enabled at the index level. You can subsequently enable and disable the compression setting for individual partitions of such a partitioned index. ", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql" + } + }, + { + "propertyName": "Logging", + "propertyKeyword": "logging_clause", + "propertyType": "select", + "defaultValue": "logging", + "options": ["", "logging", "nologging", "filesystem_like_logging"] + }, + { + "propertyName": "Comments", + "propertyKeyword": "indxComments", + "propertyTooltip": "comments", + "addTimestampButton": false, + "propertyType": "details", + "template": "codeEditor", + "templateOptions": { + "editorDialect": "markdown" + } + } + ] + } + ] + }, + { + "lowerTab": "Check Constraints", + "structure": [ + { + "propertyName": "Check Constraint", + "propertyType": "group", + "propertyKeyword": "chkConstr", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Name", + "propertyKeyword": "chkConstrName", + "propertyTooltip": "", + "propertyType": "text" + }, + { + "propertyName": "Expression", + "propertyKeyword": "constrExpression", + "propertyTooltip": "Expression", + "propertyType": "details", + "template": "textarea", + "markdown": false + }, + { + "propertyName": "Description", + "propertyKeyword": "constrDescription", + "propertyTooltip": "description", + "propertyType": "details", + "template": "textarea" + }, + { + "propertyName": "Comments", + "propertyKeyword": "constrComments", + "propertyTooltip": "comments", + "addTimestampButton": false, + "propertyType": "details", + "template": "textarea" + } + ] + } + ] + } ] diff --git a/properties_pane/model_level/modelLevelConfig.json b/properties_pane/model_level/modelLevelConfig.json index f2e9f82..95cc9d9 100644 --- a/properties_pane/model_level/modelLevelConfig.json +++ b/properties_pane/model_level/modelLevelConfig.json @@ -115,245 +115,245 @@ making sure that you maintain a proper JSON format. */ [ - { - "lowerTab": "Details", - "structure": [ - { - "propertyName": "DB vendor", - "propertyKeyword": "dbVendor", - "shouldValidate": false, - "propertyTooltip": "DB vendor", - "propertyType": "select", - "options": ["Oracle"], - "disabledOption": true - }, - { - "propertyName": "DB version", - "propertyKeyword": "dbVersion", - "shouldValidate": false, - "propertyTooltip": "DB version", - "propertyType": "select", - "options": ["12c", "18c", "19c", "21c", "23ai", "26ai"], - "disabledOption": false, - "adapters": [ - { - "dependency": { - "type": "not", - "values": [ - { - "key": "dbVersion", - "value": "21c" - } - ] - }, - "adapter": "adaptUnavailableTypes" - }, - { - "dependency": { - "type": "not", - "values": [ - { - "key": "dbVersion", - "value": "23ai" - } - ] - }, - "adapter": "adaptUnavailableTypes" - }, - { - "dependency": { - "type": "not", - "values": [ - { - "key": "dbVersion", - "value": "26ai" - } - ] - }, - "adapter": "adaptUnavailableTypes" - } - ] - }, - { - "propertyName": "Comments", - "propertyKeyword": "comments", - "shouldValidate": false, - "propertyTooltip": "comments", - "addTimestampButton": false, - "propertyType": "details", - "template": "textarea" - }, - { - "propertyName": "Custom scripts", - "propertyType": "block", - "propertyKeyword": "customScripts", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Header script", - "propertyKeyword": "headerScript", - "propertyType": "block", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Script", - "propertyKeyword": "script", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql", - "customScriptVariables": true - } - } - ] - }, - { - "propertyName": "Footer script", - "propertyKeyword": "footerScript", - "propertyType": "block", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Script", - "propertyKeyword": "script", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql", - "customScriptVariables": true - } - } - ] - }, - { - "propertyName": "Before each CREATE SCHEMA", - "propertyKeyword": "beforeCreateContainer", - "propertyType": "block", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Script", - "propertyKeyword": "script", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql", - "customScriptVariables": true - } - } - ] - }, - { - "propertyName": "After each CREATE SCHEMA", - "propertyKeyword": "afterCreateContainer", - "propertyType": "block", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Script", - "propertyKeyword": "script", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql", - "customScriptVariables": true - } - } - ] - }, - { - "propertyName": "Before each CREATE TABLE", - "propertyKeyword": "beforeCreateEntity", - "propertyType": "block", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Script", - "propertyKeyword": "script", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql", - "customScriptVariables": true - } - } - ] - }, - { - "propertyName": "After each CREATE TABLE", - "propertyKeyword": "afterCreateEntity", - "propertyType": "block", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Script", - "propertyKeyword": "script", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql", - "customScriptVariables": true - } - } - ] - }, - { - "propertyName": "Before each CREATE VIEW", - "propertyKeyword": "beforeCreateView", - "propertyType": "block", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Script", - "propertyKeyword": "script", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql", - "customScriptVariables": true - } - } - ] - }, - { - "propertyName": "After each CREATE VIEW", - "propertyKeyword": "afterCreateView", - "propertyType": "block", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Script", - "propertyKeyword": "script", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql", - "customScriptVariables": true - } - } - ] - } - ] - } - ] - }, - { - "lowerTab": "Relationships", - "structure": [ - { - "propertyName": "On Delete", - "propertyKeyword": "relationshipOnDelete", - "propertyType": "select", - "options": ["", "CASCADE", "SET NULL"] - } - ] - } + { + "lowerTab": "Details", + "structure": [ + { + "propertyName": "DB vendor", + "propertyKeyword": "dbVendor", + "shouldValidate": false, + "propertyTooltip": "DB vendor", + "propertyType": "select", + "options": ["Oracle"], + "disabledOption": true + }, + { + "propertyName": "DB version", + "propertyKeyword": "dbVersion", + "shouldValidate": false, + "propertyTooltip": "DB version", + "propertyType": "select", + "options": ["12c", "18c", "19c", "21c", "23ai", "26ai"], + "disabledOption": false, + "adapters": [ + { + "dependency": { + "type": "not", + "values": [ + { + "key": "dbVersion", + "value": "21c" + } + ] + }, + "adapter": "adaptUnavailableTypes" + }, + { + "dependency": { + "type": "not", + "values": [ + { + "key": "dbVersion", + "value": "23ai" + } + ] + }, + "adapter": "adaptUnavailableTypes" + }, + { + "dependency": { + "type": "not", + "values": [ + { + "key": "dbVersion", + "value": "26ai" + } + ] + }, + "adapter": "adaptUnavailableTypes" + } + ] + }, + { + "propertyName": "Custom scripts", + "propertyType": "block", + "propertyKeyword": "customScripts", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Header script", + "propertyKeyword": "headerScript", + "propertyType": "block", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Script", + "propertyKeyword": "script", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql", + "customScriptVariables": true + } + } + ] + }, + { + "propertyName": "Footer script", + "propertyKeyword": "footerScript", + "propertyType": "block", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Script", + "propertyKeyword": "script", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql", + "customScriptVariables": true + } + } + ] + }, + { + "propertyName": "Before each CREATE SCHEMA", + "propertyKeyword": "beforeCreateContainer", + "propertyType": "block", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Script", + "propertyKeyword": "script", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql", + "customScriptVariables": true + } + } + ] + }, + { + "propertyName": "After each CREATE SCHEMA", + "propertyKeyword": "afterCreateContainer", + "propertyType": "block", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Script", + "propertyKeyword": "script", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql", + "customScriptVariables": true + } + } + ] + }, + { + "propertyName": "Before each CREATE TABLE", + "propertyKeyword": "beforeCreateEntity", + "propertyType": "block", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Script", + "propertyKeyword": "script", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql", + "customScriptVariables": true + } + } + ] + }, + { + "propertyName": "After each CREATE TABLE", + "propertyKeyword": "afterCreateEntity", + "propertyType": "block", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Script", + "propertyKeyword": "script", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql", + "customScriptVariables": true + } + } + ] + }, + { + "propertyName": "Before each CREATE VIEW", + "propertyKeyword": "beforeCreateView", + "propertyType": "block", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Script", + "propertyKeyword": "script", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql", + "customScriptVariables": true + } + } + ] + }, + { + "propertyName": "After each CREATE VIEW", + "propertyKeyword": "afterCreateView", + "propertyType": "block", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Script", + "propertyKeyword": "script", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql", + "customScriptVariables": true + } + } + ] + } + ] + }, + { + "propertyName": "Comments", + "propertyKeyword": "comments", + "shouldValidate": false, + "propertyTooltip": "comments", + "addTimestampButton": false, + "propertyType": "details", + "template": "textarea" + } + ] + }, + { + "lowerTab": "Relationships", + "structure": [ + { + "propertyName": "On Delete", + "propertyKeyword": "relationshipOnDelete", + "propertyType": "select", + "options": ["", "CASCADE", "SET NULL"] + } + ] + } ] diff --git a/properties_pane/view_level/viewLevelConfig.json b/properties_pane/view_level/viewLevelConfig.json index a52c6a2..f136fe4 100644 --- a/properties_pane/view_level/viewLevelConfig.json +++ b/properties_pane/view_level/viewLevelConfig.json @@ -8,837 +8,837 @@ */ [ - { - "lowerTab": "Details", - "structure": [ - { - "propertyName": "Comments", - "propertyKeyword": "description", - "shouldValidate": false, - "propertyTooltip": "comments", - "propertyType": "details", - "template": "textarea" - }, - { - "propertyName": "Materialized", - "propertyKeyword": "materialized", - "propertyTooltip": "Specify whether to create materialized view.", - "propertyType": "checkbox", - "dependency": { - "type": "or", - "values": [ - { - "key": "duality", - "value": false - }, - { - "key": "duality", - "exist": false - } - ] - } - }, - { - "propertyName": "Or replace", - "propertyKeyword": "or_replace", - "propertyTooltip": "To re-create the view if it already exists. You can use this clause to change the definition of an existing view without dropping, re-creating, and regranting object privileges previously granted on it.", - "propertyType": "checkbox", - "dependency": { - "type": "and", - "values": [ - { - "type": "or", - "values": [ - { - "key": "materialized", - "value": false - }, - { - "key": "materialized", - "exist": false - } - ] - }, - { - "type": "or", - "values": [ - { - "key": "ifNotExist", - "value": false - }, - { - "key": "ifNotExist", - "exist": false - } - ] - } - ] - } - }, - { - "propertyName": "Or replace", - "propertyKeyword": "or_replace", - "propertyTooltip": "To re-create the view if it already exists. You can use this clause to change the definition of an existing view without dropping, re-creating, and regranting object privileges previously granted on it.", - "propertyType": "checkbox", - "dependency": { - "type": "and", - "values": [ - { - "type": "or", - "values": [ - { - "key": "materialized", - "value": false - }, - { - "key": "materialized", - "exist": false - } - ] - }, - { - "key": "ifNotExist", - "value": true - } - ] - }, - "disabled": true - }, - { - "propertyName": "Duality", - "propertyKeyword": "duality", - "propertyType": "checkbox", - "dependency": { - "type": "and", - "values": [ - { - "type": "not", - "values": [ - { - "level": "model", - "key": "dbVersion", - "value": "12c" - }, - { - "level": "model", - "key": "dbVersion", - "value": "18c" - }, - { - "level": "model", - "key": "dbVersion", - "value": "19c" - }, - { - "level": "model", - "key": "dbVersion", - "value": "21c" - } - ] - }, - { - "type": "or", - "values": [ - { - "key": "materialized", - "value": false - }, - { - "key": "materialized", - "exist": false - } - ] - } - ] - } - }, - { - "propertyName": "If not exist", - "propertyKeyword": "ifNotExist", - "propertyType": "checkbox", - "dependency": { - "type": "and", - "values": [ - { - "type": "or", - "values": [ - { - "key": "or_replace", - "value": false - }, - { - "key": "or_replace", - "exist": false - } - ] - }, - { - "type": "or", - "values": [ - { - "key": "duality", - "value": false - }, - { - "key": "duality", - "exist": false - } - ] - } - ] - } - }, - { - "propertyName": "If not exist", - "propertyKeyword": "ifNotExist", - "propertyType": "checkbox", - "dependency": { - "type": "and", - "values": [ - { - "key": "or_replace", - "value": true - }, - { - "type": "or", - "values": [ - { - "key": "duality", - "value": false - }, - { - "key": "duality", - "exist": false - } - ] - } - ] - }, - "disabled": true - }, - { - "propertyName": "Force", - "propertyKeyword": "force", - "propertyTooltip": "Select from list of options", - "propertyType": "select", - "options": ["", "force", "no force"], - "dependency": { - "type": "or", - "values": [ - { - "key": "materialized", - "value": false - }, - { - "key": "materialized", - "exist": false - } - ] - } - }, - { - "propertyName": "Editionable", - "propertyKeyword": "editionable", - "propertyTooltip": "To specify whether the view becomes an editioned or noneditioned object if editioning is enabled for the schema object type VIEW in schema.", - "propertyType": "select", - "options": ["", "editionable", "noneditionable"], - "dependency": { - "type": "or", - "values": [ - { - "key": "materialized", - "value": false - }, - { - "key": "materialized", - "exist": false - } - ] - } - }, - { - "propertyName": "Editioning", - "propertyKeyword": "editioning", - "propertyTooltip": "A single-table view that selects all rows from the base table and displays a subset of the base table columns. ", - "propertyType": "select", - "options": ["", "editioning"], - "dependency": { - "type": "and", - "values": [ - { - "type": "or", - "values": [ - { - "key": "materialized", - "value": false - }, - { - "key": "materialized", - "exist": false - } - ] - }, - { - "type": "or", - "values": [ - { - "key": "duality", - "value": false - }, - { - "key": "duality", - "exist": false - } - ] - } - ] - } - }, - { - "propertyName": "Sharing", - "propertyKeyword": "sharing", - "propertyTooltip": "To determine how the view data is shared, specify one of the following sharing attributes", - "propertyType": "select", - "options": ["", "METADATA", "DATA", "EXTENDED DATA", "NONE"], - "dependency": { - "type": "and", - "values": [ - { - "type": "or", - "values": [ - { - "key": "materialized", - "value": false - }, - { - "key": "materialized", - "exist": false - } - ] - }, - { - "type": "or", - "values": [ - { - "key": "duality", - "value": false - }, - { - "key": "duality", - "exist": false - } - ] - } - ] - } - }, - { - "propertyName": "View properties", - "propertyKeyword": "viewProperties", - "shouldValidate": false, - "propertyTooltip": "View properties", - "propertyType": "details", - "template": "textarea", - "markdown": false, - "dependency": { - "type": "and", - "values": [ - { - "type": "or", - "values": [ - { - "key": "materialized", - "value": false - }, - { - "key": "materialized", - "exist": false - } - ] - }, - { - "type": "or", - "values": [ - { - "key": "duality", - "value": false - }, - { - "key": "duality", - "exist": false - } - ] - } - ] - } - }, - { - "propertyName": "Materialized view properties", - "propertyKeyword": "mviewProperties", - "shouldValidate": false, - "propertyTooltip": "Materialized view properties", - "propertyType": "details", - "template": "textarea", - "markdown": false, - "dependency": { - "key": "materialized", - "value": true - } - }, - { - "propertyName": "From root table", - "propertyKeyword": "viewOn", - "hidden": false, - "dependency": { - "key": "duality", - "value": true - } - }, - { - "propertyKeyword": "viewOn", - "hidden": true, - "dependency": { - "type": "or", - "values": [ - { - "key": "duality", - "value": false - }, - { - "key": "duality", - "exists": false - } - ] - } - }, - { - "propertyName": "Root table alias", - "propertyKeyword": "rootTableAlias", - "propertyType": "text", - "dependency": { - "key": "duality", - "value": true - } - }, - { - "propertyName": "Table tags clause", - "propertyKeyword": "tableTagsClause", - "propertyType": "block", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Check", - "propertyKeyword": "check", - "propertyType": "select", - "options": ["", "check", "nocheck"] - }, - { - "propertyName": "Etag", - "propertyKeyword": "etag", - "propertyType": "checkbox", - "dependency": { - "key": "check", - "value": ["check", "nocheck"] - } - }, - { - "propertyName": "Insert", - "propertyKeyword": "insert", - "propertyType": "select", - "options": ["", "insert", "noinsert"] - }, - { - "propertyName": "Update", - "propertyKeyword": "update", - "propertyType": "select", - "options": ["", "update", "noupdate"] - }, - { - "propertyName": "Delete", - "propertyKeyword": "delete", - "propertyType": "select", - "options": ["", "delete", "nodelete"] - } - ], - "dependency": { - "key": "duality", - "value": true - } - }, - { - "propertyName": "Select Statement", - "propertyKeyword": "selectStatement", - "propertyType": "details", - "propertyTooltip": "Select statement. To reference on partitioned table you should use ${tableName} template", - "template": "textarea", - "markdown": false, - "dependency": { - "type": "and", - "values": [ - { - "type": "or", - "values": [ - { - "key": "materialized", - "value": false - }, - { - "key": "materialized", - "exist": false - } - ] - }, - { - "type": "or", - "values": [ - { - "key": "duality", - "value": false - }, - { - "key": "duality", - "exist": false - } - ] - } - ] - } - }, - { - "propertyName": "Where clause", - "propertyKeyword": "whereClause", - "propertyType": "text", - "dependency": { - "key": "duality", - "value": true - } - }, - { - "propertyName": "Workload analysis", - "propertyKeyword": "analysis", - "propertyTooltip": "", - "propertyType": "block", - "dependency": { - "key": "duality", - "value": true - }, - "structure": [ - { - "propertyName": "Actor", - "propertyKeyword": "actor", - "propertyType": "text" - }, - { - "propertyName": "Description", - "propertyKeyword": "queryDescription", - "propertyTooltip": "Popup for multi-line text entry", - "propertyType": "details", - "template": "textarea", - "markdown": true - }, - { - "propertyName": "Number of documents", - "propertyKeyword": "nbrDocs", - "propertyType": "numeric", - "valueType": "number", - "allowNegative": false, - "minValue": 0, - "step": 1 - }, - { - "propertyName": "Avg document size (Bytes)", - "propertyKeyword": "docSize", - "propertyType": "numeric", - "valueType": "number", - "allowNegative": false, - "minValue": 0, - "step": 1 - }, - { - "propertyName": "Read-to-Write ratio", - "propertyKeyword": "RtWratio", - "propertyType": "text" - }, - { - "propertyName": "Write operations", - "propertyKeyword": "writeOps", - "propertyTooltip": "", - "propertyType": "group", - "structure": [ - { - "propertyName": "Write ops name", - "propertyKeyword": "writeOpsName", - "propertyType": "text" - }, - { - "propertyName": "Write type", - "propertyKeyword": "writeType", - "propertyTooltip": "Select from list of options", - "propertyType": "select", - "defaultValue": "insert", - "options": ["check", "insert", "update", "delete"] - }, - { - "propertyName": "Update predicates", - "propertyKeyword": "updatePredicates", - "propertyTooltip": "Popup for multi-line text entry", - "propertyType": "details", - "template": "textarea", - "markdown": false, - "dependency": { - "key": "writeType", - "value": "update" - } - }, - { - "propertyName": "Write rate", - "propertyKeyword": "writeRate", - "propertyType": "numeric", - "valueType": "number", - "allowNegative": false, - "minValue": 0, - "step": 1 - }, - { - "propertyName": "Write frequency", - "propertyKeyword": "writeFrequency", - "propertyTooltip": "Select from list of options", - "propertyType": "select", - "defaultValue": "per hour", - "options": ["per second", "per minute", "per hour"] - } - ] - }, - { - "propertyName": "Read operations", - "propertyKeyword": "readOperations", - "propertyTooltip": "Click the + sign to add new query description", - "propertyType": "group", - "structure": [ - { - "propertyName": "Read ops name", - "propertyKeyword": "readOpsName", - "propertyType": "text" - }, - { - "propertyName": "Query predicates", - "propertyKeyword": "queryPredicates", - "propertyTooltip": "Popup for multi-line text entry", - "propertyType": "details", - "template": "textarea", - "markdown": false - }, - { - "propertyName": "Read rate", - "propertyKeyword": "readRate", - "propertyType": "numeric", - "valueType": "number", - "allowNegative": false, - "minValue": 0, - "step": 1 - }, - { - "propertyName": "Read frequency", - "propertyKeyword": "readFrequency", - "propertyTooltip": "Select from list of options", - "propertyType": "select", - "defaultValue": "per hour", - "options": ["per second", "per minute", "per hour"] - } - ] - } - ] - }, - { - "propertyName": "Remarks", - "propertyKeyword": "comments", - "shouldValidate": false, - "propertyTooltip": "remarks", - "propertyType": "details", - "template": "textarea" - }, - { - "propertyKeyword": "pipeline", - "hidden": true - }, - { - "propertyName": "Custom scripts", - "propertyType": "block", - "propertyKeyword": "customScripts", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Before CREATE VIEW", - "propertyKeyword": "beforeCreateView", - "propertyType": "block", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Script", - "propertyKeyword": "script", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql", - "customScriptVariables": true - } - } - ] - }, - { - "propertyName": "After CREATE VIEW", - "propertyKeyword": "afterCreateView", - "propertyType": "block", - "propertyTooltip": "", - "structure": [ - { - "propertyName": "Script", - "propertyKeyword": "script", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql", - "customScriptVariables": true - } - } - ] - } - ] - } - ] - }, - { - "lowerTab": "Indexes", - "structure": [ - { - "propertyName": "Index", - "propertyType": "group", - "propertyKeyword": "Indxs", - "propertyTooltip": "", - "dependency": { - "key": "materialized", - "value": true - }, - "structure": [ - { - "propertyName": "Name", - "propertyKeyword": "indxName", - "propertyTooltip": "", - "propertyType": "text" - }, - { - "propertyName": "Activated", - "propertyKeyword": "isActivated", - "propertyTooltip": "Deactivated item will be not included in FE script", - "propertyType": "checkbox", - "defaultValue": true - }, - { - "propertyName": "Type", - "propertyKeyword": "indxType", - "propertyType": "select", - "options": ["", "multivalue", "unique", "bitmap"] - }, - { - "propertyName": "Keys", - "propertyKeyword": "indxKey", - "propertyType": "fieldList", - "template": "orderedList", - "attributeList": ["asc", "desc"], - "dependency": { - "type": "or", - "values": [ - { - "key": "column_expression", - "exist": false - }, - { - "key": "column_expression", - "value": "" - } - ] - } - }, - { - "propertyName": "Conditional function", - "propertyKeyword": "column_expression", - "propertyTooltip": "Enter conditional function for a function-based index", - "propertyType": "details", - "markdown": false, - "template": "codeEditor", - "templateOptions": { - "editorDialect": "sql" - }, - "dependency": { - "type": "or", - "values": [ - { - "key": "indxKey", - "exist": false - }, - { - "key": "indxKey", - "isEmpty": true - } - ] - } - }, - { - "propertyName": "Description", - "propertyKeyword": "indxDescription", - "propertyTooltip": "description", - "propertyType": "details", - "template": "textarea" - }, - { - "propertyName": "Tablespace", - "propertyKeyword": "tablespace", - "propertyTooltip": "Specify the tablespace in which Oracle Database creates the table. If you omit TABLESPACE, then the database creates that item in the default tablespace of the owner of the schema containing the table.", - "propertyType": "text" - }, - { - "propertyName": "Properties", - "propertyKeyword": "index_properties", - "propertyTooltip": "Specify the optional index attributes.", - "propertyType": "details", - "template": "textarea", - "markdown": false - }, - { - "propertyName": "Attributes", - "propertyKeyword": "index_attributes", - "propertyTooltip": "Specify the optional index attributes.", - "propertyType": "details", - "template": "textarea", - "markdown": false - }, - { - "propertyName": "Compression", - "propertyKeyword": "index_compression", - "propertyTooltip": "If you want to use compression for a partitioned index, then you must create the index with compression enabled at the index level. You can subsequently enable and disable the compression setting for individual partitions of such a partitioned index. ", - "propertyType": "details", - "template": "textarea", - "markdown": false - }, - { - "propertyName": "Logging", - "propertyKeyword": "logging_clause", - "propertyType": "select", - "defaultValue": "logging", - "options": ["", "logging", "nologging", "filesystem_like_logging"] - }, - { - "propertyName": "Comments", - "propertyKeyword": "indxComments", - "propertyTooltip": "comments", - "addTimestampButton": false, - "propertyType": "details", - "template": "textarea" - } - ] - } - ] - } + { + "lowerTab": "Details", + "structure": [ + { + "propertyName": "Comments", + "propertyKeyword": "description", + "shouldValidate": false, + "propertyTooltip": "comments", + "propertyType": "details", + "template": "textarea" + }, + { + "propertyName": "Materialized", + "propertyKeyword": "materialized", + "propertyTooltip": "Specify whether to create materialized view.", + "propertyType": "checkbox", + "dependency": { + "type": "or", + "values": [ + { + "key": "duality", + "value": false + }, + { + "key": "duality", + "exist": false + } + ] + } + }, + { + "propertyName": "Or replace", + "propertyKeyword": "or_replace", + "propertyTooltip": "To re-create the view if it already exists. You can use this clause to change the definition of an existing view without dropping, re-creating, and regranting object privileges previously granted on it.", + "propertyType": "checkbox", + "dependency": { + "type": "and", + "values": [ + { + "type": "or", + "values": [ + { + "key": "materialized", + "value": false + }, + { + "key": "materialized", + "exist": false + } + ] + }, + { + "type": "or", + "values": [ + { + "key": "ifNotExist", + "value": false + }, + { + "key": "ifNotExist", + "exist": false + } + ] + } + ] + } + }, + { + "propertyName": "Or replace", + "propertyKeyword": "or_replace", + "propertyTooltip": "To re-create the view if it already exists. You can use this clause to change the definition of an existing view without dropping, re-creating, and regranting object privileges previously granted on it.", + "propertyType": "checkbox", + "dependency": { + "type": "and", + "values": [ + { + "type": "or", + "values": [ + { + "key": "materialized", + "value": false + }, + { + "key": "materialized", + "exist": false + } + ] + }, + { + "key": "ifNotExist", + "value": true + } + ] + }, + "disabled": true + }, + { + "propertyName": "Duality", + "propertyKeyword": "duality", + "propertyType": "checkbox", + "dependency": { + "type": "and", + "values": [ + { + "type": "not", + "values": [ + { + "level": "model", + "key": "dbVersion", + "value": "12c" + }, + { + "level": "model", + "key": "dbVersion", + "value": "18c" + }, + { + "level": "model", + "key": "dbVersion", + "value": "19c" + }, + { + "level": "model", + "key": "dbVersion", + "value": "21c" + } + ] + }, + { + "type": "or", + "values": [ + { + "key": "materialized", + "value": false + }, + { + "key": "materialized", + "exist": false + } + ] + } + ] + } + }, + { + "propertyName": "If not exist", + "propertyKeyword": "ifNotExist", + "propertyType": "checkbox", + "dependency": { + "type": "and", + "values": [ + { + "type": "or", + "values": [ + { + "key": "or_replace", + "value": false + }, + { + "key": "or_replace", + "exist": false + } + ] + }, + { + "type": "or", + "values": [ + { + "key": "duality", + "value": false + }, + { + "key": "duality", + "exist": false + } + ] + } + ] + } + }, + { + "propertyName": "If not exist", + "propertyKeyword": "ifNotExist", + "propertyType": "checkbox", + "dependency": { + "type": "and", + "values": [ + { + "key": "or_replace", + "value": true + }, + { + "type": "or", + "values": [ + { + "key": "duality", + "value": false + }, + { + "key": "duality", + "exist": false + } + ] + } + ] + }, + "disabled": true + }, + { + "propertyName": "Force", + "propertyKeyword": "force", + "propertyTooltip": "Select from list of options", + "propertyType": "select", + "options": ["", "force", "no force"], + "dependency": { + "type": "or", + "values": [ + { + "key": "materialized", + "value": false + }, + { + "key": "materialized", + "exist": false + } + ] + } + }, + { + "propertyName": "Editionable", + "propertyKeyword": "editionable", + "propertyTooltip": "To specify whether the view becomes an editioned or noneditioned object if editioning is enabled for the schema object type VIEW in schema.", + "propertyType": "select", + "options": ["", "editionable", "noneditionable"], + "dependency": { + "type": "or", + "values": [ + { + "key": "materialized", + "value": false + }, + { + "key": "materialized", + "exist": false + } + ] + } + }, + { + "propertyName": "Editioning", + "propertyKeyword": "editioning", + "propertyTooltip": "A single-table view that selects all rows from the base table and displays a subset of the base table columns. ", + "propertyType": "select", + "options": ["", "editioning"], + "dependency": { + "type": "and", + "values": [ + { + "type": "or", + "values": [ + { + "key": "materialized", + "value": false + }, + { + "key": "materialized", + "exist": false + } + ] + }, + { + "type": "or", + "values": [ + { + "key": "duality", + "value": false + }, + { + "key": "duality", + "exist": false + } + ] + } + ] + } + }, + { + "propertyName": "Sharing", + "propertyKeyword": "sharing", + "propertyTooltip": "To determine how the view data is shared, specify one of the following sharing attributes", + "propertyType": "select", + "options": ["", "METADATA", "DATA", "EXTENDED DATA", "NONE"], + "dependency": { + "type": "and", + "values": [ + { + "type": "or", + "values": [ + { + "key": "materialized", + "value": false + }, + { + "key": "materialized", + "exist": false + } + ] + }, + { + "type": "or", + "values": [ + { + "key": "duality", + "value": false + }, + { + "key": "duality", + "exist": false + } + ] + } + ] + } + }, + { + "propertyName": "View properties", + "propertyKeyword": "viewProperties", + "shouldValidate": false, + "propertyTooltip": "View properties", + "propertyType": "details", + "template": "textarea", + "markdown": false, + "dependency": { + "type": "and", + "values": [ + { + "type": "or", + "values": [ + { + "key": "materialized", + "value": false + }, + { + "key": "materialized", + "exist": false + } + ] + }, + { + "type": "or", + "values": [ + { + "key": "duality", + "value": false + }, + { + "key": "duality", + "exist": false + } + ] + } + ] + } + }, + { + "propertyName": "Materialized view properties", + "propertyKeyword": "mviewProperties", + "shouldValidate": false, + "propertyTooltip": "Materialized view properties", + "propertyType": "details", + "template": "textarea", + "markdown": false, + "dependency": { + "key": "materialized", + "value": true + } + }, + { + "propertyName": "From root table", + "propertyKeyword": "viewOn", + "hidden": false, + "dependency": { + "key": "duality", + "value": true + } + }, + { + "propertyKeyword": "viewOn", + "hidden": true, + "dependency": { + "type": "or", + "values": [ + { + "key": "duality", + "value": false + }, + { + "key": "duality", + "exists": false + } + ] + } + }, + { + "propertyName": "Root table alias", + "propertyKeyword": "rootTableAlias", + "propertyType": "text", + "dependency": { + "key": "duality", + "value": true + } + }, + { + "propertyName": "Table tags clause", + "propertyKeyword": "tableTagsClause", + "propertyType": "block", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Check", + "propertyKeyword": "check", + "propertyType": "select", + "options": ["", "check", "nocheck"] + }, + { + "propertyName": "Etag", + "propertyKeyword": "etag", + "propertyType": "checkbox", + "dependency": { + "key": "check", + "value": ["check", "nocheck"] + } + }, + { + "propertyName": "Insert", + "propertyKeyword": "insert", + "propertyType": "select", + "options": ["", "insert", "noinsert"] + }, + { + "propertyName": "Update", + "propertyKeyword": "update", + "propertyType": "select", + "options": ["", "update", "noupdate"] + }, + { + "propertyName": "Delete", + "propertyKeyword": "delete", + "propertyType": "select", + "options": ["", "delete", "nodelete"] + } + ], + "dependency": { + "key": "duality", + "value": true + } + }, + { + "propertyName": "Select Statement", + "propertyKeyword": "selectStatement", + "propertyType": "details", + "propertyTooltip": "Select statement. To reference on partitioned table you should use ${tableName} template", + "template": "textarea", + "markdown": false, + "dependency": { + "type": "and", + "values": [ + { + "type": "or", + "values": [ + { + "key": "materialized", + "value": false + }, + { + "key": "materialized", + "exist": false + } + ] + }, + { + "type": "or", + "values": [ + { + "key": "duality", + "value": false + }, + { + "key": "duality", + "exist": false + } + ] + } + ] + } + }, + { + "propertyName": "Where clause", + "propertyKeyword": "whereClause", + "propertyType": "text", + "dependency": { + "key": "duality", + "value": true + } + }, + { + "propertyName": "Workload analysis", + "propertyKeyword": "analysis", + "propertyTooltip": "", + "propertyType": "block", + "dependency": { + "key": "duality", + "value": true + }, + "structure": [ + { + "propertyName": "Actor", + "propertyKeyword": "actor", + "propertyType": "text" + }, + { + "propertyName": "Description", + "propertyKeyword": "queryDescription", + "propertyTooltip": "Popup for multi-line text entry", + "propertyType": "details", + "template": "textarea", + "markdown": true + }, + { + "propertyName": "Number of documents", + "propertyKeyword": "nbrDocs", + "propertyType": "numeric", + "valueType": "number", + "allowNegative": false, + "minValue": 0, + "step": 1 + }, + { + "propertyName": "Avg document size (Bytes)", + "propertyKeyword": "docSize", + "propertyType": "numeric", + "valueType": "number", + "allowNegative": false, + "minValue": 0, + "step": 1 + }, + { + "propertyName": "Read-to-Write ratio", + "propertyKeyword": "RtWratio", + "propertyType": "text" + }, + { + "propertyName": "Write operations", + "propertyKeyword": "writeOps", + "propertyTooltip": "", + "propertyType": "group", + "structure": [ + { + "propertyName": "Write ops name", + "propertyKeyword": "writeOpsName", + "propertyType": "text" + }, + { + "propertyName": "Write type", + "propertyKeyword": "writeType", + "propertyTooltip": "Select from list of options", + "propertyType": "select", + "defaultValue": "insert", + "options": ["check", "insert", "update", "delete"] + }, + { + "propertyName": "Update predicates", + "propertyKeyword": "updatePredicates", + "propertyTooltip": "Popup for multi-line text entry", + "propertyType": "details", + "template": "textarea", + "markdown": false, + "dependency": { + "key": "writeType", + "value": "update" + } + }, + { + "propertyName": "Write rate", + "propertyKeyword": "writeRate", + "propertyType": "numeric", + "valueType": "number", + "allowNegative": false, + "minValue": 0, + "step": 1 + }, + { + "propertyName": "Write frequency", + "propertyKeyword": "writeFrequency", + "propertyTooltip": "Select from list of options", + "propertyType": "select", + "defaultValue": "per hour", + "options": ["per second", "per minute", "per hour"] + } + ] + }, + { + "propertyName": "Read operations", + "propertyKeyword": "readOperations", + "propertyTooltip": "Click the + sign to add new query description", + "propertyType": "group", + "structure": [ + { + "propertyName": "Read ops name", + "propertyKeyword": "readOpsName", + "propertyType": "text" + }, + { + "propertyName": "Query predicates", + "propertyKeyword": "queryPredicates", + "propertyTooltip": "Popup for multi-line text entry", + "propertyType": "details", + "template": "textarea", + "markdown": false + }, + { + "propertyName": "Read rate", + "propertyKeyword": "readRate", + "propertyType": "numeric", + "valueType": "number", + "allowNegative": false, + "minValue": 0, + "step": 1 + }, + { + "propertyName": "Read frequency", + "propertyKeyword": "readFrequency", + "propertyTooltip": "Select from list of options", + "propertyType": "select", + "defaultValue": "per hour", + "options": ["per second", "per minute", "per hour"] + } + ] + } + ] + }, + { + "propertyName": "Custom scripts", + "propertyType": "block", + "propertyKeyword": "customScripts", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Before CREATE VIEW", + "propertyKeyword": "beforeCreateView", + "propertyType": "block", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Script", + "propertyKeyword": "script", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql", + "customScriptVariables": true + } + } + ] + }, + { + "propertyName": "After CREATE VIEW", + "propertyKeyword": "afterCreateView", + "propertyType": "block", + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Script", + "propertyKeyword": "script", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql", + "customScriptVariables": true + } + } + ] + } + ] + }, + { + "propertyName": "Remarks", + "propertyKeyword": "comments", + "shouldValidate": false, + "propertyTooltip": "remarks", + "propertyType": "details", + "template": "textarea" + }, + { + "propertyKeyword": "pipeline", + "hidden": true + } + ] + }, + { + "lowerTab": "Indexes", + "structure": [ + { + "propertyName": "Index", + "propertyType": "group", + "propertyKeyword": "Indxs", + "propertyTooltip": "", + "dependency": { + "key": "materialized", + "value": true + }, + "structure": [ + { + "propertyName": "Name", + "propertyKeyword": "indxName", + "propertyTooltip": "", + "propertyType": "text" + }, + { + "propertyName": "Activated", + "propertyKeyword": "isActivated", + "propertyTooltip": "Deactivated item will be not included in FE script", + "propertyType": "checkbox", + "defaultValue": true + }, + { + "propertyName": "Type", + "propertyKeyword": "indxType", + "propertyType": "select", + "options": ["", "multivalue", "unique", "bitmap"] + }, + { + "propertyName": "Keys", + "propertyKeyword": "indxKey", + "propertyType": "fieldList", + "template": "orderedList", + "attributeList": ["asc", "desc"], + "dependency": { + "type": "or", + "values": [ + { + "key": "column_expression", + "exist": false + }, + { + "key": "column_expression", + "value": "" + } + ] + } + }, + { + "propertyName": "Conditional function", + "propertyKeyword": "column_expression", + "propertyTooltip": "Enter conditional function for a function-based index", + "propertyType": "details", + "markdown": false, + "template": "codeEditor", + "templateOptions": { + "editorDialect": "sql" + }, + "dependency": { + "type": "or", + "values": [ + { + "key": "indxKey", + "exist": false + }, + { + "key": "indxKey", + "isEmpty": true + } + ] + } + }, + { + "propertyName": "Description", + "propertyKeyword": "indxDescription", + "propertyTooltip": "description", + "propertyType": "details", + "template": "textarea" + }, + { + "propertyName": "Tablespace", + "propertyKeyword": "tablespace", + "propertyTooltip": "Specify the tablespace in which Oracle Database creates the table. If you omit TABLESPACE, then the database creates that item in the default tablespace of the owner of the schema containing the table.", + "propertyType": "text" + }, + { + "propertyName": "Properties", + "propertyKeyword": "index_properties", + "propertyTooltip": "Specify the optional index attributes.", + "propertyType": "details", + "template": "textarea", + "markdown": false + }, + { + "propertyName": "Attributes", + "propertyKeyword": "index_attributes", + "propertyTooltip": "Specify the optional index attributes.", + "propertyType": "details", + "template": "textarea", + "markdown": false + }, + { + "propertyName": "Compression", + "propertyKeyword": "index_compression", + "propertyTooltip": "If you want to use compression for a partitioned index, then you must create the index with compression enabled at the index level. You can subsequently enable and disable the compression setting for individual partitions of such a partitioned index. ", + "propertyType": "details", + "template": "textarea", + "markdown": false + }, + { + "propertyName": "Logging", + "propertyKeyword": "logging_clause", + "propertyType": "select", + "defaultValue": "logging", + "options": ["", "logging", "nologging", "filesystem_like_logging"] + }, + { + "propertyName": "Comments", + "propertyKeyword": "indxComments", + "propertyTooltip": "comments", + "addTimestampButton": false, + "propertyType": "details", + "template": "textarea" + } + ] + } + ] + } ]