sqlbench 0.1.59__tar.gz → 0.1.60__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.
Files changed (43) hide show
  1. {sqlbench-0.1.59 → sqlbench-0.1.60}/PKG-INFO +1 -1
  2. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/qt/main_window.py +23 -1
  3. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/version.py +1 -1
  4. {sqlbench-0.1.59 → sqlbench-0.1.60}/.github/workflows/pypi-publish.yml +0 -0
  5. {sqlbench-0.1.59 → sqlbench-0.1.60}/.gitignore +0 -0
  6. {sqlbench-0.1.59 → sqlbench-0.1.60}/CLAUDE.md +0 -0
  7. {sqlbench-0.1.59 → sqlbench-0.1.60}/Makefile +0 -0
  8. {sqlbench-0.1.59 → sqlbench-0.1.60}/PYQT_MIGRATION_FEATURES.md +0 -0
  9. {sqlbench-0.1.59 → sqlbench-0.1.60}/README.md +0 -0
  10. {sqlbench-0.1.59 → sqlbench-0.1.60}/pyproject.toml +0 -0
  11. {sqlbench-0.1.59 → sqlbench-0.1.60}/requirements.txt +0 -0
  12. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/__init__.py +0 -0
  13. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/__main__.py +0 -0
  14. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/adapters.py +0 -0
  15. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/app.py +0 -0
  16. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/database.py +0 -0
  17. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/dialogs/__init__.py +0 -0
  18. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/dialogs/connection_dialog.py +0 -0
  19. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/dialogs/regex_builder_dialog.py +0 -0
  20. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/launcher.py +0 -0
  21. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/qt/__init__.py +0 -0
  22. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/qt/connection_tree.py +0 -0
  23. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/qt/dialogs/__init__.py +0 -0
  24. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/qt/dialogs/connection_dialog.py +0 -0
  25. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/qt/dialogs/query_manager_dialog.py +0 -0
  26. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/qt/dialogs/record_viewer_dialog.py +0 -0
  27. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/qt/dialogs/regex_builder_dialog.py +0 -0
  28. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/qt/dialogs/settings_dialog.py +0 -0
  29. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/qt/icons.py +0 -0
  30. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/qt/syntax.py +0 -0
  31. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/qt/tab_widget.py +0 -0
  32. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/qt/tabs/__init__.py +0 -0
  33. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/qt/tabs/spool_tab.py +0 -0
  34. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/qt/tabs/sql_tab.py +0 -0
  35. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/qt/theme.py +0 -0
  36. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/resources/db_ibmi.png +0 -0
  37. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/resources/db_mysql.png +0 -0
  38. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/resources/db_postgresql.png +0 -0
  39. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/resources/db_unknown.png +0 -0
  40. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/resources/sqlbench.png +0 -0
  41. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/tabs/__init__.py +0 -0
  42. {sqlbench-0.1.59 → sqlbench-0.1.60}/sqlbench/tabs/spool_tab.py +0 -0
  43. {sqlbench-0.1.59 → sqlbench-0.1.60}/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.59
3
+ Version: 0.1.60
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
@@ -633,7 +633,12 @@ class MainWindow(QMainWindow):
633
633
  success, message = result
634
634
  self.status_bar.showMessage("Upgrade complete" if success else "Upgrade failed", 3000)
635
635
  if success:
636
- QMessageBox.information(self, "Upgrade Complete", message)
636
+ result = QMessageBox.question(
637
+ self, "Upgrade Complete",
638
+ "SQLBench has been upgraded.\n\nWould you like to restart now?",
639
+ QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No)
640
+ if result == QMessageBox.StandardButton.Yes:
641
+ self._restart_app()
637
642
  else:
638
643
  QMessageBox.warning(self, "Upgrade Failed", message)
639
644
 
@@ -642,6 +647,23 @@ class MainWindow(QMainWindow):
642
647
  thread.start()
643
648
  QTimer.singleShot(2000, poll_result)
644
649
 
650
+ def _restart_app(self) -> None:
651
+ """Restart the application."""
652
+ import sys
653
+ import os
654
+
655
+ # Save window state
656
+ self._save_state()
657
+
658
+ # Start new process before closing
659
+ if sys.argv[0].endswith('sqlbench') or 'sqlbench' in sys.argv[0]:
660
+ subprocess.Popen([sys.argv[0]])
661
+ else:
662
+ subprocess.Popen([sys.executable, '-m', 'sqlbench'])
663
+
664
+ self.close()
665
+ os._exit(0)
666
+
645
667
  def set_status(self, message: str, timeout: int = 0) -> None:
646
668
  """Set status bar message."""
647
669
  self.status_bar.showMessage(message, timeout)
@@ -4,7 +4,7 @@ import threading
4
4
  import urllib.request
5
5
  import json
6
6
 
7
- __version__ = "0.1.59"
7
+ __version__ = "0.1.60"
8
8
 
9
9
 
10
10
  def get_installed_version():
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes