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

LibSQL+SQLServer: Remove Core::EventReceiver parent from SQL::Database

This relationship was only used to provide factory methods for the
database.
This commit is contained in:
Timothy Flynn 2023-08-07 11:03:42 -04:00 committed by Tim Flynn
parent 4a04438e43
commit 1151ba333a
5 changed files with 72 additions and 68 deletions

View file

@ -15,8 +15,14 @@
namespace SQL {
Database::Database(DeprecatedString name)
: m_heap(Heap::create(move(name)).release_value_but_fixme_should_propagate_errors())
ErrorOr<NonnullRefPtr<Database>> Database::create(DeprecatedString name)
{
auto heap = TRY(Heap::create(move(name)));
return adopt_nonnull_ref_or_enomem(new (nothrow) Database(move(heap)));
}
Database::Database(NonnullRefPtr<Heap> heap)
: m_heap(move(heap))
, m_serializer(m_heap)
{
}

View file

@ -10,7 +10,6 @@
#include <AK/DeprecatedString.h>
#include <AK/NonnullRefPtr.h>
#include <AK/RefPtr.h>
#include <LibCore/EventReceiver.h>
#include <LibSQL/Forward.h>
#include <LibSQL/Heap.h>
#include <LibSQL/Meta.h>
@ -24,11 +23,10 @@ namespace SQL {
* to store in it. It has BTree pointers for B-Trees holding the definitions
* of tables, columns, indexes, and other SQL objects.
*/
class Database : public Core::EventReceiver {
C_OBJECT(Database);
class Database : public RefCounted<Database> {
public:
~Database() override;
static ErrorOr<NonnullRefPtr<Database>> create(DeprecatedString);
~Database();
ResultOr<void> open();
bool is_open() const { return m_open; }
@ -50,7 +48,7 @@ public:
ErrorOr<void> update(Row&);
private:
explicit Database(DeprecatedString);
explicit Database(NonnullRefPtr<Heap>);
bool m_open { false };
NonnullRefPtr<Heap> m_heap;