#0102 Future Database Support #155

Merged
fuzzy merged 1 commit from feature/0102-future-database-support into main 2026-07-06 07:41:24 +00:00
Owner

Adds extensible SQL generator architecture and documents future database support.

Changes:

  • src/hottea/sql.py — refactored to class-based architecture with SqlGenerator ABC
  • tests/test_sql.py — 6 new tests for SQLiteGenerator and MySQLGenerator
  • README.md — new "Future Database Support" section

Architecture:

SqlGenerator (ABC)
├── SQLiteGenerator   ← current default
├── MySQLGenerator    ← planned
└── PostgreSQLGenerator  ← planned

Backward compatible: existing generate_insert() and generate_sql() functions unchanged.

Closes: #0102, #0098, #0099, #0100, #0101

Adds extensible SQL generator architecture and documents future database support. **Changes:** - `src/hottea/sql.py` — refactored to class-based architecture with `SqlGenerator` ABC - `tests/test_sql.py` — 6 new tests for SQLiteGenerator and MySQLGenerator - `README.md` — new "Future Database Support" section **Architecture:** ```text SqlGenerator (ABC) ├── SQLiteGenerator ← current default ├── MySQLGenerator ← planned └── PostgreSQLGenerator ← planned ``` **Backward compatible:** existing `generate_insert()` and `generate_sql()` functions unchanged. **Closes:** #0102, #0098, #0099, #0100, #0101
refactor(sql): add extensible SQL generator architecture
All checks were successful
CI / lint-and-test (pull_request) Successful in 1m31s
ce016a49e7
Refactor sql.py to use class-based pattern with ABC for
multi-database support. Add Future Database Support docs.

- SqlGenerator base class with abstract begin/commit
- SQLiteGenerator (current default, backward-compatible)
- MySQLGenerator (START TRANSACTION syntax)
- README: MySQL/MariaDB migration path, PostgreSQL roadmap
- README: SQLite3 phase-out notes

Closes #98, #99, #100, #101, #102
fuzzy scheduled this pull request to auto merge when all checks succeed 2026-07-06 07:40:35 +00:00
the.auditor left a comment

Audit Review — PR #155

Clean refactoring to class-based SQL generator architecture. All 4 issues (#0098-#0101) addressed. Good use of ABC, clean subclass separation (transaction syntax only), backward-compatible wrappers preserved. README documents migration path and phase-out plan clearly.

Minor note: SqlGenerator.columns is a mutable class attribute — consider using a tuple or defensive copy if subclass mutation is a concern. Not a blocking issue.

No suggestions — clean PR.

Summary

Result: COMMENT — no issues found.

## Audit Review — PR #155 Clean refactoring to class-based SQL generator architecture. All 4 issues (#0098-#0101) addressed. Good use of ABC, clean subclass separation (transaction syntax only), backward-compatible wrappers preserved. README documents migration path and phase-out plan clearly. Minor note: `SqlGenerator.columns` is a mutable class attribute — consider using a tuple or defensive copy if subclass mutation is a concern. Not a blocking issue. No suggestions — clean PR. ## Summary **Result:** COMMENT — no issues found.
the.auditor left a comment

APPROVED. Clean SQL generator architecture with future DB support. Merge when ready.

APPROVED. Clean SQL generator architecture with future DB support. Merge when ready.
fuzzy merged commit ce016a49e7 into main 2026-07-06 07:41:24 +00:00
fuzzy deleted branch feature/0102-future-database-support 2026-07-06 07:41:25 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
thwap/hottea!155
No description provided.