@@ -86,10 +86,6 @@ bool CatalogCache::EvictDatabaseObject(const std::string &database_name) {
8686 return true ;
8787}
8888
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- */
9389std::shared_ptr<DatabaseCatalogObject> CatalogCache::GetDatabaseObject (
9490 oid_t database_oid) {
9591 auto it = database_objects_cache.find (database_oid);
@@ -99,10 +95,6 @@ std::shared_ptr<DatabaseCatalogObject> CatalogCache::GetDatabaseObject(
9995 return it->second ;
10096}
10197
102- /* @brief get database catalog object from cache
103- * @param database_name
104- * @return database catalog object; if not found return null
105- */
10698std::shared_ptr<DatabaseCatalogObject> CatalogCache::GetDatabaseObject (
10799 const std::string &database_name) {
108100 auto it = database_name_cache.find (database_name);
@@ -120,10 +112,6 @@ std::vector<std::shared_ptr<DatabaseCatalogObject>> CatalogCache::GetAllDatabase
120112 return (databases);
121113}
122114
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- */
127115std::shared_ptr<TableCatalogObject> CatalogCache::GetCachedTableObject (
128116 oid_t database_oid, oid_t table_oid) {
129117 auto database_object = GetDatabaseObject (database_oid);
@@ -133,10 +121,6 @@ std::shared_ptr<TableCatalogObject> CatalogCache::GetCachedTableObject(
133121 return nullptr ;
134122}
135123
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- */
140124std::shared_ptr<IndexCatalogObject> CatalogCache::GetCachedIndexObject (
141125 oid_t database_oid, oid_t index_oid) {
142126 auto database_object = GetDatabaseObject (database_oid);
@@ -146,10 +130,6 @@ std::shared_ptr<IndexCatalogObject> CatalogCache::GetCachedIndexObject(
146130 return nullptr ;
147131}
148132
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- */
153133std::shared_ptr<IndexCatalogObject> CatalogCache::GetCachedIndexObject (
154134 const std::string &database_name, const std::string &index_name,
155135 const std::string &schema_name) {
@@ -161,43 +141,32 @@ std::shared_ptr<IndexCatalogObject> CatalogCache::GetCachedIndexObject(
161141 return nullptr ;
162142}
163143
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- */
168144bool CatalogCache::InsertSequenceObject (
169145 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) {
171147 return false ; // invalid object
172148 }
173149
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 () );
176152
177153 // check if already in cache
178- if (sequence_objects_cache.find (hash_key ) !=
154+ if (sequence_objects_cache.find (key ) !=
179155 sequence_objects_cache.end ()) {
180156 LOG_DEBUG (" Sequence %s already exists in cache!" ,
181- sequence_object->seq_name .c_str ());
157+ sequence_object->GetName () .c_str ());
182158 return false ;
183159 }
184160
185161 sequence_objects_cache.insert (
186- std::make_pair (hash_key , sequence_object));
162+ std::make_pair (key , sequence_object));
187163 return true ;
188164}
189165
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- */
196166bool CatalogCache::EvictSequenceObject (const std::string & sequence_name,
197167 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);
201170 if (it == sequence_objects_cache.end ()) {
202171 return false ; // sequence not found in cache
203172 }
@@ -208,32 +177,16 @@ bool CatalogCache::EvictSequenceObject(const std::string & sequence_name,
208177 return true ;
209178}
210179
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- */
216180std::shared_ptr<SequenceCatalogObject> CatalogCache::GetSequenceObject (
217181 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 );
220184 if (it == sequence_objects_cache.end ()) {
221185 return nullptr ;
222186 }
223187 return it->second ;
224188}
225189
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- }
237190
238191} // namespace catalog
239192} // namespace peloton
0 commit comments