You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
IndexStoreMigration.test.ts Adopting pre-#50 unscoped index rows into their owning database
118
122
Print.test.ts `?` / `??` print command
119
123
Aggregate.test.ts `SUM` / `AVERAGE`
120
124
Builtins.test.ts / BuiltinsParse.test.ts built-in functions (direct + through the parser)
@@ -315,6 +319,8 @@ line.
315
319
qualifier validated on write; declared types tracked in `server/ColumnMetaStore.ts` (#43) ✅
316
320
-~~`WEEK()` built-in~~ — ISO-8601 week number (#44) ✅
317
321
-~~BROWSE per-cell validation~~ — grid rejects invalid edits per column type, validated on both client and server via `src/shared/cellValidation.ts` (#45) ✅
322
+
-~~Test hardening~~ — strict `CREATE TABLE` grammar, golden demo schemas, coverage for every
Copy file name to clipboardExpand all lines: README.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -229,6 +229,9 @@ WebBase-III supports **unlimited work areas** — each independently holding a t
229
229
230
230
> 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`.
231
231
232
+
> `CREATE TABLE` rejects a malformed column list (missing comma, missing type, unclosed paren, a third
233
+
> type argument) with a parse error naming the offending column, and creates nothing.
234
+
232
235
**Column types**: `CHAR(n)` (aliases `CHARACTER`/`VARCHAR`/`STRING`/`MEMO`), `NUM`/`NUM(p,s)` (`NUMERIC`/`FLOAT`/`DOUBLE`/`DECIMAL`), `INT`/`INTEGER`, `LOGICAL`/`BOOLEAN`, `DATE`, and `TIME`/`TIME(n)`. `TIME` stores `HH:MM` (24-hour); the optional `TIME(n)` qualifier (e.g. `TIME(15)`) requires minutes to be a multiple of `n`. `REPLACE ... WITH` rejects a malformed or off-granularity `TIME` value instead of silently coercing it, and `LIST STRUCTURE` prints the declared type (`NUM(8,2)`, `TIME(15)`) rather than SQLite's storage class.
0 commit comments