@@ -86,10 +86,6 @@ bool CatalogCache::EvictDatabaseObject(const std::string &database_name) {
86
86
return true ;
87
87
}
88
88
89
- /* @brief get database catalog object from cache
90
- * @param database_oid
91
- * @return database catalog object; if not found return object with invalid oid
92
- */
93
89
std::shared_ptr<DatabaseCatalogObject> CatalogCache::GetDatabaseObject (
94
90
oid_t database_oid) {
95
91
auto it = database_objects_cache.find (database_oid);
@@ -99,10 +95,6 @@ std::shared_ptr<DatabaseCatalogObject> CatalogCache::GetDatabaseObject(
99
95
return it->second ;
100
96
}
101
97
102
- /* @brief get database catalog object from cache
103
- * @param database_name
104
- * @return database catalog object; if not found return null
105
- */
106
98
std::shared_ptr<DatabaseCatalogObject> CatalogCache::GetDatabaseObject (
107
99
const std::string &database_name) {
108
100
auto it = database_name_cache.find (database_name);
@@ -120,10 +112,6 @@ std::vector<std::shared_ptr<DatabaseCatalogObject>> CatalogCache::GetAllDatabase
120
112
return (databases);
121
113
}
122
114
123
- /* @brief search table catalog object from all cached database objects
124
- * @param table_oid
125
- * @return table catalog object; if not found return null
126
- */
127
115
std::shared_ptr<TableCatalogObject> CatalogCache::GetCachedTableObject (
128
116
oid_t database_oid, oid_t table_oid) {
129
117
auto database_object = GetDatabaseObject (database_oid);
@@ -133,10 +121,6 @@ std::shared_ptr<TableCatalogObject> CatalogCache::GetCachedTableObject(
133
121
return nullptr ;
134
122
}
135
123
136
- /* @brief search index catalog object from all cached database objects
137
- * @param index_oid
138
- * @return index catalog object; if not found return null
139
- */
140
124
std::shared_ptr<IndexCatalogObject> CatalogCache::GetCachedIndexObject (
141
125
oid_t database_oid, oid_t index_oid) {
142
126
auto database_object = GetDatabaseObject (database_oid);
@@ -146,10 +130,6 @@ std::shared_ptr<IndexCatalogObject> CatalogCache::GetCachedIndexObject(
146
130
return nullptr ;
147
131
}
148
132
149
- /* @brief search index catalog object from all cached database objects
150
- * @param index_name
151
- * @return index catalog object; if not found return null
152
- */
153
133
std::shared_ptr<IndexCatalogObject> CatalogCache::GetCachedIndexObject (
154
134
const std::string &database_name, const std::string &index_name,
155
135
const std::string &schema_name) {
@@ -161,43 +141,32 @@ std::shared_ptr<IndexCatalogObject> CatalogCache::GetCachedIndexObject(
161
141
return nullptr ;
162
142
}
163
143
164
- /* @brief insert sequence catalog object into cache
165
- * @param sequence_object
166
- * @return false only if sequence already exists in cache or invalid
167
- */
168
144
bool CatalogCache::InsertSequenceObject (
169
145
std::shared_ptr<SequenceCatalogObject> sequence_object) {
170
- if (!sequence_object || sequence_object->seq_oid == INVALID_OID) {
146
+ if (!sequence_object || sequence_object->GetSequenceOid () == INVALID_OID) {
171
147
return false ; // invalid object
172
148
}
173
149
174
- std::size_t hash_key = GetHashKey (sequence_object->seq_name ,
175
- sequence_object->db_oid );
150
+ std::pair key = std::make_pair (sequence_object->GetDatabaseOid () ,
151
+ sequence_object->GetName () );
176
152
177
153
// check if already in cache
178
- if (sequence_objects_cache.find (hash_key ) !=
154
+ if (sequence_objects_cache.find (key ) !=
179
155
sequence_objects_cache.end ()) {
180
156
LOG_DEBUG (" Sequence %s already exists in cache!" ,
181
- sequence_object->seq_name .c_str ());
157
+ sequence_object->GetName () .c_str ());
182
158
return false ;
183
159
}
184
160
185
161
sequence_objects_cache.insert (
186
- std::make_pair (hash_key , sequence_object));
162
+ std::make_pair (key , sequence_object));
187
163
return true ;
188
164
}
189
165
190
- /* @brief evict sequence catalog object from cache
191
- * @param sequence_name
192
- * @param database_oid
193
- * @return true if specified sequence is found and evicted;
194
- * false if not found
195
- */
196
166
bool CatalogCache::EvictSequenceObject (const std::string & sequence_name,
197
167
oid_t database_oid) {
198
- std::size_t hash_key = GetHashKey (sequence_name, database_oid);
199
-
200
- auto it = sequence_objects_cache.find (hash_key);
168
+ std::pair key = std::make_pair (database_oid, sequence_name);
169
+ auto it = sequence_objects_cache.find (key);
201
170
if (it == sequence_objects_cache.end ()) {
202
171
return false ; // sequence not found in cache
203
172
}
@@ -208,32 +177,16 @@ bool CatalogCache::EvictSequenceObject(const std::string & sequence_name,
208
177
return true ;
209
178
}
210
179
211
- /* @brief get sequence catalog object from cache
212
- * @param sequence_name
213
- * @param database_oid
214
- * @return sequence catalog object; if not found return object with invalid oid
215
- */
216
180
std::shared_ptr<SequenceCatalogObject> CatalogCache::GetSequenceObject (
217
181
const std::string & sequence_name, oid_t database_oid) {
218
- std::size_t hash_key = GetHashKey (sequence_name, database_oid );
219
- auto it = sequence_objects_cache.find (hash_key );
182
+ std::pair key = std::make_pair (database_oid, sequence_name );
183
+ auto it = sequence_objects_cache.find (key );
220
184
if (it == sequence_objects_cache.end ()) {
221
185
return nullptr ;
222
186
}
223
187
return it->second ;
224
188
}
225
189
226
- /* @brief get the hash key given the sequence information
227
- * @param sequence_name
228
- * @param database_oid
229
- * @return hash key
230
- */
231
- std::size_t CatalogCache::GetHashKey (const std::string sequence_name,
232
- oid_t database_oid) {
233
- std::tuple<std::string, size_t > key (sequence_name, database_oid);
234
- boost::hash<std::tuple<std::string, size_t >> key_hash;
235
- return key_hash (key);
236
- }
237
190
238
191
} // namespace catalog
239
192
} // namespace peloton
0 commit comments