func (s *InMemoryPersistedSession) GetPersistedValue(k string) (interface{}, error) {
	return s.persistedGlobals[k], nil
}
RemoveAllPersistedGlobals implements sql.PersistableSession
package memory
import "github.com/dolthub/go-mysql-server/sql"
type GlobalsMap = map[string]interface{}
type InMemoryPersistedSession struct {
	sql.Session
	persistedGlobals GlobalsMap
}
func NewInMemoryPersistedSession(sess sql.Session, persistedGlobals GlobalsMap) *InMemoryPersistedSession {
	return &InMemoryPersistedSession{Session: sess, persistedGlobals: persistedGlobals}
}
func (s *InMemoryPersistedSession) PersistGlobal(sysVarName string, value interface{}) error {
	sysVar, _, ok := sql.SystemVariables.GetGlobal(sysVarName)
	if !ok {
		return sql.ErrUnknownSystemVariable.New(sysVarName)
	}
	val, err := sysVar.Type.Convert(value)
	if err != nil {
		return err
	}
	s.persistedGlobals[sysVarName] = val
	return nil
}
func (s *InMemoryPersistedSession) RemovePersistedGlobal(sysVarName string) error {
	if _, _, ok := sql.SystemVariables.GetGlobal(sysVarName); !ok {
		return sql.ErrUnknownSystemVariable.New(sysVarName)
	}
	delete(s.persistedGlobals, sysVarName)
	return nil
}
func (s *InMemoryPersistedSession) RemoveAllPersistedGlobals() error {
	s.persistedGlobals = GlobalsMap{}
	return nil
}