Files
scylladb/tools/lua_sstable_consumer.hh
Botond Dénes 9dd5107919 tools/sstable: introduce the Lua sstable consumer
The Lua sstable consumer loads a script from the specified path then
feeds the mutation fragment stream to the script via the
sstable_consumer methods, each method of which the script is allowed to
define, effectively overloading the virtual method in Lua.
This allows for very wide and flexible customization opportunities for
what to extract from sstables and how to process and present them,
without the need to recompile the scylla-sstable tool.
2023-01-09 09:46:57 -05:00

26 lines
688 B
C++

/*
* Copyright (C) 2022-present ScyllaDB
*/
/*
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
#pragma once
#include <seastar/util/program-options.hh>
#include "schema_fwd.hh"
#include "tools/sstable_consumer.hh"
class reader_permit;
/// Sstable consumer consuming the content via a lua script
///
/// Loads the script from /p script_path and feeds the consumed content to the
/// script.
/// See the help section for the script operation in ./scylla-sstable.cc for more
/// details on the Lua API.
future<std::unique_ptr<sstable_consumer>> make_lua_sstable_consumer(schema_ptr s, reader_permit p, std::string_view script_path,
program_options::string_map script_args);