Commit Graph
19 Commits
Author SHA1 Message Date
Mark Gregory b051a36ca4 Improved progress display
Previously, the progress bar updated only after completing an entire table.

For large tables such as LIBARC, this could make the application appear to have stopped responding.

Phase 10 updates the interface while rows are being exported.
2026-10-16 22:35:27 +01:00
Mark Gregory 788c3373d8 Improved progress display
Previously, the progress bar updated only after completing an entire table.

For large tables such as LIBARC, this could make the application appear to have stopped responding.

Phase 10 updates the interface while rows are being exported.
2026-10-16 22:28:08 +01:00
Mark Gregory 37043f316e Improved progress display
Previously, the progress bar updated only after completing an entire table.

For large tables such as LIBARC, this could make the application appear to have stopped responding.

Phase 10 updates the interface while rows are being exported.
2026-10-16 22:26:09 +01:00
Mark Gregory fb1430ad1a Improved progress display
Previously, the progress bar updated only after completing an entire table.

For large tables such as LIBARC, this could make the application appear to have stopped responding.

Phase 10 updates the interface while rows are being exported.
2026-10-16 22:20:48 +01:00
Mark Gregory d479d3c07b Improved progress display
Previously, the progress bar updated only after completing an entire table.

For large tables such as LIBARC, this could make the application appear to have stopped responding.

Phase 10 updates the interface while rows are being exported.
2026-10-16 22:17:33 +01:00
Mark Gregory 9c5c0b5a91 Improved progress display
Previously, the progress bar updated only after completing an entire table.

For large tables such as LIBARC, this could make the application appear to have stopped responding.

Phase 10 updates the interface while rows are being exported.
2026-10-16 22:14:53 +01:00
Mark Gregory b1bce0c166 Improved progress display
Previously, the progress bar updated only after completing an entire table.

For large tables such as LIBARC, this could make the application appear to have stopped responding.

Phase 10 updates the interface while rows are being exported.
2026-10-16 22:11:14 +01:00
Mark Gregory 0d0b46761f The second file contains a SHA-256 checksum of the SQL backup.
This allows the application to detect whether the backup file has changed or become corrupted.

2. Verify Backup button

The Import/Export window now includes Verify Backup….

Select an exported SQL file, and the application calculates its checksum and compares it with the accompanying checksum file.

3. Automatic verification before import

When importing an SQL file, WorkbenchReplacement checks for an accompanying .sha256 file.

If one exists, its checksum must match before SQL execution begins.

Third-party SQL files without checksum files can still be imported.

4. Large-file handling

Checksum calculation reads files in 1 MB blocks rather than loading the entire file into memory.

This reduces memory usage when verifying large backups.
2026-10-16 22:06:06 +01:00
Mark Gregory d75515ffbc The second file contains a SHA-256 checksum of the SQL backup.
This allows the application to detect whether the backup file has changed or become corrupted.

2. Verify Backup button

The Import/Export window now includes Verify Backup….

Select an exported SQL file, and the application calculates its checksum and compares it with the accompanying checksum file.

3. Automatic verification before import

When importing an SQL file, WorkbenchReplacement checks for an accompanying .sha256 file.

If one exists, its checksum must match before SQL execution begins.

Third-party SQL files without checksum files can still be imported.

4. Large-file handling

Checksum calculation reads files in 1 MB blocks rather than loading the entire file into memory.

This reduces memory usage when verifying large backups.
2026-10-16 21:58:41 +01:00
Mark Gregory 2b6eb249ce Previously, the importer rejected these scripts because it couldn’t handle custom statement delimiters.
The updated parser identifies the complete procedure as a single statement before passing it to the native MySQL connection.

I tested the parser with Swift, including a stored procedure containing multiple SQL statements. The parser test passed. However, I haven’t compiled the complete macOS application or tested importing against a live MySQL server.
2026-10-16 21:55:18 +01:00
Mark Gregory 819e5cf46e Changes
* Replaced the nested export form with a scrollable layout.
* Made the table selection checkboxes directly visible.
* Preserved the Select All and Select None buttons.
* Kept the view selection controls.
* Cleared stale table selections when switching databases.
* Added automatic database loading when the application opens.
* Preserved the existing SQL editor and administration functionality.
2026-10-16 21:51:45 +01:00
Mark Gregory 8f7fcd97a7 new ui 2026-10-16 21:45:53 +01:00
Mark Gregory 7a0a8a1511 new ui 2026-10-16 21:40:07 +01:00
Mark Gregory 7387be60b5 new ui 2026-10-16 21:35:47 +01:00
Mark Gregory 773191f206 new ui 2026-10-16 21:34:30 +01:00
Mark Gregory 7d524b0b39 updates 2026-10-16 17:34:40 +01:00
Mark Gregory e4eaecc929 updates 2026-10-16 17:26:57 +01:00
Mark Gregory d4d0add73e updates 2026-10-16 17:26:02 +01:00
Mark Gregory e5f669a0ad Initial commit 2026-10-16 17:03:05 +01:00