From e9d31443f01eda2ecee66dbc25f154a6949a9c97 Mon Sep 17 00:00:00 2001 From: Stefan Majewsky Date: Sat, 11 Apr 2026 20:19:12 +0200 Subject: reorganize the API from type DB to type Store --- db.go | 44 -------------------------------------------- 1 file changed, 44 deletions(-) delete mode 100644 db.go (limited to 'db.go') diff --git a/db.go b/db.go deleted file mode 100644 index cdf9e1a..0000000 --- a/db.go +++ /dev/null @@ -1,44 +0,0 @@ -// SPDX-FileCopyrightText: 2026 Stefan Majewsky -// SPDX-License-Identifier: Apache-2.0 - -package oblast - -import ( - "database/sql" - "reflect" - "sync" - - "go.xyrillian.de/oblast/internal" -) - -// DB wraps an [sql.DB] instance for use with Oblast's query interface. -type DB struct { - *sql.DB - dialect Dialect - plans map[reflect.Type]internal.Plan - planMutex sync.Mutex -} - -func NewDB(db *sql.DB, dialect Dialect) *DB { - return &DB{ - DB: db, - dialect: dialect, - plans: make(map[reflect.Type]internal.Plan), - } -} - -func (d *DB) getPlan(t reflect.Type) (internal.Plan, error) { - d.planMutex.Lock() - defer d.planMutex.Unlock() - p, ok := d.plans[t] - if ok { - return p, nil - } - p, err := internal.BuildPlan(t, d.dialect) - if err == nil { - d.plans[t] = p - } - return p, err -} - -// TODO: Begin() -> custom Tx type; add interface to allow Select() et all to take either *DB or *Tx -- cgit v1.2.3