v3 RC1 #1

Merged
danieljsummers merged 25 commits from merge-projects into main 2024-01-06 20:51:49 +00:00
4 changed files with 658 additions and 571 deletions
Showing only changes of commit a6d179d401 - Show all commits

View File

@ -1,5 +1,4 @@
/// Document store implementation for SQLite
module BitBadger.Documents.Sqlite
namespace BitBadger.Documents.Sqlite
open BitBadger.Documents
open Microsoft.Data.Sqlite
@ -106,11 +105,14 @@ module Results =
ToCustomList<'TDoc>(cmd, fromData<'TDoc>)
/// Execute a non-query command
let internal write (cmd: SqliteCommand) = backgroundTask {
[<AutoOpen>]
module internal Helpers =
/// Execute a non-query command
let internal write (cmd: SqliteCommand) = backgroundTask {
let! _ = cmd.ExecuteNonQueryAsync()
()
}
}
/// Versions of queries that accept a SqliteConnection as the last parameter
@ -373,15 +375,19 @@ module Definition =
use conn = Configuration.dbConn ()
WithConn.Definition.ensureTable name conn
/// Insert a new document
[<CompiledName "Insert">]
let insert<'TDoc> tableName (document: 'TDoc) =
/// Document insert/save functions
[<AutoOpen>]
module Document =
/// Insert a new document
[<CompiledName "Insert">]
let insert<'TDoc> tableName (document: 'TDoc) =
use conn = Configuration.dbConn ()
WithConn.insert tableName document conn
/// Save a document, inserting it if it does not exist and updating it if it does (AKA "upsert")
[<CompiledName "Save">]
let save<'TDoc> tableName (document: 'TDoc) =
/// Save a document, inserting it if it does not exist and updating it if it does (AKA "upsert")
[<CompiledName "Save">]
let save<'TDoc> tableName (document: 'TDoc) =
use conn = Configuration.dbConn ()
WithConn.save tableName document conn
@ -613,6 +619,7 @@ module Extensions =
open System.Runtime.CompilerServices
/// C# extensions on the SqliteConnection type
[<Extension>]
type SqliteConnectionCSharpExtensions =
/// Execute a query that returns a list of results

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@ namespace BitBadger.Documents.Tests;
using System;
using System.IO;
using System.Threading.Tasks;
using static Sqlite;
using Sqlite;
/// <summary>
/// A throwaway SQLite database file, which will be deleted when it goes out of scope

View File

@ -7,7 +7,7 @@ let allTests =
[ CommonTests.all
CommonCSharpTests.Unit
SqliteTests.all
testSequenced SqliteCSharpTests.Integration ]
SqliteCSharpTests.All ]
[<EntryPoint>]
let main args = runTestsWithCLIArgs [] args allTests