From a23dd12a27237a5e0d6883cd30373408a2f28f6e Mon Sep 17 00:00:00 2001 From: Stefan Majewsky Date: Sun, 12 Apr 2026 19:13:50 +0200 Subject: add initial sketches for Store.Insert, Store.Update Currently extremely bad performance for some reason. Need to investigate. --- store.go | 35 ----------------------------------- 1 file changed, 35 deletions(-) delete mode 100644 store.go (limited to 'store.go') diff --git a/store.go b/store.go deleted file mode 100644 index 4ab0f4b..0000000 --- a/store.go +++ /dev/null @@ -1,35 +0,0 @@ -// SPDX-FileCopyrightText: 2026 Stefan Majewsky -// SPDX-License-Identifier: Apache-2.0 - -package oblast - -import ( - "reflect" - - "go.xyrillian.de/oblast/internal" -) - -// Store is the main interface of this library. -// It holds information on how to read and write data into record type R, and can also be used to execute autogenerated queries if the respective [PlanOption]s were provided during [NewStore]. -type Store[R any] struct { - plan internal.Plan -} - -// NewStore initializes a store for record type R. -func NewStore[R any](dialect Dialect, opts ...PlanOption) (Store[R], error) { - var popts internal.PlanOpts - for _, opt := range opts { - opt(&popts) - } - plan, err := internal.BuildPlan(reflect.TypeFor[R](), dialect, popts) - return Store[R]{plan}, err -} - -// MustNewStore is like [NewStore], but panics on error. -func MustNewStore[R any](dialect Dialect, opts ...PlanOption) Store[R] { - store, err := NewStore[R](dialect, opts...) - if err != nil { - panic(err.Error()) - } - return store -} -- cgit v1.2.3