Line data Source code
1 : #ifndef BIGQUERY_EMULATOR_BACKEND_ENGINE_COORDINATOR_STUB_EXECUTORS_H_
2 : #define BIGQUERY_EMULATOR_BACKEND_ENGINE_COORDINATOR_STUB_EXECUTORS_H_
3 :
4 : // Placeholder executor for the `kUnsupported` route. Returns
5 : // `absl::UnimplementedError` with a disposition-aware message that
6 : // points the operator at `docs/ENGINE_POLICY.md`.
7 :
8 : #include <memory>
9 :
10 : #include "absl/status/status.h"
11 : #include "absl/status/statusor.h"
12 : #include "backend/engine/coordinator/executor.h"
13 : #include "backend/engine/engine.h"
14 :
15 : namespace googlesql {
16 : class Catalog;
17 : class ResolvedStatement;
18 : } // namespace googlesql
19 :
20 : namespace bigquery_emulator {
21 : namespace backend {
22 : namespace engine {
23 : namespace coordinator {
24 :
25 : class UnsupportedExecutor : public Executor {
26 : public:
27 4 : UnsupportedExecutor() = default;
28 : ~UnsupportedExecutor() override;
29 :
30 : UnsupportedExecutor(const UnsupportedExecutor&) = delete;
31 : UnsupportedExecutor& operator=(const UnsupportedExecutor&) = delete;
32 :
33 : [[nodiscard]] absl::StatusOr<std::unique_ptr<RowSource>> ExecuteQuery(
34 : const QueryRequest& request,
35 : const ::googlesql::ResolvedStatement& stmt,
36 : ::googlesql::Catalog* catalog) override;
37 :
38 : [[nodiscard]] absl::StatusOr<DmlResult> ExecuteDml(
39 : const QueryRequest& request,
40 : const ::googlesql::ResolvedStatement& stmt,
41 : ::googlesql::Catalog* catalog) override;
42 :
43 : [[nodiscard]] absl::Status ExecuteDdl(
44 : const QueryRequest& request,
45 : const ::googlesql::ResolvedStatement& stmt,
46 : ::googlesql::Catalog* catalog) override;
47 : };
48 :
49 : } // namespace coordinator
50 : } // namespace engine
51 : } // namespace backend
52 : } // namespace bigquery_emulator
53 :
54 : #endif // BIGQUERY_EMULATOR_BACKEND_ENGINE_COORDINATOR_STUB_EXECUTORS_H_
|