From 8a06a6ff7bae1bddd84f59a1925f993117632e97 Mon Sep 17 00:00:00 2001 From: Garet Halliday <me@garet.holiday> Date: Tue, 15 Aug 2023 14:51:56 -0500 Subject: [PATCH] fix most tests --- lib/gat/configs/pgbouncer/config.go | 6 +++++- lib/gat/recipe.go | 5 ++++- lib/util/maps/clone.go | 3 +++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/gat/configs/pgbouncer/config.go b/lib/gat/configs/pgbouncer/config.go index 1fb11220..6873b340 100644 --- a/lib/gat/configs/pgbouncer/config.go +++ b/lib/gat/configs/pgbouncer/config.go @@ -292,6 +292,10 @@ func (T *Config) ListenAndServe(pooler *gat.Pooler) error { continue } + if db.DBName != "" { + dbname = db.DBName + } + var poolMode PoolMode if user.PoolMode != "" { poolMode = user.PoolMode @@ -344,7 +348,7 @@ func (T *Config) ListenAndServe(pooler *gat.Pooler) error { // connect over tcp recipe := gat.TCPRecipe{ - Database: db.DBName, + Database: dbname, Address: address, Credentials: creds, MinConnections: db.MinPoolSize, diff --git a/lib/gat/recipe.go b/lib/gat/recipe.go index 8735fde0..65438046 100644 --- a/lib/gat/recipe.go +++ b/lib/gat/recipe.go @@ -37,8 +37,11 @@ func (T TCPRecipe) Connect() (zap.ReadWriter, map[string]string, error) { rw := zap.WrapIOReadWriter(conn) parameterStatus := maps.Clone(T.StartupParameters) + if parameterStatus == nil { + parameterStatus = make(map[string]string) + } - err = backends.Accept(rw, T.Credentials, T.Database, T.StartupParameters) + err = backends.Accept(rw, T.Credentials, T.Database, parameterStatus) if err != nil { return nil, nil, err } diff --git a/lib/util/maps/clone.go b/lib/util/maps/clone.go index d74c7429..88e44381 100644 --- a/lib/util/maps/clone.go +++ b/lib/util/maps/clone.go @@ -1,6 +1,9 @@ package maps func Clone[K comparable, V any](value map[K]V) map[K]V { + if value == nil { + return nil + } m := make(map[K]V, len(value)) for k, v := range value { m[k] = v -- GitLab