v1.8.56: Database Tree Explorer + thread-safe SQL operations

- Add HeidiSQL-style database tree panel (Databases → Tables → Columns)
- Lazy loading with ttk.Treeview, context menus, double-click SELECT TOP 1000
- Fix pymysql thread safety: serialize all DB ops with threading.Lock
- Use lock.acquire(timeout=10) to prevent deadlocks between tree and query threads
- Always reset _executing flag in finally block to prevent stuck queries
- Add _ensure_connected() auto-reconnect on broken connections
- Add sql_client check_connection() null safety
- Add 12 tree-related i18n keys (EN/RU/ZH)
- Clean up old releases

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
chrome-storm-c442
2026-02-25 04:18:45 -05:00
parent ac7e174e41
commit 6f0bfe39f1
7 changed files with 528 additions and 119 deletions

View File

@@ -70,6 +70,8 @@ class SQLClient:
log.info("sql_client: disconnected")
def check_connection(self) -> bool:
if self._conn is None:
return False
try:
cur = self._conn.cursor()
cur.execute("SELECT 1")