aboutsummaryrefslogtreecommitdiff
path: root/plan_test.go
diff options
context:
space:
mode:
authorStefan Majewsky <majewsky@gmx.net>2026-04-10 14:55:26 +0200
committerStefan Majewsky <majewsky@gmx.net>2026-04-10 14:56:39 +0200
commitbce3df549ff4ccc8895697a3222269bd14fc22a4 (patch)
tree1e1338ec9e9a15b0096b31e692e646d081d71677 /plan_test.go
parent03b874fdef2003ef9bfff7f4ce3021d594211a30 (diff)
downloadgo-oblast-bce3df549ff4ccc8895697a3222269bd14fc22a4.tar.gz
start reflecting on types to build a query plan
Diffstat (limited to 'plan_test.go')
-rw-r--r--plan_test.go38
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)
+ }
+}