Database Block
| 117 | |
| 118 | // Database Block |
| 119 | class dsql_dbb : public pool_alloc<dsql_type_dbb> |
| 120 | { |
| 121 | public: |
| 122 | Firebird::LeftPooledMap<MetaName, class dsql_rel*> dbb_relations; // known relations in database |
| 123 | Firebird::LeftPooledMap<QualifiedName, class dsql_prc*> dbb_procedures; // known procedures in database |
| 124 | Firebird::LeftPooledMap<QualifiedName, class dsql_udf*> dbb_functions; // known functions in database |
| 125 | Firebird::LeftPooledMap<MetaName, class dsql_intlsym*> dbb_charsets; // known charsets in database |
| 126 | Firebird::LeftPooledMap<MetaName, class dsql_intlsym*> dbb_collations; // known collations in database |
| 127 | Firebird::NonPooledMap<SSHORT, dsql_intlsym*> dbb_charsets_by_id; // charsets sorted by charset_id |
| 128 | Firebird::LeftPooledMap<Firebird::string, DsqlDmlRequest*> dbb_cursors; // known cursors in database |
| 129 | Firebird::AutoPtr<DsqlStatementCache> dbb_statement_cache; |
| 130 | |
| 131 | MemoryPool& dbb_pool; // The current pool for the dbb |
| 132 | Attachment* dbb_attachment; |
| 133 | MetaName dbb_dfl_charset; |
| 134 | bool dbb_no_charset; |
| 135 | |
| 136 | dsql_dbb(MemoryPool& p, Attachment* attachment); |
| 137 | ~dsql_dbb(); |
| 138 | |
| 139 | MemoryPool* createPool() |
| 140 | { |
| 141 | return dbb_attachment->createPool(); |
| 142 | } |
| 143 | |
| 144 | void deletePool(MemoryPool* pool) |
| 145 | { |
| 146 | dbb_attachment->deletePool(pool); |
| 147 | } |
| 148 | }; |
| 149 | |
| 150 | //! Relation block |
| 151 | class dsql_rel : public pool_alloc<dsql_type_rel> |