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 Status BuildTable(const std::string& dbname, Env* env, const Options& options,
26 TableCache* table_cache, Iterator* iter, FileMetaData* meta);
27 28 } // namespace leveldb
29 30 #endif // STORAGE_LEVELDB_DB_BUILDER_H_
31