Commit Graph
47 Commits
Author SHA1 Message Date
Mark Gregory 40386134a8 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-18 11:23:58 +01:00
Mark Gregory b3cc8b7463 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-18 11:20:21 +01:00
Mark Gregory 3635999f47 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-17 16:31:56 +01:00
Mark Gregory 2d5d48949a 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-17 16:25:02 +01:00
Mark Gregory 283fa76162 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-17 15:26:46 +01:00
Mark Gregory d441aea02c 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-17 11:54:29 +01:00
Mark Gregory e1a9b4037e 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-17 11:31:54 +01:00
Mark Gregory 5cf34634d2 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-17 11:15:38 +01:00
Mark Gregory f5433c4e48 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-17 11:04:11 +01:00
Mark Gregory e6c8943530 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-17 11:01:56 +01:00
Mark Gregory ca0b6fba23 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-17 11:01:04 +01:00
Mark Gregory c3fb3e6fad 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-17 10:59:05 +01:00
Mark Gregory c511256f32 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-17 10:54:02 +01:00
Mark Gregory 9cd4a3c443 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-17 10:49:47 +01:00
Mark Gregory 939522d98c 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:51:54 +01:00
Mark Gregory 4e24e2daa4 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:49:36 +01:00
Mark Gregory 8db8b30ed8 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:46:01 +01:00
Mark Gregory 5db95d7212 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:42:20 +01:00
Mark Gregory 3f3c7cb0ba 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:40:35 +01:00
Mark Gregory 9562afddf0 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:39:15 +01:00
Mark Gregory 6e9e7b780d 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:38:51 +01:00
Mark Gregory a189d21af9 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:37:26 +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 ff40ddd1a9 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:24:53 +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 e177b1d1ea 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:25 +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 7618294b16 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:56 +01:00
Mark Gregory 1396f441e0 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: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 5948387b4e 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:00:32 +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 86df4fb185 DS_Store 2026-10-16 21:46:31 +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 2aedde9fe2 updates 2026-10-16 17:35:29 +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