1 // Copyright (c) 2011 The LevelDB Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. See the AUTHORS file for names of contributors. 4 5 #ifndef STORAGE_LEVELDB_DB_BUILDER_H_ 6 #define STORAGE_LEVELDB_DB_BUILDER_H_ 7 8 #include "leveldb/status.h" 9 10 namespace leveldb { 11 12 struct Options; 13 struct FileMetaData; 14 15 class Env; 16 class Iterator; 17 class TableCache; 18 class VersionEdit; 19 20 // Build a Table file from the contents of *iter. The generated file 21 // will be named according to meta->number. On success, the rest of 22 // *meta will be filled with metadata about the generated table. 23 // If no data is present in *iter, meta->file_size will be set to 24 // zero, and no Table file will be produced. 25 extern Status BuildTable(const std::string& dbname, 26 Env* env, 27 const Options& options, 28 TableCache* table_cache, 29 Iterator* iter, 30 FileMetaData* meta); 31 32 } // namespace leveldb 33 34 #endif // STORAGE_LEVELDB_DB_BUILDER_H_ 35