// IsAutocommit checks if it is in the auto-commit mode. func (s *session) isAutocommit(ctx context.Context) (bool, error) { sessionVar := variable.GetSessionVars(ctx) autocommit := sessionVar.GetSystemVar("autocommit") if autocommit.IsNull() { if s.initing { return false, nil } autocommitStr, err := s.GetGlobalSysVar(ctx, "autocommit") if err != nil { return false, errors.Trace(err) } autocommit.SetString(autocommitStr) err = sessionVar.SetSystemVar("autocommit", autocommit) if err != nil { return false, errors.Trace(err) } } autocommitStr := autocommit.GetString() if autocommitStr == "ON" || autocommitStr == "on" || autocommitStr == "1" { variable.GetSessionVars(ctx).SetStatusFlag(mysql.ServerStatusAutocommit, true) return true, nil } variable.GetSessionVars(ctx).SetStatusFlag(mysql.ServerStatusAutocommit, false) return false, nil }
// IsAutocommit checks if it is in the auto-commit mode. func (s *session) isAutocommit(ctx context.Context) bool { sessionVar := variable.GetSessionVars(ctx) autocommit := sessionVar.GetSystemVar("autocommit") if autocommit.IsNull() { if s.initing { return false } autocommitStr, err := s.GetGlobalSysVar(ctx, "autocommit") if err != nil { log.Errorf("Get global sys var error: %v", err) return false } autocommit.SetString(autocommitStr) err = sessionVar.SetSystemVar("autocommit", autocommit) if err != nil { log.Errorf("Set session sys var error: %v", err) } } autocommitStr := autocommit.GetString() if autocommitStr == "ON" || autocommitStr == "on" || autocommitStr == "1" { variable.GetSessionVars(ctx).SetStatusFlag(mysql.ServerStatusAutocommit, true) return true } variable.GetSessionVars(ctx).SetStatusFlag(mysql.ServerStatusAutocommit, false) return false }