Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,16 @@ Versions follow [Semantic Versioning](https://semver.org/) — minor bump per su

---

## [0.7.0] — 2026-06-24 — MODIFY STRUCTURE / ALTER TABLE

### Added
- `MODIFY STRUCTURE` — alter an existing table's columns without losing data (#6).
- Scriptable command family: `ALTER TABLE <t> ADD/DROP/RENAME/ALTER <col> …`.
- `MODIFY STRUCTURE` opens an Assistant wizard (diff editor) for the active table; also reachable via the sidebar "Modify structure…" action.
- Column ops that can invalidate an index drop the table's indexes and warn to rebuild with `INDEX ON`.

---

## [0.6.3] — 2026-06-24 — `SORT TO`

### Added
Expand Down
12 changes: 11 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,8 @@ src/
ReportPreview.ts iframe-based HTML report preview panel (Esc to close, Ctrl+P to print)
Assistant.ts Permanent left sidebar — 6 categories, catalog-driven pickers, action dispatch
wizards/ Wizard panels (take over main area): WizardShell, DatabaseWizard, TableWizard,
FilterWizard, IndexWizard, SearchWizard, ReportWizard, index.ts dispatcher
FilterWizard, IndexWizard, SearchWizard, ReportWizard, ModStructWizard,
index.ts dispatcher

ws/
WsClient.ts Browser WebSocket client — sends commands, receives messages
Expand Down Expand Up @@ -91,6 +92,7 @@ tests/
WorkArea.test.ts WorkAreaManager unit tests
ServerDatabaseBridge.test.ts
ProgramStore.test.ts
AlterTable.test.ts ALTER TABLE + MODIFY STRUCTURE integration tests
assistant.spec.ts Playwright: sidebar, wizards, report designer, program run
```

Expand Down Expand Up @@ -130,6 +132,13 @@ WebBase-III supports **unlimited work areas** (no DOS 10-area limit). Cross-area
| `REPLACE <field> WITH <val>, ...` | Update field(s) on current row |
| `REPLACE ALL <field> WITH <val>, ...` | Update all (filtered) rows |
| `SET FILTER TO <expr>` | Set a WHERE clause; empty clears it |
| `MODIFY STRUCTURE` | Open the Modify-structure wizard for the active table |
| `ALTER TABLE <t> ADD <col> <type>` | Add a column to a table |
| `ALTER TABLE <t> DROP <col>` | Remove a column from a table |
| `ALTER TABLE <t> RENAME <col> TO <new>` | Rename a column |
| `ALTER TABLE <t> ALTER <col> <type>` | Change a column's type (copy-table dance; data preserved) |

> Column ops that can invalidate an index (DROP, RENAME, ALTER type) drop all of the table's indexes and warn to rebuild with `INDEX ON`.

### Indexing & search
| Command | What it does |
Expand Down Expand Up @@ -198,6 +207,7 @@ WebBase-III supports **unlimited work areas** (no DOS 10-area limit). Cross-area
3. ~~Multi-Work-Area~~ — unlimited `SELECT <alias>`, `SET RELATION TO`, `alias.field` notation ✅
4. ~~Report & Label Engine~~ — `REPORT FORM`, group breaks, subtotals, HTML preview ✅
5. ~~The Assistant~~ — sidebar GUI, wizards, catalog protocol ✅
6. ~~Modify Structure~~ — `MODIFY STRUCTURE`, `ALTER TABLE` ADD/DROP/RENAME/ALTER, ModStructWizard, sidebar action ✅

## Boolean literals

Expand Down
15 changes: 11 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,10 +100,10 @@ Wizards open in the main area with a live W3Script preview.
## The Assistant

The sidebar on the left drives everything without typing: open or create databases and tables,
browse and filter data, build indexes, search, design and run reports, and run programs.
Every click generates a real W3Script command that echoes into the terminal — watch it to
learn the language. Wizards (New table, Filter, report designer, …) open in the main area
and show a live preview of the command they will run.
browse and filter data, build indexes, search, design and run reports, run programs, and modify
table structure. Every click generates a real W3Script command that echoes into the terminal —
watch it to learn the language. Wizards (New table, Filter, Modify structure, report designer, …)
open in the main area and show a live preview of the command they will run.

---

Expand Down Expand Up @@ -191,6 +191,13 @@ WebBase-III supports **unlimited work areas** — each independently holding a t
| `REPLACE <field> WITH <val>, ...` | Update field(s) on current row |
| `REPLACE ALL <field> WITH <val>, ...` | Update all (filtered) rows |
| `SET FILTER TO <expr>` | Set a WHERE clause; empty clears it |
| `MODIFY STRUCTURE` | Open the Modify-structure wizard for the active table |
| `ALTER TABLE <t> ADD <col> <type>` | Add a column to a table |
| `ALTER TABLE <t> DROP <col>` | Remove a column from a table |
| `ALTER TABLE <t> RENAME <col> TO <new>` | Rename a column |
| `ALTER TABLE <t> ALTER <col> <type>` | Change a column's type (copy-table dance; data preserved) |

> Column ops that can invalidate an index (DROP, RENAME, ALTER type) drop all of the table's indexes and warn you to rebuild with `INDEX ON`.

### Indexing & search

Expand Down
Loading
Loading