Fix high-severity issues: implement SSL and warn on raw-SQL filter
SSL was wired through the UI and ConnectionProfile but never actually
applied in any driver or passed from the connection builder.
- main_window: pass ssl/ssl_ca/ssl_cert/ssl_key from profile into
the driver config dict so drivers can act on them
- MySQL: add ssl={ca,cert,key} to pymysql connect kwargs when enabled
- PostgreSQL: set sslmode=verify-ca (with CA) or require, plus
sslrootcert/sslcert/sslkey when provided
- MSSQL: switch Encrypt=yes + TrustServerCertificate=no when SSL is
on; Encrypt=no + TrustServerCertificate=yes otherwise
- SQLite: no change needed (local file, no network layer)
WHERE filter: add tooltip explicitly labelling the input as raw SQL
so users understand arbitrary expressions are executed directly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -331,9 +331,13 @@ class TableViewer(QWidget):
|
||||
self._filter_input = QLineEdit()
|
||||
self._filter_input.setPlaceholderText("WHERE … (e.g. id > 100)")
|
||||
self._filter_input.setFixedWidth(260)
|
||||
self._filter_input.setToolTip(
|
||||
"Raw SQL — injected directly into WHERE clause.\n"
|
||||
"Examples: id > 100 name LIKE 'A%' status = 'active'"
|
||||
)
|
||||
self._filter_btn = QPushButton("🔍")
|
||||
self._filter_btn.setFixedWidth(34)
|
||||
self._filter_btn.setToolTip("Apply filter")
|
||||
self._filter_btn.setToolTip("Apply filter (raw SQL WHERE clause)")
|
||||
self._filter_btn.clicked.connect(self._apply_filter)
|
||||
self._filter_input.returnPressed.connect(self._apply_filter)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user