1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 06:48:12 +00:00

LibSQL+SQLServer+SQLStudio+sql: Allocate per-statement-execution IDs

In order to execute a prepared statement multiple times, and track each
execution's results, clients will need to be provided an execution ID.
This will create a monotonically increasing ID each time a prepared
statement is executed for this purpose.
This commit is contained in:
Timothy Flynn 2022-12-02 17:14:56 -05:00 committed by Andreas Kling
parent e2f71d2808
commit aec75d749a
10 changed files with 66 additions and 51 deletions

View file

@ -23,10 +23,10 @@ class SQLClient
Function<void(u64, DeprecatedString const&)> on_connected;
Function<void(u64)> on_disconnected;
Function<void(u64, SQLErrorCode, DeprecatedString const&)> on_connection_error;
Function<void(u64, SQLErrorCode, DeprecatedString const&)> on_execution_error;
Function<void(u64, bool, size_t, size_t, size_t)> on_execution_success;
Function<void(u64, Vector<DeprecatedString> const&)> on_next_result;
Function<void(u64, size_t)> on_results_exhausted;
Function<void(u64, u64, SQLErrorCode, DeprecatedString const&)> on_execution_error;
Function<void(u64, u64, bool, size_t, size_t, size_t)> on_execution_success;
Function<void(u64, u64, Vector<DeprecatedString> const&)> on_next_result;
Function<void(u64, u64, size_t)> on_results_exhausted;
private:
SQLClient(NonnullOwnPtr<Core::Stream::LocalSocket> socket)
@ -36,10 +36,10 @@ private:
virtual void connected(u64 connection_id, DeprecatedString const& connected_to_database) override;
virtual void connection_error(u64 connection_id, SQLErrorCode const& code, DeprecatedString const& message) override;
virtual void execution_success(u64 statement_id, bool has_results, size_t created, size_t updated, size_t deleted) override;
virtual void next_result(u64 statement_id, Vector<DeprecatedString> const&) override;
virtual void results_exhausted(u64 statement_id, size_t total_rows) override;
virtual void execution_error(u64 statement_id, SQLErrorCode const& code, DeprecatedString const& message) override;
virtual void execution_success(u64 statement_id, u64 execution_id, bool has_results, size_t created, size_t updated, size_t deleted) override;
virtual void next_result(u64 statement_id, u64 execution_id, Vector<DeprecatedString> const&) override;
virtual void results_exhausted(u64 statement_id, u64 execution_id, size_t total_rows) override;
virtual void execution_error(u64 statement_id, u64 execution_id, SQLErrorCode const& code, DeprecatedString const& message) override;
virtual void disconnected(u64 connection_id) override;
};