Changelog¶
Sui 0.75Z¶
Full details: ReleaseNotes-0.75Z.md
- Mainframe integration (Zowe / z/OSMF) — Zowe Connection Manager, Open Mainframe Dataset, Save Query to Mainframe (formatted and wrapped to 72 columns) and the ISPF 3.4-style Mainframe Explorer. Requires Java 11+ and the optional Zui.jar; the menu items are hidden otherwise
- Query Result window: save result to a mainframe dataset as CSV
- Zowe TLS: certificate source WINDOWS-ROOT / JAVA / CUSTOM truststore, plus a Validate TLS certificate toggle
- Connection Manager: credential groups. Aliases that share a userid/password get credentials filled in after the first connect in the group. New Apply button; Delete now removes the connection immediately
- Google BigQuery JDBC driver (BigQuery-Google) bundled; no external JAR needed
- Maven build profiles full / nobq / nodb2 / minimal; Db2 JCC is bundled in full; BigQuery driver's transitive dependencies pinned to patched versions (jackson 2.22.3, httpclient5 5.6.3)
- DB2 → BigQuery converter: pagination, TO_CHAR/TO_DATE/TO_NUMBER, SUBSTRING … FROM, REGEXP_*, POSITION, BIT*, explicit DISTINCT on set operators, and a CTE column-list rewrite that no longer needs a parser
- Ext Format SQL: new Max output line length wrapping (SUI.FMT2.MAXLINELEN)
- CSV Compare: numbers compare by value (1.50 = 1.5)
- Query Result window: Ctrl+click non-contiguous selection; Transpose selected rows replaces the mark-row step
- Query editor right-click: Show/Hide toggles for SQL Object Tree, Query Tree, Sheet Overview, Query Toolbar and Query Tabs
- Main toolbar: new Help (i) button with links to all help pages
- Bug fix: the main window always appears at startup; auto-login connects in the background, so an unreachable database no longer blocks startup
- Startup timing checkpoints in the System Log (SUI.LOGSTARTUPTIMING=N turns them off)
- Bug fix: Undo/Redo no longer stores highlight colour changes or leaks across sheets
- Bug fix: line-number gutter clipping and alignment
- Bug fix: Connection Manager Group field showed the previous connection's group
- DB2SQLCA uses reflection, so builds without the Db2 driver work
- Version bump 0.75X → 0.75Z
Sui 0.75Y¶
Full details: ReleaseNotes-0.75Y.md - CSV File Compare (Tools → Compare CSV Files…) — streams two CSV files of any size into the DiffRep view - DiffRep: Test Report tab (Markdown, save/copy) and Open in query view on the column summary - Main window status bar shows rows / status / duration of the last query; QueryBox history shows run stats - Query Monitor records exported file paths; buffer raised from 100 to 500 - Bug fixes: closed tabbed result windows no longer appear in the diff picker; NPE in QueryBox navigation
Sui 0.75X¶
Full details: ReleaseNotes-0.75X.md
- #URL= accepts a connection alias as well as a full JDBC URL
- Query Result window: List unique values on the column header menu
- Security: OS command injection (CWE-78) removed from file launch/delete (SafeExec)
- Bug fixes: reordering sheets no longer corrupts sheet content; drag-reorder is disabled while the sheet list is sorted; Add/Remove/Replace Schema skip CTE names; help popups readable in all themes
- Stale BigQuery connections are evicted while idle
- Docs: SQL Server sections in ConnManager.md
Sui 0.75V¶
- Query Result window: diff highlight — Ctrl+H highlights row differences across all selected rows (anchor = first selected column), Ctrl+Shift+H highlights column differences across all selected columns (anchor = first selected row), Ctrl+R clears; colours adapt to dark/light theme
- Query Result window: Transpose/compare on value (Ctrl+Shift+V) — transposes all rows where the selected column matches the clicked cell value
- Query Result window: F3 closes the current window or tab in both free-floating and tabbed mode
- Query Result window: Copy selected data now includes column headers as first row when Hdr is checked (consistent with CSV and XLS export)
- Query Result window: keyboard shortcuts (Ctrl+D, Ctrl+F, Ctrl+G, Ctrl+Shift+F, Ctrl+Shift+V, Ctrl+H, Ctrl+Shift+H, Ctrl+R) now appear as accelerators in the right-click context menu
- Tabbed results: active tab label shown in bold; row-limit warning tabs remain bold regardless
- Replace Schema… added to the right-click editor menu and to the ShowQryBox toolbar — replaces one schema qualifier with another across all table references; old schema auto-detected from the first qualified reference in the selection
- Broadcast: schema override uses the same regex logic as the editor's Add Schema / Replace Schema — detects whether SQL has existing schema qualifiers and either adds or replaces accordingly; no JSQLParser dependency, no parse failures on vendor-specific SQL
- Broadcast: fixed critical bug — statement delimiter was placed after the
-- broadcast:comment;RemCommstripped it with the comment, merging#URL=and the SQL into one token so RunIt never executed the query; delimiter now placed immediately after the URL - Bug fix (
#URL=):TMPURLcleared immediately after connection switch so subsequent statements reuse the switched connection instead of reconnecting on every statement
Sui 0.75U¶
- Cross-Connection Broadcast — run one SQL query against multiple connections in one step; tick target connections (from session history), set an optional per-connection schema override, and get one result window per target; vendor-aware
SET SCHEMAinjection (DB2, Oracle, PostgreSQL, SQL Server, MySQL/MariaDB); named target groups saved/loaded/deleted toBroadcastGroups.pro; accessible from main menu and right-click popup - Performance — CSV export is dramatically faster on large result sets;
ExpCSVnow builds rows withStringBuilderinstead of repeatedString.concat(was O(n²) per row) - Performance — Excel export (
ExpXLSandExpXLSRS) — cell styles and fonts are now configured once instead of being mutated on every cell write; column auto-sizing is tracked before rows are written so it actually works on SXSSF (the previous post-write tracking only saw the last 100 rows of the streaming window); numeric parsing now falls back fromLongtoDoublesoBIGINTcolumns are no longer silently written as strings - Performance — JSON formatter uses
StringBuilderinstead ofret += cper character (large JSON payloads no longer trigger heavy GC pressure) - Performance — XML formatter uses a local
StringBuilderinstead of staticStringaccumulation; also re-entrant now (no shared static state between calls) - F7/F8 row navigation in transpose window — from any transpose (vertical column-list) window, press F8 to move to the next row's transpose or F7 for the previous row; works in both free-floating and tabbed modes; the old transpose is replaced so the screen stays clean
- Transpose window focus fix — the transpose window now captures keyboard focus immediately on open so F7/F8 fires on the first keypress
- F8 crash fix —
IllegalArgumentException: Row index out of rangeno longer occurs when pressing F8 in the transpose window's row-header column with no row selected - Version bump
0.75T→0.75U
Sui 0.75T¶
- Query editor no-wrap fix — when
SUI.WRAP=N, typing on one row no longer causes other rows to re-flow ("wrap cascade");NonWrappingTextPanenow uses a customViewFactorywith aParagraphView.layout()forced toShort.MAX_VALUEwidth - Right-click popup in query window —
QryPopnow opens from anywhere in the visible editor area, including the empty area to the right of narrow non-wrapping content (extraMouseListeneron the scroll-pane viewport) - Result Set Compare — named presets — save column roles (Key/Compare/Ignore), Trim and Case settings per preset to
DiffPresets.pro; new Presets ▾ menu with Save / Apply / Delete - QueryRep window title now shows the connection alias instead of the full JDBC URL — shorter and easier to identify, especially inside the tabbed results frame
- Bug fix: visual header / max-rows indicator updated correctly when the max-rows limit is reached, including when switching between tabs
- Bug fix: main window resize behaviour restored
- Bug fix: window restore (from saved layout / minimised state) reliably restores position and size
- Bug fix: Copy-from-result-set actions corrected; assorted FlatLaf Look-and-Feel rendering glitches resolved
- Small persistence/restore fixes in
Propm,PropmAll,PropmLogin - New documentation:
docs/AdditionalEditFunctions.md— full reference for every entry in the QryPop "Additional Edit functions" submenu (Format SQL, Syntax Validate, Add/Remove Schema, Trim, Indent/Unindent, Toggle Comment, Build IN List, Text→Insert Statement, Paren Matching, …) - Documentation update:
docs/ResultSetCompare.md— new section on the named-preset workflow
Sui 0.75S¶
- Tabbed Results Window — new
QueryRepTabbedFrame: dock any query result into a shared tab strip via the ← toolbar button; release back to a free-floating window at any time - Tab header shows short title with full title as tooltip; inline → (release) and × (close) buttons per tab
- Right-click on a tab: Release me / Close
- Pull all free results in button — pulls every open result window into the tabbed frame in one step
- Free us all button — releases every tab back to its own floating window
- Closing the tabbed frame disposes all its result sets
- Preferences → Misc: Open results in tabbed view checkbox — auto-routes new SELECT results into the tabbed frame
- Result Set Compare: tabbed QueryRep windows now appear in the diff picker (were incorrectly excluded)
- Bug fix (Result Set Compare):
ArrayIndexOutOfBoundsExceptionwhen opening the diff picker from a tabbed result — popup now anchored tomainPanel - Result Set Compare: diff table honours dark mode — default rows use theme colours instead of hardcoded
Color.WHITE - Result Set Compare: zebra striping on the diff table (theme-adaptive)
- Result Set Compare: diff-coloured rows and legend swatches force black foreground for readability in dark mode
- SQL Object Tree: JInternalFrame icon removed (was
db.gif); toolbar button now shows text label "DB tree" instead of icon
Sui 0.75R¶
- FlatLaf dark/light themes selectable directly from Preferences → Misc — no
Sui.iniedit required; FlatLaf Light, Dark, IntelliJ and Darcula registered automatically - FlatLaf L&F applied before any Swing component is created — menus, toolbar and decorations fully themed
- Bug fix: menu bar was rendered in hardcoded gray instead of theme colour
- Bug fix: syntax highlighter reset all text to
Color.blackon every keystroke — invisible on dark backgrounds; now usesUIManagerforeground colour - Bug fix:
JScrollPaneviewport background not updated on L&F switch — editor area appeared white in dark mode - Query Sheet Overview: double-click now opens the corresponding tab (was: opened inline name editor)
- Query Sheet Overview: "Rename sheet…" added to the right-click context menu
- Query Sheet Overview: Clear colors button — resets all tab background colours to the theme default
- Bug fix: tab colours no longer saved when they equal the theme default — prevents dark-mode colours persisting on next light-mode startup
- Bug fix: switching connection from the connection bar inside a Query Box window no longer hides that window behind the main frame
- About dialog redesigned — styled
JDialogwith logo, HTML content, and clickable links - Right-click popup: Format SQL, Ext Format SQL and Syntax Validate promoted to top level; remaining edit functions grouped in "Additional Edit functions" submenu
ShowQryBox: connection bar, Add Schema / Remove Schema buttons for all window types (QueryBox, QuerySheet, SyncSQL)- Result Set Compare (
DiffRep): unified column-roles panel;batch=YES;prefix support; Sync SQL opens in ShowQryBox
Sui 0.75Q¶
- Result Set Compare row filter buttons: All / Left only / Right only / Differ — instantly hide non-matching rows; filter applies to Export CSV and Open in Query View
- Result Set Compare: compare two open QueryRep windows directly (in-memory, no SQL re-execution)
- Result Set Compare: closed/disposed result windows excluded from the diff picker list
- Result Set Compare: numeric comparison uses
BigDecimalarithmetic — trailing zeros, different scales and different JDBC types (e.g. DB2 SMALLINT vs BigQuery INT64) no longer produce false diffs - Result Set Compare: column headers and legend use plain ASCII (
< COL/COL >) — eliminates garbled characters on Windows terminals - Query Report: Trim checkbox — strips trailing whitespace from cell values and copied lines
- Bug fix (Query Report): "Apply Filter" was missing from the column header right-click popup —
pop.add(Filt)was never called - Bug fix (Query Report): Apply Filter blocked for INTEGER/DECIMAL columns with large DB-reported display size (e.g. BigQuery INT64) — length guard removed for non-String columns
- Preferences → Start Up: restructured into five titled sub-panels (Window layout, Query sheets, Show at startup, SQL Object Tree content, Miscellaneous)
- Preferences → Export: restructured into three titled sub-panels (General, CSV, Excel XLS)
Sui 0.75O¶
- Connection status bar — full-width bar between the toolbar and query tabs; light green when connected, grey when not; right-click for a popup of all in-session connections to quickly switch databases
- Cursor position label (
Ln / Col) moved to the very bottom of the window — standard IDE convention - Query Sheet Overview: colour swatch column — left-click to assign a tab colour via
JColorChooser, right-click to clear; colours saved/restored across sessions (SUI.TABCOLOR.N) - Query Sheet Overview: sheet name column editable in-place (double-click to rename; propagated to the tab title)
- Query Report row count label at the bottom of every result window — "Rows: N" or "Rows: N (of M)" when a filter is active
- Connection Manager: drag-and-drop alias reordering in the connection list; ▲/▼ buttons as keyboard alternative
- Exec-Append dialog pre-selects the last-used URL and driver on open
- Auto-fills userid/password from session cache or connection profile when switching URL
Sui 0.75N¶
- New SQL Dialect Converter additions (DB2 → BigQuery):
DECIMAL,VARCHAR_FORMAT,MERGE INTO,NVL,NVL2,ZEROIFNULL,NULLIFZERO,DECODE,ADD_MONTHS,CHR,ASCII,TRUNCATE,MINUS → EXCEPT DISTINCT - SQL Dialect Converter: CTE
SELECT *— column header list stripped and warned instead of left as invalid BigQuery syntax - SQL Dialect Converter:
MERGE INTO target alias→MERGE target AS alias; target alias de-qualified insideUPDATE SETblock - SQL Dialect Converter: DB2 date format tokens mapped to BigQuery strftime tokens for
VARCHAR_FORMAT - SQL Dialect Converter: warning bullet character encoding fixed (
•→•) - "Convert SQL Dialect…" added to the Options menu
- Right-click menu reorganised — Format/Validate/Convert at top; file/table ops grouped; Edit ops at bottom; "Sheet Preferences" removed
- Inline directive
#URL=— switches JDBC connection mid-script to any previously-connected URL (credentials resolved from session memory, no prompt) - Inline directive
#SET KEY=VALUE— new natural syntax alongside original#SET= KEY VALUEform - Query Report title now shows the
#URL=override URL instead of the URL-box URL - Syntax highlighting: ~60 additional SQL keywords (JOIN, ON, NULL, IS, LIKE, BETWEEN, WITH, OVER, MERGE, LIMIT, EXCEPT, INTERSECT, and more; DDL: INDEX, VIEW, UNIQUE, PRIMARY KEY, FOREIGN, PROCEDURE, FUNCTION, TRIGGER, SEQUENCE; functions: NVL, TRIM, EXTRACT, ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD, CURRENT_DATE/TIME/TIMESTAMP, and more)
- Syntax highlighting:
/*inside a--single-line comment no longer colours the rest of the document - Syntax highlighting: scanning skipped when document exceeds 5 000 characters (performance); styles reset on every change to prevent colour bleeding when toggling off
- SQL Object Tree: schema expands into typed sub-folders — Tables / Views / Aliases / Synonyms; empty groups omitted; Routines group appended when "Include routines" is checked
- Excel export: numeric columns written as Excel numeric cells — decimals via
BigDecimal, integers separately; configurable integer and decimal format strings - Excel export: meta sheet now includes result set status (full/partial) and row count
- Excel export: font, integer format, and decimal format configurable in Preferences → Export
- Bug fix (ConnDB): BigQuery embedded
https://URL no longer incorrectly stripped bysanitizeUrl - Toolbar: Connection Manager button tooltip updated; action wired to
ConnManagerdialog
Sui 0.75M¶
- New Connection Manager dialog (
File → Connection Manager…) — unified replacement for the oldconnPdialog - Left panel: named alias list with New, Copy, Remove buttons
- Tab 1 (Connection): Alias, Driver combobox, Server, Port, Database/Project, SID, URL (auto-filled from template or directly editable), User, Password (Show/Hide), Auto-login, Test Connection
- Tab 2 (Driver / JAR): global driver catalog with Name, Driver Class, JAR path, and live Status column (✔/✘); Browse JAR, Reload JARs buttons
- Tab 3 (JDBC Properties): editable key/value table backed by
SuiConnPref.pro - Password only written to disk when Auto-login is explicitly ticked
- Auto-migrates legacy
connprop.proand oldSUI.JDBCURL.0.Nentries to newSuiConnProp.proformat on first Save - URL selection in main panel auto-fills userid from the matching saved connection profile when the field is blank
- URL selection auto-fills password when the saved profile has
AUTOLOGIN=Yand a non-empty saved password - New Keywords tab in Preferences — editable 3-column table (Trigger / Expansion / Description) for F1 auto-completion shortcuts; saved to
SuiKeywProp.pro - Bundled
keyw.proin JAR — 30 default SQL keyword completions active on first run (no user file required) - Keyword merge: bundled defaults are used as a base; user edits in
SuiKeywProp.prooverride matching triggers - Bug fix (MariaDB):
ArrayIndexOutOfBoundsExceptionwhen port field is left blank — stray:/colon-slash stripped from JDBC URL before connecting
Sui 0.75L¶
- New
SqlDialectConverterengine — DB2 ↔ BigQuery SQL translation (bidirectional) - DB2 → BQ: strips
WITH UR/CS/RR/RS, rewritesCURRENT TIMESTAMP/DATE/TIME→ BQ equivalents, removesSYSIBM.SYSDUMMY1/DUAL,FETCH FIRST n ROWS ONLY→LIMIT n - DB2 → BQ: interval arithmetic —
CURRENT TIMESTAMP - 7 DAYS→TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)and+/-variants - DB2 → BQ: function transforms — YEAR/MONTH/DAY/HOUR/MINUTE/SECOND → EXTRACT, CHAR/VARCHAR → CAST STRING, INTEGER/INT → CAST INT64, FLOAT/DOUBLE → CAST FLOAT64, STRIP → TRIM, LOCATE/POSSTR → STRPOS (args reversed)
- DB2 → BQ: CTE column-list push-down — inlines
(col, …)aliases asASclauses on SELECT items, removes the column list from the WITH clause - BQ → DB2: backtick identifiers → double-quoted, splits
project.dataset.tablesegments; CURRENT_TIMESTAMP()/DATE()/TIME() → DB2 special registers; STRPOS → LOCATE (args reversed), IF → CASE WHEN, IFNULL → COALESCE, TO_HEX → HEX, SAFE_CAST → CAST with warning - New
ConvertSqlDialog— "Convert SQL Dialect (experimental)": From/To combo (default DB2→BQ, combos enforce opposite selection), result + warnings areas, "Format using Extended Format SQL" checkbox, target schema field; settings persisted across invocations - "Convert SQL Dialect…" added to query right-click popup
- Bug fix: Query History Viewer URL filter field was invisible on first open — width capped at 200 px
- Bug fix: Query History Viewer
NullPointerExceptionduring filter navigation when history entry has no SQL text - Bug fix: executing a query when not connected now shows "Query cannot be executed - not connected" instead of a
NullPointerException
Sui 0.75K¶
- SQL Object Tree: index sub-tree per table — Indexes folder with UNIQUE/NON-UNIQUE entries and column children; enabled by new "Include indexes" checkbox (left of "Include routines")
- Preferences → Start Up: "Include indexes in SQL Tree" checkbox — controls default checked state of the SQL Tree indexes checkbox
- SQL Object Tree right-click table: Count Rows (
COUNT_BIG(*)for DB2,COUNT(*)otherwise) - SQL Object Tree right-click table: List Referential Integrity (uses
getImportedKeys) - SQL Object Tree right-click column: Column Statistics — MIN, MAX, COUNT DISTINCT in one query
- SQL Object Tree right-click column: Sample Unique Values —
SELECT DISTINCT collimited by Max Rows setting - Bug fix: "Build SQL" no longer shows spurious "SQL opened in SQLBox" message
- ShowSQL right-click popup: "Exec. → Append" added
- "Exec. → Derby" replaced by "Exec. → SQLite" in query right-click popup; checks for SQLite JDBC driver in both system and Sui dynamic class loaders before opening
- New
CopyToSQLitedialog: SQLite DB file path, table name, max rows, drop/re-create option; file path persisted between invocations RunDerby/CreateDDL: full SQLite support — schema-lessCREATE TABLE/DROP TABLE/INSERT INTO; automatic table creation for SQLite URLs; inserting into an existing table without re-create no longer errors- Bug fix:
setReadOnly(true)on source connection silently ignored when driver rejects it mid-transaction (e.g. BigQuery → SQLite copy) - Bug fix (Mimer):
AbstractMethodErrorongetFunctionColumns()caught; falls back togetProcedureColumns() - Bug fix (Mimer): dummy table corrected from
SYSTEM_ONEROWtoSYSTEM.ONEROW
Sui 0.75J¶
- Preferences → Query: new Ext Format SQL panel — dialect, indent, uppercase, lines between queries, max column length, skip whitespace near parentheses, comma position (trailing/leading)
- Ext Format SQL: leading comma post-processing option moves trailing commas to the beginning of the next line
- SQL Editor: Trim Trailing Whitespace — Edit menu (Ctrl+Shift+X) and right-click menu
- SQL Object Tree right-click: "Additional Table Info" for DB2 (LUW and z/OS) and BigQuery
- SQL Object Tree right-click: "Table Space Information" for DB2 (LUW and z/OS, tables only)
- SQL Object Tree right-click: "View definition" for DB2 and BigQuery (view nodes only)
- SQL Object Tree: BigQuery table/column names now preserve original case (case-sensitive JDBC driver fix)
- Bug fix: F6 / F7 / F8 DB2 actions now correctly distinguish DB2 for z/OS from DB2 LUW
- Bug fix: BigQuery unbounded STRING columns no longer excluded from Query Report filter row
- Replaced dead
com.foundationdb:fdb-sql-parser(2015) withcom.github.jsqlparser:jsqlparser:4.9(Apache 2.0, actively maintained) - Right-click menu: "Syntax Validate by Prepare" — validates selected SQL via the active JDBC connection (shown only when connected)
- Query History Viewer: every executed query now records a timestamp and connection URL (up to 9000 entries, configurable in Preferences → Query)
- Query History Viewer: URL filter combobox — browse history for a specific connection only
- Query History Viewer: AND/OR/IN advanced search syntax in the Find field
- Query History Viewer: status bar shows timestamp + URL for the current entry; tooltip summarises entry count and date range
- Preferences → Query: configurable variable substitution character (default
&, e.g.:for JDBC-style) stored asSUI.VARSUBS.CHAR - SQL Object Tree right-click table: "Generate DDL" — generates
CREATE TABLEstatement from database metadata including columns, types, defaults, NOT NULL and primary key constraint - SQL Object Tree: "Include Stored Procedures" checkbox — when enabled, schemas show a Tables group and a Stored Procedures group
- SQL Object Tree right-click stored procedure: "Draw Stored Procedure (F9)" and "Execute Stored Procedure" (draw + run in one step)
- SQL Object Tree right-click function: "Draw Function" — inserts
SELECT schema.func(&p1, ?)snippet using the configured substitution character - SQL Object Tree: SP and Function nodes are draggable — drop on the query window generates the
{CALL …}orSELECT func(…)snippet - SQL Object Tree: "Build SQL to clipboard" renamed to "Build SQL"
- SQL Object Tree: "Include routines" checkbox (renamed from "Include Stored Procedures") — shows a Routines group per schema; default checked state set in Start Up preferences
- SQL Object Tree: BigQuery user-defined functions now loaded (via
getFunctions()); function parameters fetched viagetFunctionColumns() - SQL Object Tree: Draw Function respects the "Draw SQL to SQLBox" preference
- ShowSQL dialog: right-click context menu (execute, format, copy, copy to query sheet)
- QueryBox Viewer: right-click context menu — same popup as ShowSQL
- Preferences → Misc: "Draw SQL to SQLBox" — Draw Insert, Draw SP, Draw Function and Build SQL open in a new SQLBox window instead of copying to clipboard
- Preferences → Start Up: "Include routines in SQL Tree" — controls default checked state of the SQL Tree routines checkbox
- Toolbar: Query File Tree button icon replaced with OS-native folder icon at correct 16×16 size (was an oversized 26×26
pages.gif)
Sui 0.75G¶
- Toggle Comment on selected lines (Ctrl+7)
- Go to Line dialog (Ctrl+G)
- Block Indent / Unindent (Tab / Shift+Tab with selection)
- Uppercase / Lowercase Selection (Ctrl+Shift+U / Ctrl+Shift+L)
- Parenthesis matching highlight — enable/disable from right-click menu
- Cursor position indicator (Ln / Col) displayed above query tabs
- SQL Object Tree: Schema / Table filter fields with titled border
- SQL Object Tree: Better icons — table grid for SQL Tree, pages for Query Tree toolbar buttons
- SQL Object Tree: Frame icon switches between
db.gif(SQL tree) andpages.gif(file tree) - Query Editor popup: "Build IN List from Selection" — converts selected values to SQL
IN (…)clause - Query Editor popup: "Copy Columns from Selection…" — extracts fixed-position column range to clipboard
- Query Report popup: "Copy WHERE clause from row" — builds
WHERE col = val AND …from the selected row - Bug fix: Status message not cleared before showing "Columns copied to clipboard"
Sui 0.75F¶
- New
SQLTreePanel— lazy-loading JTree of schemas → tables → columns - Toolbar buttons to show SQL Object Tree / Query File Tree
- Right-click table node: "Build SQL to clipboard", "Draw SQL (SELECT)", "Draw SQL (INSERT)"
- Drag table node to query window — choose
schema.tableor fullSELECTstatement - Drag column node to query window — inserts column name at caret
- DB2: SQLCODE -4471 resolved —
conn.commit()added after every metadataResultSetclose - DB2: System schemas (SYSIBM, SYSCAT, SYSSTAT, etc.) filtered from tree
- DB2:
getColumns()called withnullcolumn-name pattern instead of%wildcard - BigQuery: OAuth connection cache preserved —
closeConn()is a no-op for BigQuery - BigQuery: Schema list filtered to current project only (extracted from JDBC URL
ProjectId=) - BigQuery:
project.datasetschema name prefix stripped beforegetTables()call - Mimer SQL: Tables now load —
nullcatalog andnulltable-type filter used ingetTables() - Mimer SQL: Schema name uppercased for Mimer and DB2 before metadata calls
Sui 0.75C¶
- Fixed decimal precision for NUMERIC/DECIMAL columns in query results panel and CSV export
- Fixed compilation error in "Send query to" mail feature (java.awt.Desktop name clash)
Sui 0.75B¶
- Security fix: command injection vulnerability in "Send query to" mail feature eliminated
- DatabaseManager now delegates to ConnDB, ensuring SuiConnPref.pro properties (including BigQuery OAuth settings) are always applied
- Connection and classpath preferences now saved immediately when the preferences dialog is closed, not only at application shutdown
- Fixed file-handle leak in profile store (StoreProf)
- Added credential handling documentation (docs/CredentialHandling.md)
Sui 0.75A¶
- BigQuery connections now kept in a cache with a 10-hour TTL, reducing repeated connection overhead
- Row limit enforced for BigQuery result sets to prevent runaway memory use
- All cached connections are closed gracefully at application exit
- DConnInf completely rewritten — now displays approximately 80 JDBC metadata properties
- Fixed compatibility issues with older JDBC drivers (AbstractMethodError, Mimer SQLException)
- Improved thread safety: all 7
.profile save methods are now synchronized - Fixed Garabage background thread (interrupt handling, dead code removal)
- Build version and timestamp are now baked into the jar and shown in the About dialog
- New DatabaseManager helper class added
- All image assets moved to
src/imgs/subfolder - Unused source files moved to
src/unused/ - Updated POM dependencies to remove known security vulnerabilities
- Added new documentation: USAGE.md and several docs/ files
Sui 0.74¶
- New Option to blank out password, when a new not previously not connected URL is selected (Misc properties set PW Blank is not connected
- Added function to customize lookandFeel, added Flatlaf Sample Sui.ini to use a black theme:
SuiHome=c:\SuiDev;
font=consolas,13;
pyjamas=false;
LookandFeel=com.formdev.flatlaf.FlatDarkLaf; - New function to format/Make a JSON string readable from
Sui 0.73
Version 0.73 up to 0.73K¶
- Added function to mark SQL at cursor (based on usage of Semicolon as delimiter) (Shift f1) Example : Place cursor att the second row and press Shift-F1, SELECT * FROM SYSIBM.SYSCOLUMNS is marked.
- Added function to execute SQL at cursor (based on usage of Semicolon as delimiter) (Shift f2)
- Corrected some issues in Export Excel
- Added DB2 specific functions to list columns (F6) and Tablespace (F7)
- Improved handling using the SuiConnPref.pro file
- Changed the syntax for include statement, the syntax is now:
c:\folder\file (Where c:\folder\file is a fully qualified file name) - Changed source for extended Format SQL to make it generally available
- Removed built in support for Derby
- Did some cleanup in Find-Replace logic
Version 0.73L¶
- Made it possible to only execute marked SQL from query box
- Made it possible to run SQL and get result directly to Excel from query box
- Built function to search for text strings in Sheets Version (querysheetviewer) right click and query window and select from list)
- Added F8 option to list content of View only avaialable for DB2 in same way as F6 to list columns and F7 to List tablespace)
- Made it possible to use variable when setting suihome variabeln for SuiConnPref
- Made it possible to use variable when setting suihome for SuiCPProp
- Fixed nullpointer eception in startup when deleteing temp datasets
- Added confirm dialog for delete from file tree