GetExtensionsCollectionFromContext returns the extensions collection from the given context. Will always return a collection if no error is returned.
(ctx *sql.Context, database string)
| 287 | // GetExtensionsCollectionFromContext returns the extensions collection from the given context. Will always return a |
| 288 | // collection if no error is returned. |
| 289 | func GetExtensionsCollectionFromContext(ctx *sql.Context, database string) (*extensions.Collection, error) { |
| 290 | cv, err := getContextValues(ctx) |
| 291 | if err != nil { |
| 292 | return nil, err |
| 293 | } |
| 294 | if cv.exts == nil { |
| 295 | cv.exts = make(map[string]*extensions.Collection) |
| 296 | } |
| 297 | if len(database) == 0 { |
| 298 | database = ctx.GetCurrentDatabase() |
| 299 | } |
| 300 | if cv.exts[database] == nil { |
| 301 | _, root, err := getRootFromContextForDatabase(ctx, database) |
| 302 | if err != nil { |
| 303 | return nil, err |
| 304 | } |
| 305 | cv.exts[database], err = extensions.LoadExtensions(ctx, root) |
| 306 | if err != nil { |
| 307 | return nil, err |
| 308 | } |
| 309 | } |
| 310 | return cv.exts[database], nil |
| 311 | } |
| 312 | |
| 313 | // GetFunctionsCollectionFromContext returns the functions collection from the given context. Will always return a |
| 314 | // collection if no error is returned. |
no test coverage detected