diff options
| author | Stefan Majewsky <majewsky@gmx.net> | 2026-04-10 14:55:26 +0200 |
|---|---|---|
| committer | Stefan Majewsky <majewsky@gmx.net> | 2026-04-10 14:56:39 +0200 |
| commit | bce3df549ff4ccc8895697a3222269bd14fc22a4 (patch) | |
| tree | 1e1338ec9e9a15b0096b31e692e646d081d71677 /plan_test.go | |
| parent | 03b874fdef2003ef9bfff7f4ce3021d594211a30 (diff) | |
| download | go-oblast-bce3df549ff4ccc8895697a3222269bd14fc22a4.tar.gz | |
start reflecting on types to build a query plan
Diffstat (limited to 'plan_test.go')
| -rw-r--r-- | plan_test.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/plan_test.go b/plan_test.go new file mode 100644 index 0000000..0cf5afa --- /dev/null +++ b/plan_test.go @@ -0,0 +1,38 @@ +// SPDX-FileCopyrightText: 2026 Stefan Majewsky <majewsky@gmx.net> +// SPDX-License-Identifier: Apache-2.0 + +package oblast_test + +import ( + "testing" + "time" + + "go.xyrillian.de/oblast" +) + +func TestPlan(t *testing.T) { + type Log struct { + oblast.TableInfo `db:"log_entries"` + oblast.PrimaryKeyInfo `db:"id"` + ID int64 `db:"id,auto"` + CreatedAt time.Time `db:"created_at"` + Message string `db:"message"` + private1 bool `db:"private1"` + } + + type record struct { + Log + Keks bool `db:"keks"` + private2 bool `db:"private2"` + } + + db := oblast.NewDB(nil, oblast.PostgresDialect()) + err := oblast.Keks[record](t.Context(), db) + if err != nil { + t.Error(err) + } + err = oblast.Keks[Log](t.Context(), db) + if err != nil { + t.Error(err) + } +} |
