MySQL 9.3.0
Source Code Documentation
jit_executor_context.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024, 2025, Oracle and/or its affiliates.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License, version 2.0,
6 * as published by the Free Software Foundation.
7 *
8 * This program is designed to work with certain software (including
9 * but not limited to OpenSSL) that is licensed under separate terms,
10 * as designated in a particular file or component or in included license
11 * documentation. The authors of MySQL hereby grant you an additional
12 * permission to link the program and your derivative works with the
13 * separately licensed software that they have either included with
14 * the program or referenced in the documentation.
15 *
16 * This program is distributed in the hope that it will be useful, but
17 * WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
19 * the GNU General Public License, version 2.0, for more details.
20 *
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software Foundation, Inc.,
23 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
24 */
25
26#ifndef ROUTER_SRC_JIT_EXECUTOR_INCLUDE_MYSQLROUTER_JIT_EXECUTOR_CONTEXT_H_
27#define ROUTER_SRC_JIT_EXECUTOR_INCLUDE_MYSQLROUTER_JIT_EXECUTOR_CONTEXT_H_
28
29#include <functional>
30#include <string>
31#include <vector>
32
37
38namespace jit_executor {
39
40class IContext {
41 public:
42 virtual ~IContext() = default;
43 virtual std::string execute(const std::string &module,
44 const std::string &object,
45 const std::string &function,
46 const std::vector<shcore::Value> &parameters,
47 int timeout, ResultType result_type,
48 const GlobalCallbacks &global_callbacks) = 0;
49
50 virtual bool wait_for_idle() = 0;
51 virtual size_t id() = 0;
52};
53
54} // namespace jit_executor
55
56#endif // ROUTER_SRC_JIT_EXECUTOR_INCLUDE_MYSQLROUTER_JIT_EXECUTOR_CONTEXT_H_
Definition: jit_executor_context.h:40
virtual std::string execute(const std::string &module, const std::string &object, const std::string &function, const std::vector< shcore::Value > &parameters, int timeout, ResultType result_type, const GlobalCallbacks &global_callbacks)=0
virtual bool wait_for_idle()=0
virtual ~IContext()=default
virtual size_t id()=0
Definition: jit_executor_callbacks.h:36
ResultType
Definition: jit_executor_common.h:32
static bool timeout(bool(*wait_condition)())
Timeout function.
Definition: log0meb.cc:498
Definition: jit_executor_callbacks.h:38