aboutsummaryrefslogtreecommitdiff
path: root/lib/VNLib.Plugins.Extensions.Data/src/Abstractions
diff options
context:
space:
mode:
Diffstat (limited to 'lib/VNLib.Plugins.Extensions.Data/src/Abstractions')
-rw-r--r--lib/VNLib.Plugins.Extensions.Data/src/Abstractions/IConcurrentDbContext.cs44
-rw-r--r--lib/VNLib.Plugins.Extensions.Data/src/Abstractions/IDataStore.cs4
-rw-r--r--lib/VNLib.Plugins.Extensions.Data/src/Abstractions/IDbContextHandle.cs2
-rw-r--r--lib/VNLib.Plugins.Extensions.Data/src/Abstractions/ITransactionalDbContext.cs58
4 files changed, 3 insertions, 105 deletions
diff --git a/lib/VNLib.Plugins.Extensions.Data/src/Abstractions/IConcurrentDbContext.cs b/lib/VNLib.Plugins.Extensions.Data/src/Abstractions/IConcurrentDbContext.cs
deleted file mode 100644
index f3308c5..0000000
--- a/lib/VNLib.Plugins.Extensions.Data/src/Abstractions/IConcurrentDbContext.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2023 Vaughn Nugent
-*
-* Library: VNLib
-* Package: VNLib.Plugins.Extensions.Data
-* File: IConcurrentDbContext.cs
-*
-* IConcurrentDbContext.cs is part of VNLib.Plugins.Extensions.Data which is part of the larger
-* VNLib collection of libraries and utilities.
-*
-* VNLib.Plugins.Extensions.Data is free software: you can redistribute it and/or modify
-* it under the terms of the GNU Affero General Public License as
-* published by the Free Software Foundation, either version 3 of the
-* License, or (at your option) any later version.
-*
-* VNLib.Plugins.Extensions.Data is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU Affero General Public License for more details.
-*
-* You should have received a copy of the GNU Affero General Public License
-* along with this program. If not, see https://www.gnu.org/licenses/.
-*/
-
-using System.Threading;
-using System.Threading.Tasks;
-using System.Transactions;
-
-namespace VNLib.Plugins.Extensions.Data.Abstractions
-{
- /// <summary>
- /// Represents a database context that can manage concurrency via transactions
- /// </summary>
- public interface IConcurrentDbContext : ITransactionalDbContext
- {
- /// <summary>
- /// Opens a single transaction on the current context. If a transaction is already open,
- /// it is disposed and a new transaction is begun.
- /// </summary>
- /// <param name="isolationLevel">The isolation level of the transaction</param>
- /// <param name="cancellationToken">A token to cancel the operations</param>
- Task OpenTransactionAsync(IsolationLevel isolationLevel, CancellationToken cancellationToken = default);
- }
-} \ No newline at end of file
diff --git a/lib/VNLib.Plugins.Extensions.Data/src/Abstractions/IDataStore.cs b/lib/VNLib.Plugins.Extensions.Data/src/Abstractions/IDataStore.cs
index bdd1b6c..e966176 100644
--- a/lib/VNLib.Plugins.Extensions.Data/src/Abstractions/IDataStore.cs
+++ b/lib/VNLib.Plugins.Extensions.Data/src/Abstractions/IDataStore.cs
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2023 Vaughn Nugent
+* Copyright (c) 2024 Vaughn Nugent
*
* Library: VNLib
* Package: VNLib.Plugins.Extensions.Data
@@ -37,7 +37,7 @@ namespace VNLib.Plugins.Extensions.Data.Abstractions
string GetNewRecordId();
/// <summary>
- /// Gets a new <see cref="TransactionalDbContext"/> ready for use
+ /// Gets a new <see cref="IDbContextHandle"/> ready for use
/// </summary>
/// <returns></returns>
IDbContextHandle GetNewContext();
diff --git a/lib/VNLib.Plugins.Extensions.Data/src/Abstractions/IDbContextHandle.cs b/lib/VNLib.Plugins.Extensions.Data/src/Abstractions/IDbContextHandle.cs
index 73734b5..0d06467 100644
--- a/lib/VNLib.Plugins.Extensions.Data/src/Abstractions/IDbContextHandle.cs
+++ b/lib/VNLib.Plugins.Extensions.Data/src/Abstractions/IDbContextHandle.cs
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2023 Vaughn Nugent
+* Copyright (c) 2024 Vaughn Nugent
*
* Library: VNLib
* Package: VNLib.Plugins.Extensions.Data
diff --git a/lib/VNLib.Plugins.Extensions.Data/src/Abstractions/ITransactionalDbContext.cs b/lib/VNLib.Plugins.Extensions.Data/src/Abstractions/ITransactionalDbContext.cs
deleted file mode 100644
index dd906d1..0000000
--- a/lib/VNLib.Plugins.Extensions.Data/src/Abstractions/ITransactionalDbContext.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-* Copyright (c) 2023 Vaughn Nugent
-*
-* Library: VNLib
-* Package: VNLib.Plugins.Extensions.Data
-* File: TransactionalDbContext.cs
-*
-* TransactionalDbContext.cs is part of VNLib.Plugins.Extensions.Data which is part of the larger
-* VNLib collection of libraries and utilities.
-*
-* VNLib.Plugins.Extensions.Data is free software: you can redistribute it and/or modify
-* it under the terms of the GNU Affero General Public License as
-* published by the Free Software Foundation, either version 3 of the
-* License, or (at your option) any later version.
-*
-* VNLib.Plugins.Extensions.Data is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU Affero General Public License for more details.
-*
-* You should have received a copy of the GNU Affero General Public License
-* along with this program. If not, see https://www.gnu.org/licenses/.
-*/
-
-using System.Threading;
-using System.Threading.Tasks;
-
-using Microsoft.EntityFrameworkCore.Storage;
-
-namespace VNLib.Plugins.Extensions.Data.Abstractions
-{
- /// <summary>
- /// Represents a database context that can manage concurrency via transactions
- /// </summary>
- public interface ITransactionalDbContext
- {
- /// <summary>
- /// The transaction that was opened on the current context
- /// </summary>
- IDbContextTransaction? Transaction { get; set; }
-
- /// <summary>
- /// Invokes the <see cref="IDbContextTransaction.Commit"/> on the current context
- /// </summary>
- Task CommitTransactionAsync(CancellationToken token = default);
-
- /// <summary>
- /// Opens a single transaction on the current context. If a transaction is already open,
- /// it is disposed and a new transaction is begun.
- /// </summary>
- Task OpenTransactionAsync(CancellationToken cancellationToken = default);
-
- /// <summary>
- /// Invokes the <see cref="IDbContextTransaction.Rollback"/> on the current context
- /// </summary>
- Task RollbackTransctionAsync(CancellationToken token = default);
- }
-} \ No newline at end of file