コード例 #1
0
void TRI_DestroyPrimaryCollection (TRI_primary_collection_t* primary) {
  size_t i, n;

  if (primary->_keyGenerator != NULL) {
    TRI_FreeKeyGenerator(primary->_keyGenerator);
  }

  TRI_DestroyReadWriteLock(&primary->_compactionLock);
  TRI_DestroyReadWriteLock(&primary->_lock);

  TRI_DestroyAssociativePointer(&primary->_primaryIndex);

  if (primary->_shaper != NULL) {
    TRI_FreeVocShaper(primary->_shaper);
  }
  
  n = primary->_datafileInfo._nrAlloc;

  for (i = 0; i < n; ++i) {
    TRI_doc_datafile_info_t* dfi = primary->_datafileInfo._table[i];
    if (dfi != NULL) {
      FreeDatafileInfo(dfi);
    }
  }

  TRI_DestroyAssociativePointer(&primary->_datafileInfo);
  
  TRI_DestroyBarrierList(&primary->_barrierList);

  TRI_DestroyCollection(&primary->base);
}
コード例 #2
0
void TRI_DestroyDocCollection (TRI_doc_collection_t* collection) {
  if (collection->_shaper != NULL) {
    TRI_FreeVocShaper(collection->_shaper);
  }

  FreeDatafileInfo(&collection->_datafileInfo);
  TRI_DestroyBarrierList(&collection->_barrierList);

  TRI_DestroyCollection(&collection->base);
}
コード例 #3
0
void TRI_DestroyPrimaryCollection (TRI_primary_collection_t* primary) {
  if (primary->_keyGenerator != NULL) {
    TRI_FreeKeyGenerator(primary->_keyGenerator);
  }

  TRI_DestroyReadWriteLock(&primary->_lock);
  TRI_DestroyAssociativePointer(&primary->_primaryIndex);

  if (primary->_shaper != NULL) {
    TRI_FreeVocShaper(primary->_shaper);
  }

  FreeDatafileInfo(&primary->_datafileInfo);
  TRI_DestroyBarrierList(&primary->_barrierList);

  TRI_DestroyCollection(&primary->base);
}