From fa64fbdfba38581f043d71c2f0b8d973450adeba Mon Sep 17 00:00:00 2001
From: Garet Halliday <ghalliday@gfxlabs.io>
Date: Tue, 20 Sep 2022 13:11:59 -0500
Subject: [PATCH] switch based on role

---
 lib/gat/database/database.go | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/lib/gat/database/database.go b/lib/gat/database/database.go
index be9de25a..658cfefd 100644
--- a/lib/gat/database/database.go
+++ b/lib/gat/database/database.go
@@ -3,6 +3,7 @@ package database
 import (
 	"gfx.cafe/gfx/pggat/lib/gat/database/query_router"
 	"gfx.cafe/gfx/pggat/lib/gat/pool/session"
+	"gfx.cafe/gfx/pggat/lib/gat/pool/transaction"
 	"sync"
 
 	"gfx.cafe/gfx/pggat/lib/config"
@@ -49,7 +50,12 @@ func (p *Database) EnsureConfig(conf *config.Pool) {
 			existing.EnsureConfig(conf)
 		} else {
 			u := user
-			p.connPools[name] = session.New(p, p.dialer, conf, &u)
+			switch p.c.PoolMode {
+			case config.POOLMODE_SESSION:
+				p.connPools[name] = session.New(p, p.dialer, conf, &u)
+			case config.POOLMODE_TXN:
+				p.connPools[name] = transaction.New(p, p.dialer, conf, &u)
+			}
 		}
 	}
 }
-- 
GitLab