| 1041 | } |
| 1042 | |
| 1043 | void populate(const PathName& db, Mapping::DbHandle& iDb, const string& name, const string* sqlRole, |
| 1044 | const string& trusted_role) |
| 1045 | { |
| 1046 | AutoPtr<DbCache>* ptr = databases.get(db); |
| 1047 | DbCache* c = nullptr; |
| 1048 | if (ptr) |
| 1049 | { |
| 1050 | c = ptr->get(); |
| 1051 | fb_assert(c); |
| 1052 | } |
| 1053 | else |
| 1054 | { |
| 1055 | c = FB_NEW_POOL(getPool()) DbCache(getPool()); |
| 1056 | *(databases.put(db)) = c; |
| 1057 | } |
| 1058 | c->populate(iDb, name, sqlRole, trusted_role); |
| 1059 | |
| 1060 | setupIpc(); |
| 1061 | } |
| 1062 | |
| 1063 | void invalidate(const PathName& db) |
| 1064 | { |