Added cascade option while creating an extension. #3942

This commit is contained in:
Akshay Joshi
2023-08-03 17:23:03 +05:30
parent 48bfc66048
commit b01a93544f
10 changed files with 24 additions and 8 deletions

View File

@@ -20,6 +20,7 @@ export default class ExtensionsSchema extends BaseUISchema {
schema: '',
relocatable: false,
is_sys_obj: false,
cascade: false,
comment: null,
});
fieldOptions = {
@@ -87,6 +88,10 @@ export default class ExtensionsSchema extends BaseUISchema {
}
}
},
{
id: 'cascade', label: gettext('Cascade?'),
type: 'switch', mode: ['create'],
},
{
id: 'oid', label: gettext('OID'), type: 'text',
mode: ['properties'],

View File

@@ -7,13 +7,17 @@
{% endif %}
{% if data.name %}
CREATE EXTENSION{% if add_not_exists_clause %} IF NOT EXISTS{% endif %} {{ conn|qtIdent(data.name) }}{% if data.schema == '' and data.version == '' %};{% endif %}
CREATE EXTENSION{% if add_not_exists_clause %} IF NOT EXISTS{% endif %} {{ conn|qtIdent(data.name) }}{% if data.schema == '' and data.version == '' and not data.cascade %};{% endif %}
{% if data.schema %}
SCHEMA {{ conn|qtIdent(data.schema) }}{% if data.version == '' %};{% endif %}
SCHEMA {{ conn|qtIdent(data.schema) }}{% if data.version == '' and not data.cascade %};{% endif %}
{% endif %}
{% if data.version %}
VERSION {{ conn|qtIdent(data.version) }};
VERSION {{ conn|qtIdent(data.version) }}{% if not data.cascade %};{% endif %}
{% endif %}
{% if data.cascade %}
CASCADE;
{% endif %}
{% endif %}

View File

@@ -1,3 +1,4 @@
CREATE EXTENSION sslinfo
SCHEMA test_extension_schema
VERSION "1.2";
VERSION "1.2"
CASCADE;

View File

@@ -9,7 +9,8 @@
"data": {
"name": "sslinfo",
"schema": "test_extension_schema",
"version": "1.2"
"version": "1.2",
"cascade": true
},
"expected_sql_file": "create_extension_with_all_options.sql",
"expected_msql_file": "msql_create_extension_with_all_options.sql",

View File

@@ -19,7 +19,8 @@ def get_extension_data(schema_name):
data = {
"name": "cube",
"relocatable": "true",
"schema": schema_name
"schema": schema_name,
"cascade": "true"
}
return data