diff --git a/src/pool/PoolSQL.cc b/src/pool/PoolSQL.cc index 530d9bfd29..a971f836de 100644 --- a/src/pool/PoolSQL.cc +++ b/src/pool/PoolSQL.cc @@ -306,19 +306,6 @@ PoolObjectSQL * PoolSQL::get(const string& name, int ouid, bool olock) } else { - objectsql = create(); - - rc = objectsql->select(db,name,ouid); - - if ( rc != 0 ) - { - delete objectsql; - - unlock(); - - return 0; - } - if ( index != name_pool.end() && index->second->isValid() == false ) { index->second->lock(); @@ -332,6 +319,19 @@ PoolObjectSQL * PoolSQL::get(const string& name, int ouid, bool olock) delete tmp_ptr; } + objectsql = create(); + + rc = objectsql->select(db,name,ouid); + + if ( rc != 0 ) + { + delete objectsql; + + unlock(); + + return 0; + } + string okey = key(objectsql->name,objectsql->uid); pool.insert(make_pair(objectsql->oid, objectsql));