Skip to content

Commit 15b34b5

Browse files
Merge branch 'master' into fix/9699-middle-click-tab
2 parents d6d0b2c + 9bb9636 commit 15b34b5

59 files changed

Lines changed: 12639 additions & 6414 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/en_US/release_notes_9_14.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,10 @@ Bug fixes
3535
| `Issue #9279 <https://github.com/pgadmin-org/pgadmin4/issues/9279>`_ - Fixed an issue where OAuth2 authentication fails with 'object has no attribute' if OAUTH2_AUTO_CREATE_USER is False.
3636
| `Issue #9392 <https://github.com/pgadmin-org/pgadmin4/issues/9392>`_ - Ensure that the Geometry Viewer refreshes when re-running queries or switching geometry columns, preventing stale data from being displayed.
3737
| `Issue #9457 <https://github.com/pgadmin-org/pgadmin4/issues/9457>`_ - Fixed Process Watcher garbled text on Windows with non-UTF-8 locales.
38+
| `Issue #9570 <https://github.com/pgadmin-org/pgadmin4/issues/9570>`_ - Fixed an issue where ALT+F5 for executing a query in the Query Tool shows a crosshair cursor icon for rectangular selection.
39+
| `Issue #9648 <https://github.com/pgadmin-org/pgadmin4/issues/9648>`_ - Fixed an issue where the default fillfactor value for B-tree indexes was incorrect.
3840
| `Issue #9694 <https://github.com/pgadmin-org/pgadmin4/issues/9694>`_ - Fixed an issue where AI Reports are grayed out after setting an API key by auto-selecting the default provider.
41+
| `Issue #9696 <https://github.com/pgadmin-org/pgadmin4/issues/9696>`_ - Fixed an issue where AI Assistant does not notify that No API Key or Provider is Set.
3942
| `Issue #9702 <https://github.com/pgadmin-org/pgadmin4/issues/9702>`_ - Fixed misleading AI activity messages that could be mistaken for actual database operations.
4043
| `Issue #9719 <https://github.com/pgadmin-org/pgadmin4/issues/9719>`_ - Fixed an issue where AI Reports fail with OpenAI models that do not support the temperature parameter.
4144
| `Issue #9721 <https://github.com/pgadmin-org/pgadmin4/issues/9721>`_ - Fixed an issue where permissions page is not completely accessible on full scroll.
@@ -45,3 +48,4 @@ Bug fixes
4548
| `Issue #9736 <https://github.com/pgadmin-org/pgadmin4/issues/9736>`_ - Fix an issue where the AI Assistant was not retaining conversation context between messages, with chat history compaction to manage token budgets.
4649
| `Issue #9740 <https://github.com/pgadmin-org/pgadmin4/issues/9740>`_ - Fixed an issue where the AI Assistant input textbox sometimes swallows the first character of input.
4750
| `Issue #9758 <https://github.com/pgadmin-org/pgadmin4/issues/9758>`_ - Clarify where the LLM API key files should be.
51+
| `Issue #9789 <https://github.com/pgadmin-org/pgadmin4/issues/9789>`_ - Fixed an issue where the Query tool kept prompting for a password when using a shared server.

web/pgadmin/browser/__init__.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,9 @@ def utils():
494494
except Exception:
495495
pg_libpq_version = 0
496496

497+
# Check if LLM features are enabled (system-level AND provider configured)
498+
from pgadmin.llm.utils import is_llm_enabled
499+
497500
for submodule in current_blueprint.submodules:
498501
snippets.extend(submodule.jssnippets)
499502

@@ -538,7 +541,7 @@ def utils():
538541
"Administrator") else restricted_shared_storage_list,
539542
enable_server_passexec_cmd=config.ENABLE_SERVER_PASS_EXEC_CMD,
540543
max_server_tags_allowed=config.MAX_SERVER_TAGS_ALLOWED,
541-
llm_enabled=config.LLM_ENABLED,
544+
llm_enabled=is_llm_enabled(),
542545
), 200)
543546
response.headers['Content-Type'] = MIMETYPE_APP_JS
544547
response.headers['Cache-Control'] = NO_CACHE_CONTROL

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

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -517,8 +517,7 @@ def _fetch_properties(self, did, tid, idx):
517517
"/".join([self.template_path, self._PROPERTIES_SQL]),
518518
did=did, tid=tid, idx=idx,
519519
datlastsysoid=self._DATABASE_LAST_SYSTEM_OID,
520-
show_sys_objects=self.blueprint.show_system_objects
521-
)
520+
show_sys_objects=self.blueprint.show_system_objects)
522521

523522
status, res = self.conn.execute_dict(SQL)
524523
if not status:
@@ -724,8 +723,7 @@ def delete(self, gid, sid, did, scid, tid, **kwargs):
724723
"/".join([self.template_path, self._PROPERTIES_SQL]),
725724
did=did, tid=tid, idx=idx,
726725
datlastsysoid=self._DATABASE_LAST_SYSTEM_OID,
727-
show_sys_objects=self.blueprint.show_system_objects
728-
)
726+
show_sys_objects=self.blueprint.show_system_objects)
729727

730728
status, res = self.conn.execute_dict(SQL)
731729
if not status:
@@ -879,8 +877,7 @@ def sql(self, gid, sid, did, scid, tid, idx):
879877
self.conn, schema=self.schema, table=self.table, did=did,
880878
tid=tid, idx=idx, datlastsysoid=self._DATABASE_LAST_SYSTEM_OID,
881879
add_not_exists_clause=True,
882-
show_sys_objects=self.blueprint.show_system_objects
883-
)
880+
show_sys_objects=self.blueprint.show_system_objects)
884881

885882
return ajax_response(response=SQL)
886883

@@ -1010,8 +1007,7 @@ def statistics(self, gid, sid, did, scid, tid, idx=None):
10101007
"/".join([self.template_path, self._PROPERTIES_SQL]),
10111008
did=did, tid=tid, idx=idx,
10121009
datlastsysoid=self._DATABASE_LAST_SYSTEM_OID,
1013-
show_sys_objects=self.blueprint.show_system_objects
1014-
)
1010+
show_sys_objects=self.blueprint.show_system_objects)
10151011
status, res = self.conn.execute_dict(SQL)
10161012
if not status:
10171013
return internal_server_error(errormsg=res)

web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/11_plus/alter_reset_fillfactor_cluster.sql

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx1_$%{}[]()&*^!@""'`\/#"
66
ON public.test_table_for_indexes USING btree
77
(id DESC NULLS FIRST, name COLLATE pg_catalog."POSIX" text_pattern_ops DESC NULLS FIRST)
88
INCLUDE(name, id)
9-
WITH (fillfactor=100)
109
TABLESPACE pg_default;
1110

1211
COMMENT ON INDEX public."Idx1_$%{}[]()&*^!@""'`\/#"

web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/11_plus/create_btree_desc_null_first.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx_$%{}[]()&*^!@""'`\/#"
66
ON public.test_table_for_indexes USING btree
77
(id DESC NULLS FIRST, name COLLATE pg_catalog."POSIX" text_pattern_ops DESC NULLS FIRST)
88
INCLUDE(name, id)
9-
WITH (fillfactor=100)
9+
WITH (fillfactor=90)
1010
TABLESPACE pg_default;

web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/alter_expr_statistics.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx3_$%{}[]()&*^!@""'`\/#"
66
ON public.test_table_for_indexes USING btree
77
(id ASC NULLS LAST, lower(name) COLLATE pg_catalog."POSIX" text_pattern_ops ASC NULLS LAST)
88
INCLUDE(name, id)
9-
WITH (fillfactor=10, deduplicate_items=True)
9+
WITH (fillfactor=10)
1010
TABLESPACE pg_default
1111
WHERE id < 100;
1212

web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/alter_name_fillfactor_comment.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx1_$%{}[]()&*^!@""'`\/#"
66
ON public.test_table_for_indexes USING btree
77
(id DESC NULLS FIRST, name COLLATE pg_catalog."POSIX" text_pattern_ops DESC NULLS FIRST)
88
INCLUDE(name, id)
9-
WITH (fillfactor=10, deduplicate_items=True)
9+
WITH (fillfactor=10)
1010
TABLESPACE pg_default;
1111

1212
ALTER TABLE IF EXISTS public.test_table_for_indexes

web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/alter_reset_fillfactor_cluster.sql

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx1_$%{}[]()&*^!@""'`\/#"
66
ON public.test_table_for_indexes USING btree
77
(id DESC NULLS FIRST, name COLLATE pg_catalog."POSIX" text_pattern_ops DESC NULLS FIRST)
88
INCLUDE(name, id)
9-
WITH (fillfactor=100, deduplicate_items=True)
109
TABLESPACE pg_default;
1110

1211
COMMENT ON INDEX public."Idx1_$%{}[]()&*^!@""'`\/#"

web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/create_btree_desc_null_first.sql

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx_$%{}[]()&*^!@""'`\/#"
66
ON public.test_table_for_indexes USING btree
77
(id DESC NULLS FIRST, name COLLATE pg_catalog."POSIX" text_pattern_ops DESC NULLS FIRST)
88
INCLUDE(name, id)
9-
WITH (fillfactor=100, deduplicate_items=True)
109
TABLESPACE pg_default;

web/pgadmin/browser/server_groups/servers/databases/schemas/tables/indexes/tests/13_plus/create_btree_expr_asc_null_last.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ CREATE UNIQUE INDEX IF NOT EXISTS "Idx3_$%{}[]()&*^!@""'`\/#"
66
ON public.test_table_for_indexes USING btree
77
(id ASC NULLS LAST, lower(name) COLLATE pg_catalog."POSIX" text_pattern_ops ASC NULLS LAST)
88
INCLUDE(name, id)
9-
WITH (fillfactor=10, deduplicate_items=True)
9+
WITH (fillfactor=10)
1010
TABLESPACE pg_default
1111
WHERE id < 100;
1212

0 commit comments

Comments
 (0)