1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 17:57:35 +00:00

LibSQL+SQLServer: Return the new Result class from statement executions

We can now TRY anything that returns a SQL::Result or an AK::Error.
This commit is contained in:
Timothy Flynn 2022-02-09 15:57:57 -05:00 committed by Linus Groh
parent d9055de7ea
commit 6620f19979
11 changed files with 337 additions and 337 deletions

View file

@ -298,7 +298,7 @@ private:
struct ExecutionContext {
NonnullRefPtr<Database> database;
RefPtr<SQLResult> result { nullptr };
Optional<Result> result;
class Statement const* statement;
Tuple* current_row { nullptr };
};
@ -725,8 +725,12 @@ private:
class Statement : public ASTNode {
public:
RefPtr<SQLResult> execute(AK::NonnullRefPtr<Database> database) const;
virtual RefPtr<SQLResult> execute(ExecutionContext&) const { return nullptr; }
Result execute(AK::NonnullRefPtr<Database> database) const;
virtual Result execute(ExecutionContext&) const
{
return { SQLCommand::Unknown, SQLErrorCode::NotYetImplemented };
}
};
class ErrorStatement final : public Statement {
@ -743,7 +747,7 @@ public:
const String& schema_name() const { return m_schema_name; }
bool is_error_if_schema_exists() const { return m_is_error_if_schema_exists; }
RefPtr<SQLResult> execute(ExecutionContext&) const override;
Result execute(ExecutionContext&) const override;
private:
String m_schema_name;
@ -782,7 +786,7 @@ public:
bool is_temporary() const { return m_is_temporary; }
bool is_error_if_table_exists() const { return m_is_error_if_table_exists; }
RefPtr<SQLResult> execute(ExecutionContext&) const override;
Result execute(ExecutionContext&) const override;
private:
String m_schema_name;
@ -945,7 +949,7 @@ public:
bool has_selection() const { return !m_select_statement.is_null(); }
const RefPtr<Select>& select_statement() const { return m_select_statement; }
virtual RefPtr<SQLResult> execute(ExecutionContext&) const override;
virtual Result execute(ExecutionContext&) const override;
private:
RefPtr<CommonTableExpressionList> m_common_table_expression_list;
@ -1038,7 +1042,7 @@ public:
const RefPtr<GroupByClause>& group_by_clause() const { return m_group_by_clause; }
const NonnullRefPtrVector<OrderingTerm>& ordering_term_list() const { return m_ordering_term_list; }
const RefPtr<LimitClause>& limit_clause() const { return m_limit_clause; }
RefPtr<SQLResult> execute(ExecutionContext&) const override;
Result execute(ExecutionContext&) const override;
private:
RefPtr<CommonTableExpressionList> m_common_table_expression_list;
@ -1059,7 +1063,7 @@ public:
}
NonnullRefPtr<QualifiedTableName> qualified_table_name() const { return m_qualified_table_name; }
RefPtr<SQLResult> execute(ExecutionContext&) const override;
Result execute(ExecutionContext&) const override;
private:
NonnullRefPtr<QualifiedTableName> m_qualified_table_name;