Statement.cpp 639 B

12345678910111213141516171819202122232425
  1. /*
  2. * Copyright (c) 2021, Jan de Visser <jan@de-visser.net>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <LibSQL/AST/AST.h>
  7. #include <LibSQL/Database.h>
  8. #include <LibSQL/Meta.h>
  9. #include <LibSQL/Row.h>
  10. namespace SQL::AST {
  11. ResultOr<ResultSet> Statement::execute(AK::NonnullRefPtr<Database> database, Span<Value const> placeholder_values) const
  12. {
  13. ExecutionContext context { move(database), this, placeholder_values, nullptr };
  14. auto result = TRY(execute(context));
  15. // FIXME: When transactional sessions are supported, don't auto-commit modifications.
  16. TRY(context.database->commit());
  17. return result;
  18. }
  19. }