diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py index 8b29da4d55e..e73803ca3ff 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py @@ -1440,7 +1440,7 @@ def sql(self, gid, sid, did, scid, tid): return BaseTableView.get_reverse_engineered_sql( self, did=did, scid=scid, tid=tid, main_sql=main_sql, data=data, - add_not_exists_clause=True) + add_not_exists_clause=True, show_default_values_for_indexes=False) @BaseTableView.check_precondition def select_sql(self, gid, sid, did, scid, tid): diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/__init__.py index 205f7e10b69..9a93aea9b39 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/__init__.py @@ -505,19 +505,22 @@ def properties(self, gid, sid, did, scid, tid, idx): status=200 ) - def _fetch_properties(self, did, tid, idx): + def _fetch_properties(self, did, tid, idx, show_default_values=True): """ This function is used to fetch the properties of specified object. :param did: :param tid: :param idx: + :param show_default_values: + Whether to show default values in CASE statements :return: """ SQL = render_template( "/".join([self.template_path, self._PROPERTIES_SQL]), did=did, tid=tid, idx=idx, datlastsysoid=self._DATABASE_LAST_SYSTEM_OID, - show_sys_objects=self.blueprint.show_system_objects + show_sys_objects=self.blueprint.show_system_objects, + show_default_values=show_default_values ) status, res = self.conn.execute_dict(SQL) @@ -724,7 +727,8 @@ def delete(self, gid, sid, did, scid, tid, **kwargs): "/".join([self.template_path, self._PROPERTIES_SQL]), did=did, tid=tid, idx=idx, datlastsysoid=self._DATABASE_LAST_SYSTEM_OID, - show_sys_objects=self.blueprint.show_system_objects + show_sys_objects=self.blueprint.show_system_objects, + show_default_values=True ) status, res = self.conn.execute_dict(SQL) @@ -879,7 +883,8 @@ def sql(self, gid, sid, did, scid, tid, idx): self.conn, schema=self.schema, table=self.table, did=did, tid=tid, idx=idx, datlastsysoid=self._DATABASE_LAST_SYSTEM_OID, add_not_exists_clause=True, - show_sys_objects=self.blueprint.show_system_objects + show_sys_objects=self.blueprint.show_system_objects, + show_default_values=False ) return ajax_response(response=SQL) @@ -1010,7 +1015,8 @@ def statistics(self, gid, sid, did, scid, tid, idx=None): "/".join([self.template_path, self._PROPERTIES_SQL]), did=did, tid=tid, idx=idx, datlastsysoid=self._DATABASE_LAST_SYSTEM_OID, - show_sys_objects=self.blueprint.show_system_objects + show_sys_objects=self.blueprint.show_system_objects, + show_default_values=True ) status, res = self.conn.execute_dict(SQL) if not status: diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/11_plus/alter_reset_fillfactor_cluster.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/11_plus/alter_reset_fillfactor_cluster.sql index 89891dc4231..d8c7cd5c5a3 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/11_plus/alter_reset_fillfactor_cluster.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/11_plus/alter_reset_fillfactor_cluster.sql @@ -6,7 +6,6 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx1_$%{}[]()&*^!@""'`\/#" ON public.test_table_for_indexes USING btree (id DESC NULLS FIRST, name COLLATE pg_catalog."POSIX" text_pattern_ops DESC NULLS FIRST) INCLUDE(name, id) - WITH (fillfactor=100) TABLESPACE pg_default; COMMENT ON INDEX public."Idx1_$%{}[]()&*^!@""'`\/#" diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/11_plus/create_btree_desc_null_first.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/11_plus/create_btree_desc_null_first.sql index 329cc493d8a..edbf94695cc 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/11_plus/create_btree_desc_null_first.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/11_plus/create_btree_desc_null_first.sql @@ -6,5 +6,5 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx_$%{}[]()&*^!@""'`\/#" ON public.test_table_for_indexes USING btree (id DESC NULLS FIRST, name COLLATE pg_catalog."POSIX" text_pattern_ops DESC NULLS FIRST) INCLUDE(name, id) - WITH (fillfactor=100) + WITH (fillfactor=90) TABLESPACE pg_default; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/alter_expr_statistics.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/alter_expr_statistics.sql index 0565da209c2..f7c25eae1f2 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/alter_expr_statistics.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/alter_expr_statistics.sql @@ -6,7 +6,7 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx3_$%{}[]()&*^!@""'`\/#" ON public.test_table_for_indexes USING btree (id ASC NULLS LAST, lower(name) COLLATE pg_catalog."POSIX" text_pattern_ops ASC NULLS LAST) INCLUDE(name, id) - WITH (fillfactor=10, deduplicate_items=True) + WITH (fillfactor=10) TABLESPACE pg_default WHERE id < 100; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/alter_name_fillfactor_comment.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/alter_name_fillfactor_comment.sql index bd26995dfb0..b25e51fe7e9 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/alter_name_fillfactor_comment.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/alter_name_fillfactor_comment.sql @@ -6,7 +6,7 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx1_$%{}[]()&*^!@""'`\/#" ON public.test_table_for_indexes USING btree (id DESC NULLS FIRST, name COLLATE pg_catalog."POSIX" text_pattern_ops DESC NULLS FIRST) INCLUDE(name, id) - WITH (fillfactor=10, deduplicate_items=True) + WITH (fillfactor=10) TABLESPACE pg_default; ALTER TABLE IF EXISTS public.test_table_for_indexes diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/alter_reset_fillfactor_cluster.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/alter_reset_fillfactor_cluster.sql index 562e2f5b4e8..d8c7cd5c5a3 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/alter_reset_fillfactor_cluster.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/alter_reset_fillfactor_cluster.sql @@ -6,7 +6,6 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx1_$%{}[]()&*^!@""'`\/#" ON public.test_table_for_indexes USING btree (id DESC NULLS FIRST, name COLLATE pg_catalog."POSIX" text_pattern_ops DESC NULLS FIRST) INCLUDE(name, id) - WITH (fillfactor=100, deduplicate_items=True) TABLESPACE pg_default; COMMENT ON INDEX public."Idx1_$%{}[]()&*^!@""'`\/#" diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/create_btree_desc_null_first.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/create_btree_desc_null_first.sql index a3a7314274d..d7f87ff1081 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/create_btree_desc_null_first.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/create_btree_desc_null_first.sql @@ -6,5 +6,4 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx_$%{}[]()&*^!@""'`\/#" ON public.test_table_for_indexes USING btree (id DESC NULLS FIRST, name COLLATE pg_catalog."POSIX" text_pattern_ops DESC NULLS FIRST) INCLUDE(name, id) - WITH (fillfactor=100, deduplicate_items=True) TABLESPACE pg_default; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/create_btree_expr_asc_null_last.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/create_btree_expr_asc_null_last.sql index 0565da209c2..f7c25eae1f2 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/create_btree_expr_asc_null_last.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/create_btree_expr_asc_null_last.sql @@ -6,7 +6,7 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx3_$%{}[]()&*^!@""'`\/#" ON public.test_table_for_indexes USING btree (id ASC NULLS LAST, lower(name) COLLATE pg_catalog."POSIX" text_pattern_ops ASC NULLS LAST) INCLUDE(name, id) - WITH (fillfactor=10, deduplicate_items=True) + WITH (fillfactor=10) TABLESPACE pg_default WHERE id < 100; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/alter_name_fillfactor_comment.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/alter_name_fillfactor_comment.sql index 7e1b3b28a7d..fc068ba3def 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/alter_name_fillfactor_comment.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/alter_name_fillfactor_comment.sql @@ -7,7 +7,7 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx1_$%{}[]()&*^!@""'`\/#" (id DESC NULLS FIRST, name COLLATE pg_catalog."POSIX" text_pattern_ops DESC NULLS FIRST) INCLUDE(name, id) NULLS NOT DISTINCT - WITH (fillfactor=10, deduplicate_items=True) + WITH (fillfactor=10) TABLESPACE pg_default; ALTER TABLE IF EXISTS public.test_table_for_indexes diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/alter_reset_fillfactor_cluster.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/alter_reset_fillfactor_cluster.sql index ad9e9041265..f429e8358d2 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/alter_reset_fillfactor_cluster.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/alter_reset_fillfactor_cluster.sql @@ -7,7 +7,6 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx1_$%{}[]()&*^!@""'`\/#" (id DESC NULLS FIRST, name COLLATE pg_catalog."POSIX" text_pattern_ops DESC NULLS FIRST) INCLUDE(name, id) NULLS NOT DISTINCT - WITH (fillfactor=100, deduplicate_items=True) TABLESPACE pg_default; COMMENT ON INDEX public."Idx1_$%{}[]()&*^!@""'`\/#" diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/create_btree_asc_null_first.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/create_btree_asc_null_first.sql index cd8186547f7..802e195002b 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/create_btree_asc_null_first.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/create_btree_asc_null_first.sql @@ -7,7 +7,7 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx_$%{}[]()&*^!@""'`\/#" (id ASC NULLS FIRST, name COLLATE pg_catalog."POSIX" text_pattern_ops ASC NULLS FIRST) INCLUDE(name, id) NULLS NOT DISTINCT - WITH (fillfactor=10, deduplicate_items=True) + WITH (fillfactor=10) TABLESPACE pg_default WHERE id < 100; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/create_btree_asc_null_last.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/create_btree_asc_null_last.sql index c4cbb01456c..2cf9c9e3a37 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/create_btree_asc_null_last.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/create_btree_asc_null_last.sql @@ -7,7 +7,7 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx_$%{}[]()&*^!@""'`\/#" (id ASC NULLS LAST, name COLLATE pg_catalog."POSIX" text_pattern_ops ASC NULLS LAST) INCLUDE(name, id) NULLS NOT DISTINCT - WITH (fillfactor=10, deduplicate_items=True) + WITH (fillfactor=10) TABLESPACE pg_default WHERE id < 100; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/create_btree_desc_null_first.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/create_btree_desc_null_first.sql index a9e1019d973..6f6c8cd77fc 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/create_btree_desc_null_first.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/create_btree_desc_null_first.sql @@ -7,5 +7,4 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx_$%{}[]()&*^!@""'`\/#" (id DESC NULLS FIRST, name COLLATE pg_catalog."POSIX" text_pattern_ops DESC NULLS FIRST) INCLUDE(name, id) NULLS NOT DISTINCT - WITH (fillfactor=100, deduplicate_items=True) TABLESPACE pg_default; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/create_btree_desc_null_last.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/create_btree_desc_null_last.sql index 9507fd64760..56ed7687856 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/create_btree_desc_null_last.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/15_plus/create_btree_desc_null_last.sql @@ -7,7 +7,7 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx_$%{}[]()&*^!@""'`\/#" (id DESC NULLS LAST, name COLLATE pg_catalog."POSIX" text_pattern_ops DESC NULLS LAST) INCLUDE(name, id) NULLS NOT DISTINCT - WITH (fillfactor=10, deduplicate_items=True) + WITH (fillfactor=10) TABLESPACE pg_default WHERE id < 100; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/alter_expr_statistics.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/alter_expr_statistics.sql index d85d42c14b2..51c1afec95b 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/alter_expr_statistics.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/alter_expr_statistics.sql @@ -5,7 +5,7 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx3_$%{}[]()&*^!@""'`\/#" ON public.test_table_for_indexes USING btree (id ASC NULLS LAST, lower(name) COLLATE pg_catalog."POSIX" text_pattern_ops ASC NULLS LAST) - WITH (fillfactor=10, deduplicate_items=True) + WITH (fillfactor=10) TABLESPACE pg_default WHERE id < 100; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/alter_name_fillfactor_comment.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/alter_name_fillfactor_comment.sql index 418d34eb833..5b3809ce35b 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/alter_name_fillfactor_comment.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/alter_name_fillfactor_comment.sql @@ -5,7 +5,7 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx1_$%{}[]()&*^!@""'`\/#" ON public.test_table_for_indexes USING btree (id DESC NULLS FIRST, name COLLATE pg_catalog."POSIX" text_pattern_ops DESC NULLS FIRST) - WITH (fillfactor=10, deduplicate_items=True) + WITH (fillfactor=10) TABLESPACE pg_default; ALTER TABLE IF EXISTS public.test_table_for_indexes diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/create_btree_asc_null_last.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/create_btree_asc_null_last.sql index c457355c35d..3960455dbab 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/create_btree_asc_null_last.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/create_btree_asc_null_last.sql @@ -5,7 +5,7 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx_$%{}[]()&*^!@""'`\/#" ON public.test_table_for_indexes USING btree (id ASC NULLS LAST, name COLLATE pg_catalog."POSIX" text_pattern_ops ASC NULLS LAST) - WITH (fillfactor=10, deduplicate_items=True) + WITH (fillfactor=10) TABLESPACE pg_default WHERE id < 100; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/create_btree_desc_null_last.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/create_btree_desc_null_last.sql index 763f4164236..90766406404 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/create_btree_desc_null_last.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/create_btree_desc_null_last.sql @@ -5,7 +5,7 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx_$%{}[]()&*^!@""'`\/#" ON public.test_table_for_indexes USING btree (id DESC NULLS LAST, name COLLATE pg_catalog."POSIX" text_pattern_ops DESC NULLS LAST) - WITH (fillfactor=10, deduplicate_items=True) + WITH (fillfactor=10) TABLESPACE pg_default WHERE id < 100; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/create_btree_expr_asc_null_last_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/create_btree_expr_asc_null_last_msql.sql index a6bdce0ce87..53c401357a6 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/create_btree_expr_asc_null_last_msql.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/default/create_btree_expr_asc_null_last_msql.sql @@ -1,7 +1,7 @@ CREATE UNIQUE INDEX "Idx3_$%{}[]()&*^!@""'`\/#" ON public.test_table_for_indexes USING btree (id ASC NULLS LAST, (lower(name)) COLLATE pg_catalog."POSIX" text_pattern_ops ASC NULLS LAST) - WITH (fillfactor=10, deduplicate_items=True) + WITH (fillfactor=10) TABLESPACE pg_default WHERE id < 100; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/utils.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/utils.py index 04e6f32ec79..38938db40eb 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/utils.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/utils.py @@ -314,11 +314,13 @@ def get_reverse_engineered_sql(conn, **kwargs): with_header = kwargs.get('with_header', True) if_exists_flag = kwargs.get('add_not_exists_clause', False) show_sys_obj = kwargs.get('show_sys_objects', False) + show_default_values = kwargs.get('show_default_values', True) SQL = render_template("/".join([template_path, 'properties.sql']), did=did, tid=tid, idx=idx, datlastsysoid=datlastsysoid, - show_sys_objects=show_sys_obj) + show_sys_objects=show_sys_obj, + show_default_values=show_default_values) status, res = conn.execute_dict(SQL) if not status: diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/11_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/11_plus/properties.sql index b2129f84c1b..faf97c0c9bb 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/11_plus/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/11_plus/properties.sql @@ -41,46 +41,72 @@ SELECT DISTINCT ON (cls.relname) -- Options (with defaults per index type) COALESCE( substring(array_to_string(cls.reloptions, ',') FROM 'fillfactor=([0-9]*)')::int, - CASE am.amname - WHEN 'btree' THEN 100 - WHEN 'gist' THEN 90 - ELSE NULL - END + {% if show_default_values %} + CASE am.amname + WHEN 'btree' THEN 90 + WHEN 'gist' THEN 90 + WHEN 'hash' THEN 90 + WHEN 'spgist' THEN 80 + ELSE NULL + END + {% else %} + NULL + {% endif %} ) AS fillfactor, COALESCE( CASE am.amname WHEN 'gin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'gin_pending_list_limit=([0-9]*)')::int ELSE NULL END, - CASE am.amname WHEN 'gin' THEN 4096 * 1024 ELSE NULL END + {% if show_default_values %} + CASE am.amname WHEN 'gin' THEN 4096 * 1024 ELSE NULL END + {% else %} + NULL + {% endif %} ) AS gin_pending_list_limit, COALESCE( CASE am.amname WHEN 'brin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'pages_per_range=([0-9]*)')::int ELSE NULL END, - CASE am.amname WHEN 'brin' THEN 128 ELSE NULL END + {% if show_default_values %} + CASE am.amname WHEN 'brin' THEN 128 ELSE NULL END + {% else %} + NULL + {% endif %} ) AS pages_per_range, COALESCE( CASE am.amname WHEN 'gist' THEN substring(array_to_string(cls.reloptions, ',') FROM 'buffering=([a-z]*)') ELSE NULL END, - CASE am.amname WHEN 'gist' THEN 'auto' ELSE NULL END + {% if show_default_values %} + CASE am.amname WHEN 'gist' THEN 'auto' ELSE NULL END + {% else %} + NULL + {% endif %} ) AS buffering, COALESCE( CASE am.amname WHEN 'gin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'fastupdate=([a-z]*)')::boolean ELSE NULL END, - CASE am.amname WHEN 'gin' THEN TRUE ELSE NULL END + {% if show_default_values %} + CASE am.amname WHEN 'gin' THEN TRUE ELSE NULL END + {% else %} + NULL + {% endif %} ) AS fastupdate, COALESCE( CASE am.amname WHEN 'brin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'autosummarize=([a-z]*)')::boolean ELSE NULL END, - CASE am.amname WHEN 'brin' THEN FALSE ELSE NULL END + {% if show_default_values %} + CASE am.amname WHEN 'brin' THEN FALSE ELSE NULL END + {% else %} + NULL + {% endif %} ) AS autosummarize, COALESCE( substring(array_to_string(cls.reloptions, ',') FROM 'lists=([0-9]*)')::int, diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/13_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/13_plus/properties.sql index 2ce7f9d2410..8ba9af1cd2d 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/13_plus/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/13_plus/properties.sql @@ -47,53 +47,83 @@ SELECT DISTINCT ON (cls.relname) -- Options (with defaults per index type) COALESCE( substring(array_to_string(cls.reloptions, ',') FROM 'fillfactor=([0-9]*)')::int, - CASE am.amname - WHEN 'btree' THEN 100 - WHEN 'gist' THEN 90 - ELSE NULL - END + {% if show_default_values %} + CASE am.amname + WHEN 'btree' THEN 90 + WHEN 'gist' THEN 90 + WHEN 'hash' THEN 90 + WHEN 'spgist' THEN 80 + ELSE NULL + END + {% else %} + NULL + {% endif %} ) AS fillfactor, COALESCE( CASE am.amname WHEN 'btree' THEN substring(array_to_string(cls.reloptions, ',') FROM 'deduplicate_items=([a-z]*)')::boolean ELSE NULL END, - CASE am.amname WHEN 'btree' THEN TRUE ELSE NULL END + {% if show_default_values %} + CASE am.amname WHEN 'btree' THEN TRUE ELSE NULL END + {% else %} + NULL + {% endif %} ) AS deduplicate_items, COALESCE( CASE am.amname WHEN 'gin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'gin_pending_list_limit=([0-9]*)')::int ELSE NULL END, - CASE am.amname WHEN 'gin' THEN 4096 * 1024 ELSE NULL END + {% if show_default_values %} + CASE am.amname WHEN 'gin' THEN 4096 * 1024 ELSE NULL END + {% else %} + NULL + {% endif %} ) AS gin_pending_list_limit, COALESCE( CASE am.amname WHEN 'brin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'pages_per_range=([0-9]*)')::int ELSE NULL END, - CASE am.amname WHEN 'brin' THEN 128 ELSE NULL END + {% if show_default_values %} + CASE am.amname WHEN 'brin' THEN 128 ELSE NULL END + {% else %} + NULL + {% endif %} ) AS pages_per_range, COALESCE( CASE am.amname WHEN 'gist' THEN substring(array_to_string(cls.reloptions, ',') FROM 'buffering=([a-z]*)') ELSE NULL END, - CASE am.amname WHEN 'gist' THEN 'auto' ELSE NULL END + {% if show_default_values %} + CASE am.amname WHEN 'gist' THEN 'auto' ELSE NULL END + {% else %} + NULL + {% endif %} ) AS buffering, COALESCE( CASE am.amname WHEN 'gin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'fastupdate=([a-z]*)')::boolean ELSE NULL END, - CASE am.amname WHEN 'gin' THEN TRUE ELSE NULL END + {% if show_default_values %} + CASE am.amname WHEN 'gin' THEN TRUE ELSE NULL END + {% else %} + NULL + {% endif %} ) AS fastupdate, COALESCE( CASE am.amname WHEN 'brin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'autosummarize=([a-z]*)')::boolean ELSE NULL END, - CASE am.amname WHEN 'brin' THEN FALSE ELSE NULL END + {% if show_default_values %} + CASE am.amname WHEN 'brin' THEN FALSE ELSE NULL END + {% else %} + NULL + {% endif %} ) AS autosummarize, COALESCE( substring(array_to_string(cls.reloptions, ',') FROM 'lists=([0-9]*)')::int, diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/15_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/15_plus/properties.sql index 9b9be97c8f5..2c09bf48b30 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/15_plus/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/15_plus/properties.sql @@ -48,53 +48,83 @@ SELECT DISTINCT ON (cls.relname) -- Options (with defaults per index type) COALESCE( substring(array_to_string(cls.reloptions, ',') FROM 'fillfactor=([0-9]*)')::int, - CASE am.amname - WHEN 'btree' THEN 100 - WHEN 'gist' THEN 90 - ELSE NULL - END + {% if show_default_values %} + CASE am.amname + WHEN 'btree' THEN 90 + WHEN 'gist' THEN 90 + WHEN 'hash' THEN 90 + WHEN 'spgist' THEN 80 + ELSE NULL + END + {% else %} + NULL + {% endif %} ) AS fillfactor, COALESCE( CASE am.amname WHEN 'btree' THEN substring(array_to_string(cls.reloptions, ',') FROM 'deduplicate_items=([a-z]*)')::boolean ELSE NULL END, - CASE am.amname WHEN 'btree' THEN TRUE ELSE NULL END + {% if show_default_values %} + CASE am.amname WHEN 'btree' THEN TRUE ELSE NULL END + {% else %} + NULL + {% endif %} ) AS deduplicate_items, COALESCE( CASE am.amname WHEN 'gin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'gin_pending_list_limit=([0-9]*)')::int ELSE NULL END, - CASE am.amname WHEN 'gin' THEN 4096 * 1024 ELSE NULL END + {% if show_default_values %} + CASE am.amname WHEN 'gin' THEN 4096 * 1024 ELSE NULL END + {% else %} + NULL + {% endif %} ) AS gin_pending_list_limit, COALESCE( CASE am.amname WHEN 'brin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'pages_per_range=([0-9]*)')::int ELSE NULL END, - CASE am.amname WHEN 'brin' THEN 128 ELSE NULL END + {% if show_default_values %} + CASE am.amname WHEN 'brin' THEN 128 ELSE NULL END + {% else %} + NULL + {% endif %} ) AS pages_per_range, COALESCE( CASE am.amname WHEN 'gist' THEN substring(array_to_string(cls.reloptions, ',') FROM 'buffering=([a-z]*)') ELSE NULL END, - CASE am.amname WHEN 'gist' THEN 'auto' ELSE NULL END + {% if show_default_values %} + CASE am.amname WHEN 'gist' THEN 'auto' ELSE NULL END + {% else %} + NULL + {% endif %} ) AS buffering, COALESCE( CASE am.amname WHEN 'gin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'fastupdate=([a-z]*)')::boolean ELSE NULL END, - CASE am.amname WHEN 'gin' THEN TRUE ELSE NULL END + {% if show_default_values %} + CASE am.amname WHEN 'gin' THEN TRUE ELSE NULL END + {% else %} + NULL + {% endif %} ) AS fastupdate, COALESCE( CASE am.amname WHEN 'brin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'autosummarize=([a-z]*)')::boolean ELSE NULL END, - CASE am.amname WHEN 'brin' THEN FALSE ELSE NULL END + {% if show_default_values %} + CASE am.amname WHEN 'brin' THEN FALSE ELSE NULL END + {% else %} + NULL + {% endif %} ) AS autosummarize, COALESCE( substring(array_to_string(cls.reloptions, ',') FROM 'lists=([0-9]*)')::int, diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py index 806f5290481..faed5eb605a 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py @@ -730,7 +730,8 @@ def _get_resql_for_table(self, did, scid, tid, data, json_resp, main_sql, main_sql.append(table_sql.strip('\n')) def _get_resql_for_index(self, did, tid, main_sql, json_resp, schema, - table, add_not_exists_clause=False): + table, add_not_exists_clause=False, + show_default_values=True): """ ###################################### # Reverse engineered sql for INDEX @@ -757,7 +758,8 @@ def _get_resql_for_index(self, did, tid, main_sql, json_resp, schema, self.conn, schema=schema, table=table, did=did, tid=tid, idx=row['oid'], datlastsysoid=self._DATABASE_LAST_SYSTEM_OID, template_path=None, with_header=json_resp, - add_not_exists_clause=add_not_exists_clause + add_not_exists_clause=add_not_exists_clause, + show_default_values=show_default_values ) index_sql = "\n" + index_sql @@ -897,7 +899,8 @@ def _get_resql_for_rules(self, tid, main_sql, table, json_resp): main_sql.append(rules_sql) def _get_resql_for_partitions(self, data, rset, json_resp, - diff_partition_sql, main_sql, did): + diff_partition_sql, main_sql, did, + show_default_values): """ ########################################## # Reverse engineered sql for PARTITIONS @@ -1002,8 +1005,10 @@ def _get_resql_for_partitions(self, data, rset, json_resp, partition_sql_arr.append(partition_main_sql) # Get Reverse engineered sql for index - self._get_resql_for_index(did, row['oid'], partition_sql_arr, - json_resp, schema, table) + self._get_resql_for_index( + did, row['oid'], partition_sql_arr, + json_resp, schema, table, + show_default_values=show_default_values) # Get Reverse engineered sql for ROW SECURITY POLICY self._get_resql_for_row_security_policy(scid, row['oid'], @@ -1044,6 +1049,8 @@ def get_reverse_engineered_sql(self, **kwargs): json_resp = kwargs.get('json_resp', True) diff_partition_sql = kwargs.get('diff_partition_sql', False) if_exists_flag = kwargs.get('add_not_exists_clause', False) + show_default_values = kwargs.get( + 'show_default_values_for_indexes', True) # Table & Schema declaration so that we can use them in child nodes schema = data['schema'] @@ -1055,7 +1062,8 @@ def get_reverse_engineered_sql(self, **kwargs): add_not_exists_clause=if_exists_flag) # Get Reverse engineered sql for Table self._get_resql_for_index(did, tid, main_sql, json_resp, schema, - table, add_not_exists_clause=if_exists_flag) + table, add_not_exists_clause=if_exists_flag, + show_default_values=show_default_values) # Get Reverse engineered sql for ROW SECURITY POLICY self._get_resql_for_row_security_policy(scid, tid, json_resp, @@ -1081,7 +1089,8 @@ def get_reverse_engineered_sql(self, **kwargs): return internal_server_error(errormsg=rset) self._get_resql_for_partitions(data, rset, json_resp, - diff_partition_sql, main_sql, did) + diff_partition_sql, main_sql, did, + show_default_values) sql = '\n'.join(main_sql)