/* * Copyright (c) 2021, Jan de Visser <jan@de-visser.net> * * SPDX-License-Identifier: BSD-2-Clause */ #include <LibSQL/AST/AST.h> #include <LibSQL/Database.h> #include <LibSQL/Meta.h> #include <LibSQL/Row.h> namespace SQL::AST { ResultOr<ResultSet> Statement::execute(AK::NonnullRefPtr<Database> database, ReadonlySpan<Value> placeholder_values) const { ExecutionContext context { move(database), this, placeholder_values, nullptr }; auto result = TRY(execute(context)); // FIXME: When transactional sessions are supported, don't auto-commit modifications. TRY(context.database->commit()); return result; } }