From f3cbf1d509c73d2750c0f6fd33e961c29f734240 Mon Sep 17 00:00:00 2001
From: Garet Halliday <me@garet.holiday>
Date: Fri, 4 Aug 2023 12:59:47 -0500
Subject: [PATCH] configurable startup parameters

---
 lib/gat/pool.go   | 6 +++++-
 lib/gat/recipe.go | 6 ++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/lib/gat/pool.go b/lib/gat/pool.go
index 5f37e484..a3757c86 100644
--- a/lib/gat/pool.go
+++ b/lib/gat/pool.go
@@ -42,7 +42,11 @@ func (T *PoolRecipe) connect() (zap.ReadWriter, map[string]string, error) {
 		return nil, nil, err
 	}
 
-	var parameterStatus = map[string]string{}
+	startupParameters := T.r.GetStartupParameters()
+	parameterStatus := make(map[string]string, len(startupParameters))
+	for k, v := range startupParameters {
+		parameterStatus[k] = v
+	}
 
 	err = backends.Accept(rw, T.r.GetUser(), T.r.GetPassword(), T.r.GetDatabase(), parameterStatus)
 	if err != nil {
diff --git a/lib/gat/recipe.go b/lib/gat/recipe.go
index 62ffebfa..55b4232c 100644
--- a/lib/gat/recipe.go
+++ b/lib/gat/recipe.go
@@ -13,6 +13,8 @@ type Recipe interface {
 	GetUser() string
 	GetPassword() string
 
+	GetStartupParameters() map[string]string
+
 	GetMinConnections() int
 	GetMaxConnections() int
 }
@@ -48,6 +50,10 @@ func (T TCPRecipe) GetPassword() string {
 	return T.Password
 }
 
+func (T TCPRecipe) GetStartupParameters() map[string]string {
+	return nil
+}
+
 func (T TCPRecipe) GetMinConnections() int {
 	return T.MinConnections
 }
-- 
GitLab