func (pc *ProcedureCache) Get(dbName, procedureName string) *plan.Procedure {
	dbName = strings.ToLower(dbName)
	procedureName = strings.ToLower(procedureName)
	if procMap, ok := pc.dbToProcedureMap[dbName]; ok {
		if procedure, ok := procMap[procedureName]; ok {
			return procedure
		}
	}
	return nil
}
Get returns the stored procedure with the given name from the given database. All names are case-insensitive. If the
procedure does not exist, then this returns nil.
package analyzer
import (
	"sort"
	"strings"
	"github.com/dolthub/go-mysql-server/sql/plan"
)
type ProcedureCache struct {
	dbToProcedureMap map[string]map[string]*plan.Procedure
	IsPopulating     bool
}
func NewProcedureCache() *ProcedureCache {
	return &ProcedureCache{
		dbToProcedureMap: make(map[string]map[string]*plan.Procedure),
		IsPopulating:     false,
	}
}