# QA Checklist: System Information Schema

**Purpose**: Verify the System Information Schema implementation against functional requirements and user scenarios.
**Created**: May 07, 2026
**Feature**: [spec.md](../spec.md)

**Note**: This checklist is generated by the `/speckit.checklist` command based on feature context and requirements.

## 1. System Schema Virtual Tables

- [ ] CHK001 Verify `system` schema is a reserved namespace (CREATE/ALTER/DROP TABLE `system.foo` fails).
- [ ] CHK002 Verify `system` schema tables are read-only (INSERT/UPDATE/DELETE `system.tables` fails).
- [ ] CHK003 Verify `SELECT * FROM system.tables` returns correctly formatted output without errors.
- [ ] CHK004 Verify `system.tables` dynamically reflects the creation of a new user table immediately.
- [ ] CHK005 Verify `SELECT * FROM system.columns` returns correct column definitions (type, nullability, primary key status) for a newly created table.
- [ ] CHK006 Verify `system.columns` dynamically reflects column definitions without requiring a server restart.

## 2. Information Schema Compliance

- [ ] CHK007 Verify `information_schema` is a reserved namespace.
- [ ] CHK008 Verify `information_schema` tables are read-only.
- [ ] CHK009 Verify `SELECT * FROM information_schema.tables` continues to function and return standard SQL formatting.
- [ ] CHK010 Verify `SELECT * FROM information_schema.columns` includes the new `character_octet_length` column with correct values for `TEXT` types.
- [ ] CHK011 Verify `SELECT * FROM information_schema.columns` includes the new `datetime_precision` column with correct values for temporal types.

## 3. Transaction Debugging

- [ ] CHK012 Verify `SELECT * FROM system.transactions` successfully queries the internal transaction registry.
- [ ] CHK013 Verify an open, uncommitted transaction is visible in `system.transactions` with an "ACTIVE" state indicator.
- [ ] CHK014 Verify a committed or rolled-back transaction is immediately removed from the active list in `system.transactions`.

## 4. Code Quality and Constrains

- [ ] CHK015 Verify `make lint` passes.
- [ ] CHK016 Verify `make license` passes for new files (`system_schema.rs`, `system_schema_tests.rs`, `system_debug_tests.rs`).
- [ ] CHK017 Verify all `cargo nextest` tests pass cleanly without deadlocks or unwrap panics.

## Notes

- Check items off as completed: `[x]`
- Ensure no physical tables are persisted to disk for the `system` and `information_schema` namespaces; they must remain virtual.