blob: 02897309a24a3aa4dbe20e9ee6515c357395a259 [file] [log] [blame]
jorlow@chromium.orgf67e15e2011-03-18 22:37:00 +00001// 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
jorlow@chromium.org4671a692011-03-30 18:35:40 +00008#include "leveldb/status.h"
jorlow@chromium.orgf67e15e2011-03-18 22:37:00 +00009
10namespace leveldb {
11
12struct Options;
13struct FileMetaData;
14
15class Env;
16class Iterator;
17class TableCache;
18class 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
gabor@google.comccf0fcd2011-06-22 02:36:45 +000022// *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.
costanaece2062018-03-12 09:14:44 -070025Status BuildTable(const std::string& dbname,
26 Env* env,
27 const Options& options,
28 TableCache* table_cache,
29 Iterator* iter,
30 FileMetaData* meta);
jorlow@chromium.orgf67e15e2011-03-18 22:37:00 +000031
Hans Wennborg36a5f8e2011-10-31 17:22:06 +000032} // namespace leveldb
jorlow@chromium.orgf67e15e2011-03-18 22:37:00 +000033
34#endif // STORAGE_LEVELDB_DB_BUILDER_H_