Skip to content

Conversation

@simonw
Copy link
Owner

@simonw simonw commented Dec 20, 2025

  • disable_chronicle(conn, table_name): Remove chronicle tracking from a table,
    dropping the chronicle table, triggers, and indexes. Returns True if disabled,
    False if no chronicle existed.

  • is_chronicle_enabled(conn, table_name): Check if chronicle tracking is enabled
    for a table.

  • list_chronicled_tables(conn): Return list of all tables with chronicle tracking.

  • CLI --disable flag: python -m sqlite_chronicle db.sqlite table --disable

Includes comprehensive tests and README documentation for all new functionality.
Closes #6.

…tables() functions

- disable_chronicle(conn, table_name): Remove chronicle tracking from a table,
  dropping the chronicle table, triggers, and indexes. Returns True if disabled,
  False if no chronicle existed.

- is_chronicle_enabled(conn, table_name): Check if chronicle tracking is enabled
  for a table.

- list_chronicled_tables(conn): Return list of all tables with chronicle tracking.

- CLI --disable flag: python -m sqlite_chronicle db.sqlite table --disable

Includes comprehensive tests and README documentation for all new functionality.
Closes #6.
The chronicle table name in the FROM clause was not quoted, which would
cause SQL errors for tables with special characters (spaces, dots, etc.)
in their names.

Added test to verify updates_since() works with special table names.
Add more detailed documentation explaining:
- What triggers are created by _chronicle_triggers
- Parameters and return values for updates_since
- Purpose and return codes for cli_main
- Add mypy to test dependencies in pyproject.toml
- Improve type hints: use Tuple[Any, ...] and Dict[str, Any] for Change dataclass
- Add type annotation for cli_main argv parameter
- Add type: ignore comment for sqlite3.Row row_factory assignment
- Fix typo in README: ON CONFLICT SET -> ON CONFLICT DO UPDATE

All type hints now pass mypy --strict.

Note: GitHub Actions workflow update for mypy pending (requires workflows permission).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Utility function for disabling chronicle

3 participants