From 4b1d98ac61b67471706c6ab196097616fdec3f29 Mon Sep 17 00:00:00 2001
From: Garet Halliday <ghalliday@gfxlabs.io>
Date: Thu, 29 Sep 2022 15:56:36 -0500
Subject: [PATCH] add truncate as write hint

---
 go.mod                                        | 2 +-
 go.sum                                        | 4 ++--
 lib/gat/database/query_router/query_router.go | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/go.mod b/go.mod
index 33f9b45f..d3af4bf9 100644
--- a/go.mod
+++ b/go.mod
@@ -3,7 +3,7 @@ module gfx.cafe/gfx/pggat
 go 1.19
 
 require (
-	gfx.cafe/ghalliday1/pg3p v0.0.16
+	gfx.cafe/ghalliday1/pg3p v0.0.17
 	gfx.cafe/ghalliday1/pgparser v0.0.9
 	gfx.cafe/util/go/bufpool v0.0.0-20220906091724-3a24b7f40ccf
 	gfx.cafe/util/go/generic v0.0.0-20220917152604-80373e5a2c51
diff --git a/go.sum b/go.sum
index 5ca615e4..9121f1c7 100644
--- a/go.sum
+++ b/go.sum
@@ -1,7 +1,7 @@
 cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
 cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-gfx.cafe/ghalliday1/pg3p v0.0.16 h1:ma0ph7X2mZLleKEUriKiEVqT6z3WqX7r0E3OCpjkHKc=
-gfx.cafe/ghalliday1/pg3p v0.0.16/go.mod h1:dVy94HSyywugiaUJm+4EyhC41TOL3SHSr+FUubKa7s8=
+gfx.cafe/ghalliday1/pg3p v0.0.17 h1:8x8coqUYwpEKZgkDOwRNyITY2jkvzCe8vAiUyMbHzl4=
+gfx.cafe/ghalliday1/pg3p v0.0.17/go.mod h1:dVy94HSyywugiaUJm+4EyhC41TOL3SHSr+FUubKa7s8=
 gfx.cafe/ghalliday1/pgparser v0.0.9 h1:mj1819zaEO964rFMr9lzGIoKLdZdjWAs6CqPvcSAhYg=
 gfx.cafe/ghalliday1/pgparser v0.0.9/go.mod h1:mte3a6XnIWVexcvJJrkYQ2ozbSx/soIJ4ivXf8pS1No=
 gfx.cafe/util/go/bufpool v0.0.0-20220906091724-3a24b7f40ccf h1:ya4IK1D+Kq0DrFdrrZ7tjmp3BgoO4v5sCAeUytR6j1U=
diff --git a/lib/gat/database/query_router/query_router.go b/lib/gat/database/query_router/query_router.go
index 0cd06b4a..922e4b11 100644
--- a/lib/gat/database/query_router/query_router.go
+++ b/lib/gat/database/query_router/query_router.go
@@ -90,7 +90,7 @@ func (r *QueryRouter) InferRole(query string) (config.ServerRole, error) {
 	var role = config.SERVERROLE_REPLICA
 	for _, token := range tokens {
 		switch token.Token {
-		case lex.KeywordUpdate, lex.KeywordDelete, lex.KeywordInsert, lex.KeywordDrop, lex.KeywordCreate:
+		case lex.KeywordUpdate, lex.KeywordDelete, lex.KeywordInsert, lex.KeywordDrop, lex.KeywordCreate, lex.KeywordTruncate:
 			role = config.SERVERROLE_PRIMARY
 		}
 	}
-- 
GitLab