Add Google's LevelDB support
[novacoin.git] / src / leveldb / db / builder.h
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_