sqlbench 0.1.55__tar.gz → 0.1.56__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sqlbench-0.1.55 → sqlbench-0.1.56}/PKG-INFO +1 -1
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/qt/main_window.py +19 -10
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/version.py +1 -1
- {sqlbench-0.1.55 → sqlbench-0.1.56}/.github/workflows/pypi-publish.yml +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/.gitignore +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/CLAUDE.md +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/Makefile +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/PYQT_MIGRATION_FEATURES.md +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/README.md +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/pyproject.toml +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/requirements.txt +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/__init__.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/__main__.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/adapters.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/app.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/database.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/dialogs/__init__.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/dialogs/connection_dialog.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/dialogs/regex_builder_dialog.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/launcher.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/qt/__init__.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/qt/connection_tree.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/qt/dialogs/__init__.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/qt/dialogs/connection_dialog.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/qt/dialogs/query_manager_dialog.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/qt/dialogs/record_viewer_dialog.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/qt/dialogs/regex_builder_dialog.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/qt/dialogs/settings_dialog.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/qt/icons.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/qt/syntax.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/qt/tab_widget.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/qt/tabs/__init__.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/qt/tabs/spool_tab.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/qt/tabs/sql_tab.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/qt/theme.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/resources/db_ibmi.png +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/resources/db_mysql.png +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/resources/db_postgresql.png +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/resources/db_unknown.png +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/resources/sqlbench.png +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/tabs/__init__.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/tabs/spool_tab.py +0 -0
- {sqlbench-0.1.55 → sqlbench-0.1.56}/sqlbench/tabs/sql_tab.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sqlbench
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.56
|
|
4
4
|
Summary: A multi-database SQL workbench with support for IBM i, MySQL, and PostgreSQL
|
|
5
5
|
Project-URL: Homepage, https://github.com/jpsteil/sqlbench
|
|
6
6
|
Project-URL: Repository, https://github.com/jpsteil/sqlbench
|
|
@@ -599,30 +599,39 @@ class MainWindow(QMainWindow):
|
|
|
599
599
|
|
|
600
600
|
def _run_upgrade(self) -> None:
|
|
601
601
|
"""Run pipx upgrade in background."""
|
|
602
|
+
self._upgrade_result = None # (success: bool, message: str)
|
|
603
|
+
|
|
602
604
|
def do_upgrade():
|
|
603
605
|
try:
|
|
604
606
|
result = subprocess.run(
|
|
605
607
|
["pipx", "upgrade", "sqlbench"],
|
|
606
608
|
capture_output=True, text=True)
|
|
607
609
|
if result.returncode == 0:
|
|
608
|
-
|
|
609
|
-
self, "Upgrade Complete",
|
|
610
|
-
"SQLBench has been upgraded.\nPlease restart to use the new version."))
|
|
610
|
+
self._upgrade_result = (True, "SQLBench has been upgraded.\nPlease restart to use the new version.")
|
|
611
611
|
else:
|
|
612
612
|
error = result.stderr or result.stdout or "Unknown error"
|
|
613
|
-
|
|
614
|
-
self, "Upgrade Failed", f"Failed to upgrade:\n{error}"))
|
|
613
|
+
self._upgrade_result = (False, f"Failed to upgrade:\n{error}")
|
|
615
614
|
except FileNotFoundError:
|
|
616
|
-
|
|
617
|
-
self, "Upgrade Failed",
|
|
618
|
-
"pipx not found. Please upgrade manually:\n\npipx upgrade sqlbench"))
|
|
615
|
+
self._upgrade_result = (False, "pipx not found. Please upgrade manually:\n\npipx upgrade sqlbench")
|
|
619
616
|
except Exception as e:
|
|
620
|
-
|
|
621
|
-
|
|
617
|
+
self._upgrade_result = (False, f"Failed to upgrade:\n{e}")
|
|
618
|
+
|
|
619
|
+
def poll_result():
|
|
620
|
+
result = self._upgrade_result
|
|
621
|
+
if result is None:
|
|
622
|
+
QTimer.singleShot(500, poll_result)
|
|
623
|
+
return
|
|
624
|
+
success, message = result
|
|
625
|
+
self.status_bar.showMessage("Upgrade complete" if success else "Upgrade failed", 3000)
|
|
626
|
+
if success:
|
|
627
|
+
QMessageBox.information(self, "Upgrade Complete", message)
|
|
628
|
+
else:
|
|
629
|
+
QMessageBox.warning(self, "Upgrade Failed", message)
|
|
622
630
|
|
|
623
631
|
self.status_bar.showMessage("Upgrading SQLBench...")
|
|
624
632
|
thread = threading.Thread(target=do_upgrade, daemon=True)
|
|
625
633
|
thread.start()
|
|
634
|
+
QTimer.singleShot(2000, poll_result)
|
|
626
635
|
|
|
627
636
|
def set_status(self, message: str, timeout: int = 0) -> None:
|
|
628
637
|
"""Set status bar message."""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|