Files
scylladb/lang/lua.hh
Kefu Chai df63e2ba27 types: move types.{cc,hh} into types
they are part of the CQL type system, and are "closer" to types.
let's move them into "types" directory.

the building systems are updated accordingly.

the source files referencing `types.hh` were updated using following
command:

```
find . -name "*.{cc,hh}" -exec sed -i 's/\"types.hh\"/\"types\/types.hh\"/' {} +
```

the source files under sstables include "types.hh", which is
indeed the one located under "sstables", so include "sstables/types.hh"
instea, so it's more explicit.

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>

Closes #12926
2023-02-19 21:05:45 +02:00

37 lines
872 B
C++

/*
* Copyright (C) 2019-present ScyllaDB
*/
/*
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
#pragma once
#include "types/types.hh"
#include "utils/updateable_value.hh"
#include <seastar/core/future.hh>
namespace db {
class config;
}
namespace lua {
// type safe alias
struct bitcode_view {
std::string_view bitcode;
};
struct runtime_config {
utils::updateable_value<unsigned> timeout_in_ms;
utils::updateable_value<unsigned> max_bytes;
utils::updateable_value<unsigned> max_contiguous;
};
runtime_config make_runtime_config(const db::config& config);
sstring compile(const runtime_config& cfg, const std::vector<sstring>& arg_names, sstring script);
seastar::future<bytes_opt> run_script(bitcode_view bitcode, const std::vector<data_value>& values,
data_type return_type, const runtime_config& cfg);
}