diff --git a/enginetest/queries/queries.go b/enginetest/queries/queries.go index a7ab47193b..2b8cb5b16f 100644 --- a/enginetest/queries/queries.go +++ b/enginetest/queries/queries.go @@ -8920,6 +8920,12 @@ from typestable`, {"1.5000"}, }, }, + { + Query: "select length(@@server_uuid)", + Expected: []sql.Row{ + {36}, + }, + }, } var KeylessQueries = []QueryTest{ diff --git a/sql/variables/system_variables.go b/sql/variables/system_variables.go index 0ee993a282..64f368de83 100644 --- a/sql/variables/system_variables.go +++ b/sql/variables/system_variables.go @@ -21,6 +21,7 @@ import ( "sync" "time" + "github.com/google/uuid" "github.com/sirupsen/logrus" gmstime "github.com/dolthub/go-mysql-server/internal/time" @@ -2130,6 +2131,14 @@ var systemVars = map[string]sql.SystemVariable{ Type: types.Uint32, Default: uint32(0), }, + "server_uuid": { + Name: "server_uuid", + Scope: sql.SystemVariableScope_Persist, + Dynamic: false, + SetVarHintApplies: false, + Type: types.Text, + Default: uuid.New().String(), + }, "session_track_gtids": { Name: "session_track_gtids", Scope: sql.SystemVariableScope_Both,