v0.1.0 -> v0.2.0
Summary
Major refactoring of the database connector with singleton pattern using sync.Once, enhanced SQL validation with reserved keyword checking, and new chainable APIs for conflict handling and total count queries.
Changes
FEAT
- Add
GetWithTotal()andGetWithTotalContext()methods for paginated queries with total count - Add
Builder.Raw()method to access underlying*sql.DBinstance - Add
Builder.Conflict()chainable method for insert conflict handling strategy
REFACTOR
- Rename
Databasestruct toConnectorwith singleton initialization viasync.Once - Simplify
New()return signature from(*Database, *sql.DB, error)to(*Connector, error) - Refactor
OrderBydirection parameter to typed constant (Asc/Desc) - Enhance column validation with length limit (128 chars) and SQL reserved keyword checking via embedded JSON
- Adjust connection pool settings:
MaxOpenConns=8,MaxIdleConns=2, enable WAL mode
UPDATE
- Change
Update()/UpdateContext()parameter to variadicmap[string]any - Mark legacy conflict methods (
InsertConflict,InsertContexConflict,InsertConflictReturningID,InsertContextConflictReturningID) as deprecated for v1.0.0 - Mark
Total()method as deprecated in favor ofGetWithTotal()
Files Changed
| File | Status | Tag |
|---|---|---|
instance.go |
Modified | REFACTOR |
builder.go |
Modified | FEAT |
select.go |
Modified | FEAT, REFACTOR |
insert.go |
Modified | FEAT, UPDATE |
update.go |
Modified | UPDATE |
utils.go |
Modified | REFACTOR |
sql_keywords.json |
Added | REFACTOR |
main_test.go |
Modified | REFACTOR |
README.md |
Modified | DOC |
README.zh.md |
Added | DOC |
LICENSE |
Added | DOC |
cover.png |
Added | DOC |
©️ 2026 邱敬幃 Pardn Chiu
Top comments (0)