Skip to content

Commit 88a6b34

Browse files
committed
Make SQLiteDatabaseConnectionBuilder use the immutable builder pattern.
1 parent 7999c3f commit 88a6b34

9 files changed

Lines changed: 528 additions & 467 deletions

File tree

SQLitePCL.pretty.Async/AsyncDatabaseConnection.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,8 @@ public static IAsyncDatabaseConnection BuildAsyncDatabaseConnection(
7171
Contract.Requires(This != null);
7272
Contract.Requires(scheduler != null);
7373

74-
var builder = This.Clone();
75-
7674
var progressHandlerResult = new WriteLockedRef<bool>(false);
77-
builder.ProgressHandler = () => progressHandlerResult.Value;
78-
var db = This.Build();
75+
var db = This.With(progressHandler: () => progressHandlerResult.Value).Build();
7976

8077
return new AsyncDatabaseConnectionImpl(db, scheduler, progressHandlerResult);
8178
}

SQLitePCL.pretty.tests/AsyncTests/AsyncBlobStreamTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class AsyncBlobStreamTests
2828
[Fact]
2929
public async Task TestDispose()
3030
{
31-
using (var db = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
31+
using (var db = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
3232
{
3333
await db.ExecuteAsync("CREATE TABLE foo (x blob);");
3434
await db.ExecuteAsync("INSERT INTO foo (x) VALUES(?);", "data");
@@ -53,7 +53,7 @@ await db.Query("SELECT rowid, x FROM foo")
5353
[Fact]
5454
public async Task TestRead()
5555
{
56-
using (var db = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
56+
using (var db = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
5757
{
5858
byte[] bytes = new byte[1000];
5959
Random random = new Random();
@@ -89,7 +89,7 @@ public async Task TestRead()
8989
[Fact]
9090
public async Task TestWrite()
9191
{
92-
using (var db = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
92+
using (var db = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
9393
{
9494
byte[] bytes = new byte[1000];
9595
Random random = new Random();
@@ -138,7 +138,7 @@ await db.Query("SELECT rowid, x FROM foo")
138138
[Fact]
139139
public async Task TestSeek()
140140
{
141-
using (var db = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
141+
using (var db = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
142142
{
143143
await db.ExecuteAsync("CREATE TABLE foo (x blob);");
144144
await db.ExecuteAsync("INSERT INTO foo (x) VALUES(?);", "data");

SQLitePCL.pretty.tests/AsyncTests/AsyncDatabaseConnectionTests.cs

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public class AsyncDatabaseConnectionTests
3131
[Fact]
3232
public async Task TestProfileEvent()
3333
{
34-
using (var db = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
34+
using (var db = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
3535
{
3636
var statement = "CREATE TABLE foo (x int);";
3737
db.Profile.Subscribe(e =>
@@ -47,7 +47,7 @@ public async Task TestProfileEvent()
4747
[Fact]
4848
public async Task TestTraceEvent()
4949
{
50-
using (var db = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
50+
using (var db = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
5151
{
5252
var statement = "CREATE TABLE foo (x int);";
5353
db.Trace.Subscribe(e =>
@@ -65,7 +65,7 @@ public async Task TestTraceEvent()
6565
[Fact]
6666
public async Task TestUpdateEvent()
6767
{
68-
using (var db = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
68+
using (var db = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
6969
{
7070
var currentAction = ActionCode.CreateTable;
7171
var rowid = 1;
@@ -99,7 +99,7 @@ public async Task TestUpdateEvent()
9999
[Fact]
100100
public async Task TestUse()
101101
{
102-
using (var adb = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
102+
using (var adb = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
103103
{
104104
await adb.Use(db => Enumerable.Range(0, 1000))
105105
.Scan(Tuple.Create(-1, -1), (x, y) => Tuple.Create(x.Item1 + 1, y))
@@ -131,7 +131,7 @@ await adb.Use(db => Enumerable.Range(0, 1000))
131131
[Fact]
132132
public async Task TestIDatabaseConnectionDispose()
133133
{
134-
using (var adb = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
134+
using (var adb = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
135135
{
136136
await adb.ExecuteAsync("CREATE TABLE foo (x int);");
137137

@@ -192,7 +192,7 @@ await disposedObservable.Materialize()
192192
[Fact]
193193
public void TestUseCancelled()
194194
{
195-
using (var adb = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
195+
using (var adb = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
196196
{
197197
var cts = new CancellationTokenSource();
198198
cts.Cancel();
@@ -206,7 +206,7 @@ public void TestUseCancelled()
206206
[Fact]
207207
public async Task TestPrepareAllAsync()
208208
{
209-
using (var adb = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
209+
using (var adb = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
210210
{
211211
await adb.ExecuteAsync("CREATE TABLE foo (x int);");
212212
var stmts =
@@ -229,7 +229,7 @@ await adb.PrepareAllAsync(
229229
[Fact]
230230
public async Task TestQuery()
231231
{
232-
using (var adb = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
232+
using (var adb = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
233233
{
234234
var _0 = "hello";
235235
var _1 = 1;
@@ -249,8 +249,7 @@ await adb.Query("Select ?, ?, ?", _0, _1, _2)
249249
[Fact]
250250
public void TestStatementCancellation()
251251
{
252-
var builder = SQLiteDatabaseConnectionBuilder.InMemory();
253-
builder.ProgressHandlerInterval = 1;
252+
var builder = SQLiteDatabaseConnectionBuilder.InMemory.With(progressHandlerInterval: 1);
254253

255254
using (var adb = builder.BuildAsyncDatabaseConnection(TaskPoolScheduler.Default))
256255
{

SQLitePCL.pretty.tests/AsyncTests/AsyncStatementTests.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class AsyncStatementTests
2727
[Fact]
2828
public async Task TestIStatementDispose()
2929
{
30-
using (var adb = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
30+
using (var adb = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
3131
{
3232
var aStmt = await adb.PrepareStatementAsync("SELECT ?, ?, ?");
3333
await aStmt.Use(stmt =>
@@ -56,7 +56,7 @@ await aStmt.Use(stmt =>
5656
[Fact]
5757
public async Task TestUse()
5858
{
59-
using (var db = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
59+
using (var db = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
6060
{
6161
await db.ExecuteAsync("CREATE TABLE foo (x int);");
6262

@@ -93,7 +93,7 @@ await bStmt.Use(stmt =>
9393
[Fact]
9494
public async Task TestIStatementEnumerator()
9595
{
96-
using (var db = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
96+
using (var db = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
9797
{
9898
await db.ExecuteAllAsync(
9999
@"CREATE TABLE foo (x int, y int, z int);
@@ -120,7 +120,7 @@ await aStmt.Use(stmt =>
120120
[Fact]
121121
public async Task TestIStatementBindings()
122122
{
123-
using (var db = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
123+
using (var db = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
124124
{
125125
var aStmt = await db.PrepareStatementAsync("SELECT :a as a, :b as b, :c as c");
126126
await aStmt.Use(stmt =>
@@ -172,7 +172,7 @@ await aStmt.Use(stmt =>
172172
[Fact]
173173
public async Task TestIStatementColumns()
174174
{
175-
using (var db = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
175+
using (var db = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
176176
{
177177
var aStmt = await db.PrepareStatementAsync("SELECT :a as a, :b as b, :c as c");
178178
await aStmt.Use(stmt =>
@@ -187,7 +187,7 @@ await aStmt.Use(stmt =>
187187
[Fact]
188188
public async Task TestExecuteAsync()
189189
{
190-
using (var db = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
190+
using (var db = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
191191
{
192192
await db.ExecuteAsync("CREATE TABLE foo (x int)");
193193
var aStmt = await db.PrepareStatementAsync("INSERT INTO foo (x) VALUES (?)");
@@ -204,7 +204,7 @@ public async Task TestExecuteAsync()
204204
[Fact]
205205
public async Task TestQuery()
206206
{
207-
using (var db = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
207+
using (var db = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
208208
{
209209
await db.ExecuteAsync("CREATE TABLE foo (v int);");
210210

SQLitePCL.pretty.tests/AsyncTests/ResultSet.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public partial class ResultSet
1616
[Fact]
1717
public async Task TestScalarsAsync()
1818
{
19-
using (var db = SQLiteDatabaseConnectionBuilder.InMemory().BuildAsyncDatabaseConnection())
19+
using (var db = SQLiteDatabaseConnectionBuilder.InMemory.BuildAsyncDatabaseConnection())
2020
{
2121
var query = db.Query("SELECT 1;");
2222

0 commit comments

Comments
 (0)