updateSessionRootForDatabase updates the root for all changes made to root object collections within the context values.
(ctx *sql.Context, db string, cv *contextValues)
| 493 | // updateSessionRootForDatabase updates the root for all changes made to root object collections within the context |
| 494 | // values. |
| 495 | func updateSessionRootForDatabase(ctx *sql.Context, db string, cv *contextValues) error { |
| 496 | session, root, err := getRootFromContextForDatabase(ctx, db) |
| 497 | if err != nil { |
| 498 | return err |
| 499 | } |
| 500 | |
| 501 | newRoot := root |
| 502 | if cv.seqs != nil && cv.seqs[db] != nil { |
| 503 | retRoot, err := cv.seqs[db].UpdateRoot(ctx, newRoot) |
| 504 | if err != nil { |
| 505 | return err |
| 506 | } |
| 507 | newRoot = retRoot.(*RootValue) |
| 508 | delete(cv.seqs, db) |
| 509 | } |
| 510 | |
| 511 | if cv.funcs != nil && cv.funcs[db] != nil && cv.funcs[db].DiffersFrom(ctx, root) { |
| 512 | retRoot, err := cv.funcs[db].UpdateRoot(ctx, newRoot) |
| 513 | if err != nil { |
| 514 | return err |
| 515 | } |
| 516 | newRoot = retRoot.(*RootValue) |
| 517 | delete(cv.funcs, db) |
| 518 | } |
| 519 | |
| 520 | if cv.procs != nil && cv.procs[db] != nil && cv.procs[db].DiffersFrom(ctx, root) { |
| 521 | retRoot, err := cv.procs[db].UpdateRoot(ctx, newRoot) |
| 522 | if err != nil { |
| 523 | return err |
| 524 | } |
| 525 | newRoot = retRoot.(*RootValue) |
| 526 | delete(cv.procs, db) |
| 527 | } |
| 528 | |
| 529 | if cv.trigs != nil && cv.trigs[db] != nil && cv.trigs[db].DiffersFrom(ctx, root) { |
| 530 | retRoot, err := cv.trigs[db].UpdateRoot(ctx, newRoot) |
| 531 | if err != nil { |
| 532 | return err |
| 533 | } |
| 534 | newRoot = retRoot.(*RootValue) |
| 535 | delete(cv.trigs, db) |
| 536 | } |
| 537 | |
| 538 | if cv.exts != nil && cv.exts[db] != nil && cv.exts[db].DiffersFrom(ctx, root) { |
| 539 | retRoot, err := cv.exts[db].UpdateRoot(ctx, newRoot) |
| 540 | if err != nil { |
| 541 | return err |
| 542 | } |
| 543 | newRoot = retRoot.(*RootValue) |
| 544 | delete(cv.exts, db) |
| 545 | } |
| 546 | |
| 547 | if cv.types != nil && cv.types[db] != nil { |
| 548 | retRoot, err := cv.types[db].UpdateRoot(ctx, newRoot) |
| 549 | if err != nil { |
| 550 | return err |
| 551 | } |
| 552 | newRoot = retRoot.(*RootValue) |
no test coverage detected