DotNetDupe
4.0.6
C++17/20 Implementation of the .NET Base Class Library (BCL)
Toggle main menu visibility
Loading...
Searching...
No Matches
InMemoryDatabaseBackend.h
Go to the documentation of this file.
1
#pragma once
2
#include "
Common.h
"
3
#include "
System/Data/Internal/IDatabaseBackend.h
"
4
#include "
System/SmartPointer.h
"
5
6
namespace
DotNetDupe
{
7
namespace
System
{
8
namespace
Data
{
9
namespace
Internal
{
10
16
class
InMemoryDatabaseBackend
:
public
IDatabaseBackend
{
17
private
:
18
struct
Impl;
19
DotNetDupe::System::SmartPointer<Impl>
m_pImpl;
20
21
public
:
23
DOTNETDUPE_API
InMemoryDatabaseBackend
();
24
26
DOTNETDUPE_API
~InMemoryDatabaseBackend
()
override
;
27
29
DOTNETDUPE_API
void
ClearDatabase
()
override
;
30
37
DOTNETDUPE_API
Collections::Generic::List<Row>
Execute
(
38
const
String
& sql,
39
const
Collections::Generic::Dictionary<String, String>
& parameters,
40
Collections::Generic::List<String>
& columnNames,
41
int
& rowsAffected
42
)
override
;
43
};
44
45
}
46
}
47
}
48
}
Common.h
Defines common cross-platform macros, export decorators, and fundamental types.
DOTNETDUPE_API
#define DOTNETDUPE_API
Platform-specific linkage decoration for exporting or importing library symbols.
Definition
Common.h:20
IDatabaseBackend.h
SmartPointer.h
Provides reference-counted and weak pointer memory management primitives ensuring zero raw ownership.
DotNetDupe::System::Collections::Generic::Dictionary
Represents a collection of keys and values.
Definition
Dictionary.h:66
DotNetDupe::System::Collections::Generic::List
Represents a strongly typed list of objects accessible by index.
Definition
List.h:29
DotNetDupe::System::Data::Internal::IDatabaseBackend
Interface defining the contract for database storage backends in DotNetDupe.
Definition
IDatabaseBackend.h:29
DotNetDupe::System::Data::Internal::InMemoryDatabaseBackend::Execute
Collections::Generic::List< Row > Execute(const String &sql, const Collections::Generic::Dictionary< String, String > ¶meters, Collections::Generic::List< String > &columnNames, int &rowsAffected) override
Executes a SQL statement (CREATE, INSERT, SELECT, UPDATE, DELETE) in memory.
Definition
InMemoryDatabaseBackend.cpp:394
DotNetDupe::System::Data::Internal::InMemoryDatabaseBackend::~InMemoryDatabaseBackend
~InMemoryDatabaseBackend() override
Destructor releasing internal in-memory tables.
DotNetDupe::System::Data::Internal::InMemoryDatabaseBackend::ClearDatabase
void ClearDatabase() override
Clears all tables and rows in the in-memory database.
Definition
InMemoryDatabaseBackend.cpp:363
DotNetDupe::System::Data::Internal::InMemoryDatabaseBackend::InMemoryDatabaseBackend
InMemoryDatabaseBackend()
Initializes a new instance of InMemoryDatabaseBackend.
Definition
InMemoryDatabaseBackend.cpp:360
DotNetDupe::System::SmartPointer
A unified smart pointer that supports both unique and shared ownership semantics.
Definition
SmartPointer.h:72
DotNetDupe::System::String
Represents text as a sequence of UTF-8 code units with culture-invariant operations.
Definition
String.h:74
DotNetDupe::System::Data::Internal
Definition
DatabaseEngine.h:12
DotNetDupe::System::Data
Definition
DbCommand.h:11
DotNetDupe::System
Definition
Action.h:11
DotNetDupe
Definition
IServiceCollection.h:7
Include
System
Data
Internal
InMemoryDatabaseBackend.h
Generated by
1.18.0