Skip to content

Commit 8750858

Browse files
Changed logic to not return any hardcoded default value.
1 parent 0ab5a6f commit 8750858

File tree

7 files changed

+36
-276
lines changed

7 files changed

+36
-276
lines changed

web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1440,7 +1440,7 @@ def sql(self, gid, sid, did, scid, tid):
14401440

14411441
return BaseTableView.get_reverse_engineered_sql(
14421442
self, did=did, scid=scid, tid=tid, main_sql=main_sql, data=data,
1443-
add_not_exists_clause=True, show_default_values_for_indexes=False)
1443+
add_not_exists_clause=True)
14441444

14451445
@BaseTableView.check_precondition
14461446
def select_sql(self, gid, sid, did, scid, tid):

web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/__init__.py

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -505,23 +505,19 @@ def properties(self, gid, sid, did, scid, tid, idx):
505505
status=200
506506
)
507507

508-
def _fetch_properties(self, did, tid, idx, show_default_values=True):
508+
def _fetch_properties(self, did, tid, idx):
509509
"""
510510
This function is used to fetch the properties of specified object.
511511
:param did:
512512
:param tid:
513513
:param idx:
514-
:param show_default_values:
515-
Whether to show default values in CASE statements
516514
:return:
517515
"""
518516
SQL = render_template(
519517
"/".join([self.template_path, self._PROPERTIES_SQL]),
520518
did=did, tid=tid, idx=idx,
521519
datlastsysoid=self._DATABASE_LAST_SYSTEM_OID,
522-
show_sys_objects=self.blueprint.show_system_objects,
523-
show_default_values=show_default_values
524-
)
520+
show_sys_objects=self.blueprint.show_system_objects)
525521

526522
status, res = self.conn.execute_dict(SQL)
527523
if not status:
@@ -727,9 +723,7 @@ def delete(self, gid, sid, did, scid, tid, **kwargs):
727723
"/".join([self.template_path, self._PROPERTIES_SQL]),
728724
did=did, tid=tid, idx=idx,
729725
datlastsysoid=self._DATABASE_LAST_SYSTEM_OID,
730-
show_sys_objects=self.blueprint.show_system_objects,
731-
show_default_values=True
732-
)
726+
show_sys_objects=self.blueprint.show_system_objects)
733727

734728
status, res = self.conn.execute_dict(SQL)
735729
if not status:
@@ -883,9 +877,7 @@ def sql(self, gid, sid, did, scid, tid, idx):
883877
self.conn, schema=self.schema, table=self.table, did=did,
884878
tid=tid, idx=idx, datlastsysoid=self._DATABASE_LAST_SYSTEM_OID,
885879
add_not_exists_clause=True,
886-
show_sys_objects=self.blueprint.show_system_objects,
887-
show_default_values=False
888-
)
880+
show_sys_objects=self.blueprint.show_system_objects)
889881

890882
return ajax_response(response=SQL)
891883

@@ -1015,9 +1007,7 @@ def statistics(self, gid, sid, did, scid, tid, idx=None):
10151007
"/".join([self.template_path, self._PROPERTIES_SQL]),
10161008
did=did, tid=tid, idx=idx,
10171009
datlastsysoid=self._DATABASE_LAST_SYSTEM_OID,
1018-
show_sys_objects=self.blueprint.show_system_objects,
1019-
show_default_values=True
1020-
)
1010+
show_sys_objects=self.blueprint.show_system_objects)
10211011
status, res = self.conn.execute_dict(SQL)
10221012
if not status:
10231013
return internal_server_error(errormsg=res)

web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/utils.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -314,13 +314,11 @@ def get_reverse_engineered_sql(conn, **kwargs):
314314
with_header = kwargs.get('with_header', True)
315315
if_exists_flag = kwargs.get('add_not_exists_clause', False)
316316
show_sys_obj = kwargs.get('show_sys_objects', False)
317-
show_default_values = kwargs.get('show_default_values', True)
318317

319318
SQL = render_template("/".join([template_path, 'properties.sql']),
320319
did=did, tid=tid, idx=idx,
321320
datlastsysoid=datlastsysoid,
322-
show_sys_objects=show_sys_obj,
323-
show_default_values=show_default_values)
321+
show_sys_objects=show_sys_obj)
324322

325323
status, res = conn.execute_dict(SQL)
326324
if not status:

web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/11_plus/properties.sql

Lines changed: 7 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -38,80 +38,13 @@ SELECT DISTINCT ON (cls.relname)
3838
EXISTS (
3939
SELECT 1 FROM pg_inherits inh WHERE inh.inhrelid = cls.oid
4040
) AS is_inherited,
41-
-- Options (with defaults per index type)
42-
COALESCE(
43-
substring(array_to_string(cls.reloptions, ',') FROM 'fillfactor=([0-9]*)')::int,
44-
{% if show_default_values %}
45-
CASE am.amname
46-
WHEN 'btree' THEN 90
47-
WHEN 'gist' THEN 90
48-
WHEN 'hash' THEN 90
49-
WHEN 'spgist' THEN 80
50-
ELSE NULL
51-
END
52-
{% else %}
53-
NULL
54-
{% endif %}
55-
) AS fillfactor,
56-
COALESCE(
57-
CASE am.amname
58-
WHEN 'gin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'gin_pending_list_limit=([0-9]*)')::int
59-
ELSE NULL
60-
END,
61-
{% if show_default_values %}
62-
CASE am.amname WHEN 'gin' THEN 4096 * 1024 ELSE NULL END
63-
{% else %}
64-
NULL
65-
{% endif %}
66-
) AS gin_pending_list_limit,
67-
COALESCE(
68-
CASE am.amname
69-
WHEN 'brin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'pages_per_range=([0-9]*)')::int
70-
ELSE NULL
71-
END,
72-
{% if show_default_values %}
73-
CASE am.amname WHEN 'brin' THEN 128 ELSE NULL END
74-
{% else %}
75-
NULL
76-
{% endif %}
77-
) AS pages_per_range,
78-
COALESCE(
79-
CASE am.amname
80-
WHEN 'gist' THEN substring(array_to_string(cls.reloptions, ',') FROM 'buffering=([a-z]*)')
81-
ELSE NULL
82-
END,
83-
{% if show_default_values %}
84-
CASE am.amname WHEN 'gist' THEN 'auto' ELSE NULL END
85-
{% else %}
86-
NULL
87-
{% endif %}
88-
) AS buffering,
89-
COALESCE(
90-
CASE am.amname
91-
WHEN 'gin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'fastupdate=([a-z]*)')::boolean
92-
ELSE NULL
93-
END,
94-
{% if show_default_values %}
95-
CASE am.amname WHEN 'gin' THEN TRUE ELSE NULL END
96-
{% else %}
97-
NULL
98-
{% endif %}
99-
) AS fastupdate,
100-
COALESCE(
101-
CASE am.amname
102-
WHEN 'brin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'autosummarize=([a-z]*)')::boolean
103-
ELSE NULL
104-
END,
105-
{% if show_default_values %}
106-
CASE am.amname WHEN 'brin' THEN FALSE ELSE NULL END
107-
{% else %}
108-
NULL
109-
{% endif %}
110-
) AS autosummarize,
111-
COALESCE(
112-
substring(array_to_string(cls.reloptions, ',') FROM 'lists=([0-9]*)')::int,
113-
NULL
114-
) AS lists
41+
substring(array_to_string(cls.reloptions, ',') FROM 'fillfactor=([0-9]*)')::int AS fillfactor,
42+
substring(array_to_string(cls.reloptions, ',') FROM 'gin_pending_list_limit=([0-9]*)')::int AS gin_pending_list_limit,
43+
substring(array_to_string(cls.reloptions, ',') FROM 'pages_per_range=([0-9]*)')::int AS pages_per_range,
44+
substring(array_to_string(cls.reloptions, ',') FROM 'buffering=([a-z]*)') AS buffering,
45+
substring(array_to_string(cls.reloptions, ',') FROM 'fastupdate=([a-z]*)')::boolean AS fastupdate,
46+
substring(array_to_string(cls.reloptions, ',') FROM 'autosummarize=([a-z]*)')::boolean AS autosummarize,
47+
substring(array_to_string(cls.reloptions, ',') FROM 'lists=([0-9]*)')::int AS lists
11548

11649
{% if datlastsysoid %}
11750
, (cls.oid <= {{ datlastsysoid }}::oid) AS is_sys_idx

web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/13_plus/properties.sql

Lines changed: 8 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -45,90 +45,14 @@ SELECT DISTINCT ON (cls.relname)
4545
SELECT 1 FROM pg_inherits inh WHERE inh.inhrelid = cls.oid
4646
) AS is_inherited,
4747
-- Options (with defaults per index type)
48-
COALESCE(
49-
substring(array_to_string(cls.reloptions, ',') FROM 'fillfactor=([0-9]*)')::int,
50-
{% if show_default_values %}
51-
CASE am.amname
52-
WHEN 'btree' THEN 90
53-
WHEN 'gist' THEN 90
54-
WHEN 'hash' THEN 90
55-
WHEN 'spgist' THEN 80
56-
ELSE NULL
57-
END
58-
{% else %}
59-
NULL
60-
{% endif %}
61-
) AS fillfactor,
62-
COALESCE(
63-
CASE am.amname
64-
WHEN 'btree' THEN substring(array_to_string(cls.reloptions, ',') FROM 'deduplicate_items=([a-z]*)')::boolean
65-
ELSE NULL
66-
END,
67-
{% if show_default_values %}
68-
CASE am.amname WHEN 'btree' THEN TRUE ELSE NULL END
69-
{% else %}
70-
NULL
71-
{% endif %}
72-
) AS deduplicate_items,
73-
COALESCE(
74-
CASE am.amname
75-
WHEN 'gin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'gin_pending_list_limit=([0-9]*)')::int
76-
ELSE NULL
77-
END,
78-
{% if show_default_values %}
79-
CASE am.amname WHEN 'gin' THEN 4096 * 1024 ELSE NULL END
80-
{% else %}
81-
NULL
82-
{% endif %}
83-
) AS gin_pending_list_limit,
84-
COALESCE(
85-
CASE am.amname
86-
WHEN 'brin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'pages_per_range=([0-9]*)')::int
87-
ELSE NULL
88-
END,
89-
{% if show_default_values %}
90-
CASE am.amname WHEN 'brin' THEN 128 ELSE NULL END
91-
{% else %}
92-
NULL
93-
{% endif %}
94-
) AS pages_per_range,
95-
COALESCE(
96-
CASE am.amname
97-
WHEN 'gist' THEN substring(array_to_string(cls.reloptions, ',') FROM 'buffering=([a-z]*)')
98-
ELSE NULL
99-
END,
100-
{% if show_default_values %}
101-
CASE am.amname WHEN 'gist' THEN 'auto' ELSE NULL END
102-
{% else %}
103-
NULL
104-
{% endif %}
105-
) AS buffering,
106-
COALESCE(
107-
CASE am.amname
108-
WHEN 'gin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'fastupdate=([a-z]*)')::boolean
109-
ELSE NULL
110-
END,
111-
{% if show_default_values %}
112-
CASE am.amname WHEN 'gin' THEN TRUE ELSE NULL END
113-
{% else %}
114-
NULL
115-
{% endif %}
116-
) AS fastupdate,
117-
COALESCE(
118-
CASE am.amname
119-
WHEN 'brin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'autosummarize=([a-z]*)')::boolean
120-
ELSE NULL
121-
END,
122-
{% if show_default_values %}
123-
CASE am.amname WHEN 'brin' THEN FALSE ELSE NULL END
124-
{% else %}
125-
NULL
126-
{% endif %}
127-
) AS autosummarize,
128-
COALESCE(
129-
substring(array_to_string(cls.reloptions, ',') FROM 'lists=([0-9]*)')::int,
130-
NULL
131-
) AS lists
48+
substring(array_to_string(cls.reloptions, ',') FROM 'fillfactor=([0-9]*)')::int AS fillfactor,
49+
substring(array_to_string(cls.reloptions, ',') FROM 'deduplicate_items=([a-z]*)')::boolean AS deduplicate_items,
50+
substring(array_to_string(cls.reloptions, ',') FROM 'gin_pending_list_limit=([0-9]*)')::int AS gin_pending_list_limit,
51+
substring(array_to_string(cls.reloptions, ',') FROM 'pages_per_range=([0-9]*)')::int AS pages_per_range,
52+
substring(array_to_string(cls.reloptions, ',') FROM 'buffering=([a-z]*)') AS buffering,
53+
substring(array_to_string(cls.reloptions, ',') FROM 'fastupdate=([a-z]*)') AS fastupdate,
54+
substring(array_to_string(cls.reloptions, ',') FROM 'autosummarize=([a-z]*)')::boolean AS autosummarize,
55+
substring(array_to_string(cls.reloptions, ',') FROM 'lists=([0-9]*)')::int AS lists
13256
{% if datlastsysoid %}
13357
, (cls.oid <= {{ datlastsysoid }}::oid) AS is_sys_idx
13458
{% endif %}

web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/indexes/sql/15_plus/properties.sql

Lines changed: 8 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -46,90 +46,14 @@ SELECT DISTINCT ON (cls.relname)
4646
SELECT 1 FROM pg_inherits inh WHERE inh.inhrelid = cls.oid
4747
) AS is_inherited,
4848
-- Options (with defaults per index type)
49-
COALESCE(
50-
substring(array_to_string(cls.reloptions, ',') FROM 'fillfactor=([0-9]*)')::int,
51-
{% if show_default_values %}
52-
CASE am.amname
53-
WHEN 'btree' THEN 90
54-
WHEN 'gist' THEN 90
55-
WHEN 'hash' THEN 90
56-
WHEN 'spgist' THEN 80
57-
ELSE NULL
58-
END
59-
{% else %}
60-
NULL
61-
{% endif %}
62-
) AS fillfactor,
63-
COALESCE(
64-
CASE am.amname
65-
WHEN 'btree' THEN substring(array_to_string(cls.reloptions, ',') FROM 'deduplicate_items=([a-z]*)')::boolean
66-
ELSE NULL
67-
END,
68-
{% if show_default_values %}
69-
CASE am.amname WHEN 'btree' THEN TRUE ELSE NULL END
70-
{% else %}
71-
NULL
72-
{% endif %}
73-
) AS deduplicate_items,
74-
COALESCE(
75-
CASE am.amname
76-
WHEN 'gin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'gin_pending_list_limit=([0-9]*)')::int
77-
ELSE NULL
78-
END,
79-
{% if show_default_values %}
80-
CASE am.amname WHEN 'gin' THEN 4096 * 1024 ELSE NULL END
81-
{% else %}
82-
NULL
83-
{% endif %}
84-
) AS gin_pending_list_limit,
85-
COALESCE(
86-
CASE am.amname
87-
WHEN 'brin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'pages_per_range=([0-9]*)')::int
88-
ELSE NULL
89-
END,
90-
{% if show_default_values %}
91-
CASE am.amname WHEN 'brin' THEN 128 ELSE NULL END
92-
{% else %}
93-
NULL
94-
{% endif %}
95-
) AS pages_per_range,
96-
COALESCE(
97-
CASE am.amname
98-
WHEN 'gist' THEN substring(array_to_string(cls.reloptions, ',') FROM 'buffering=([a-z]*)')
99-
ELSE NULL
100-
END,
101-
{% if show_default_values %}
102-
CASE am.amname WHEN 'gist' THEN 'auto' ELSE NULL END
103-
{% else %}
104-
NULL
105-
{% endif %}
106-
) AS buffering,
107-
COALESCE(
108-
CASE am.amname
109-
WHEN 'gin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'fastupdate=([a-z]*)')::boolean
110-
ELSE NULL
111-
END,
112-
{% if show_default_values %}
113-
CASE am.amname WHEN 'gin' THEN TRUE ELSE NULL END
114-
{% else %}
115-
NULL
116-
{% endif %}
117-
) AS fastupdate,
118-
COALESCE(
119-
CASE am.amname
120-
WHEN 'brin' THEN substring(array_to_string(cls.reloptions, ',') FROM 'autosummarize=([a-z]*)')::boolean
121-
ELSE NULL
122-
END,
123-
{% if show_default_values %}
124-
CASE am.amname WHEN 'brin' THEN FALSE ELSE NULL END
125-
{% else %}
126-
NULL
127-
{% endif %}
128-
) AS autosummarize,
129-
COALESCE(
130-
substring(array_to_string(cls.reloptions, ',') FROM 'lists=([0-9]*)')::int,
131-
NULL
132-
) AS lists
49+
substring(array_to_string(cls.reloptions, ',') FROM 'fillfactor=([0-9]*)')::int AS fillfactor,
50+
substring(array_to_string(cls.reloptions, ',') FROM 'deduplicate_items=([a-z]*)')::boolean AS deduplicate_items,
51+
substring(array_to_string(cls.reloptions, ',') FROM 'gin_pending_list_limit=([0-9]*)')::int AS gin_pending_list_limit,
52+
substring(array_to_string(cls.reloptions, ',') FROM 'pages_per_range=([0-9]*)')::int AS pages_per_range,
53+
substring(array_to_string(cls.reloptions, ',') FROM 'buffering=([a-z]*)') AS buffering,
54+
substring(array_to_string(cls.reloptions, ',') FROM 'fastupdate=([a-z]*)')::boolean AS fastupdate,
55+
substring(array_to_string(cls.reloptions, ',') FROM 'autosummarize=([a-z]*)')::boolean AS autosummarize,
56+
substring(array_to_string(cls.reloptions, ',') FROM 'lists=([0-9]*)')::int AS lists
13357
{% if datlastsysoid %}
13458
, (cls.oid <= {{ datlastsysoid }}::oid) AS is_sys_idx
13559
{% endif %}

0 commit comments

Comments
 (0)