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 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 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. 25extern 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