Skip to content

Commit b379d57

Browse files
authored
Merge pull request #240 from schveiguy/nullabledeprecations
Eliminate soon-to-be-deprecated auto get from any Nullable types
2 parents cbffcff + 8a3bd86 commit b379d57

File tree

2 files changed

+35
-47
lines changed

2 files changed

+35
-47
lines changed

integration-tests/source/mysql/maintests.d

Lines changed: 33 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -271,53 +271,49 @@ unittest
271271

272272
// Test queryRow
273273
{
274-
Nullable!Row row;
274+
// Note, queryRow returns Nullable, but we always expect to get a row,
275+
// so we will let the `get` check in Nullable assert that it's not
276+
// null.
277+
Row row;
275278

276279
// String sql
277-
row = cn.queryRow("SELECT * FROM `queryOverloads` WHERE `i`=1 AND `s`=\"aa\"");
278-
assert(!row.isNull);
280+
row = cn.queryRow("SELECT * FROM `queryOverloads` WHERE `i`=1 AND `s`=\"aa\"").get;
279281
assert(row.length == 2);
280282
assert(row[0] == 1);
281283
assert(row[1] == "aa");
282284

283-
row = cn.queryRow(prepareSQL, 2, "bb");
284-
assert(!row.isNull);
285+
row = cn.queryRow(prepareSQL, 2, "bb").get;
285286
assert(row.length == 2);
286287
assert(row[0] == 2);
287288
assert(row[1] == "bb");
288289

289-
row = cn.queryRow(prepareSQL, [Variant(3), Variant("cc")]);
290-
assert(!row.isNull);
290+
row = cn.queryRow(prepareSQL, [Variant(3), Variant("cc")]).get;
291291
assert(row.length == 2);
292292
assert(row[0] == 3);
293293
assert(row[1] == "cc");
294294

295295
// Prepared sql
296296
auto prepared = cn.prepare(prepareSQL);
297297
prepared.setArgs(1, "aa");
298-
row = cn.queryRow(prepared);
299-
assert(!row.isNull);
298+
row = cn.queryRow(prepared).get;
300299
assert(row.length == 2);
301300
assert(row[0] == 1);
302301
assert(row[1] == "aa");
303302

304-
row = cn.queryRow(prepared, 2, "bb");
305-
assert(!row.isNull);
303+
row = cn.queryRow(prepared, 2, "bb").get;
306304
assert(row.length == 2);
307305
assert(row[0] == 2);
308306
assert(row[1] == "bb");
309307

310-
row = cn.queryRow(prepared, [Variant(3), Variant("cc")]);
311-
assert(!row.isNull);
308+
row = cn.queryRow(prepared, [Variant(3), Variant("cc")]).get;
312309
assert(row.length == 2);
313310
assert(row[0] == 3);
314311
assert(row[1] == "cc");
315312

316313
// BCPrepared sql
317314
auto bcPrepared = cn.prepareBackwardCompatImpl(prepareSQL);
318315
bcPrepared.setArgs(1, "aa");
319-
row = cn.queryRow(bcPrepared);
320-
assert(!row.isNull);
316+
row = cn.queryRow(bcPrepared).get;
321317
assert(row.length == 2);
322318
assert(row[0] == 1);
323319
assert(row[1] == "aa");
@@ -350,49 +346,42 @@ unittest
350346

351347
// Test queryValue
352348
{
353-
Nullable!Variant value;
349+
Variant value;
354350

355351
// String sql
356-
value = cn.queryValue("SELECT * FROM `queryOverloads` WHERE `i`=1 AND `s`=\"aa\"");
357-
assert(!value.isNull);
358-
assert(value.get.type != typeid(typeof(null)));
359-
assert(value.get == 1);
352+
value = cn.queryValue("SELECT * FROM `queryOverloads` WHERE `i`=1 AND `s`=\"aa\"").get;
353+
assert(value.type != typeid(typeof(null)));
354+
assert(value == 1);
360355

361-
value = cn.queryValue(prepareSQL, 2, "bb");
362-
assert(!value.isNull);
363-
assert(value.get.type != typeid(typeof(null)));
364-
assert(value.get == 2);
356+
value = cn.queryValue(prepareSQL, 2, "bb").get;
357+
assert(value.type != typeid(typeof(null)));
358+
assert(value == 2);
365359

366-
value = cn.queryValue(prepareSQL, [Variant(3), Variant("cc")]);
367-
assert(!value.isNull);
368-
assert(value.get.type != typeid(typeof(null)));
369-
assert(value.get == 3);
360+
value = cn.queryValue(prepareSQL, [Variant(3), Variant("cc")]).get;
361+
assert(value.type != typeid(typeof(null)));
362+
assert(value == 3);
370363

371364
// Prepared sql
372365
auto prepared = cn.prepare(prepareSQL);
373366
prepared.setArgs(1, "aa");
374-
value = cn.queryValue(prepared);
375-
assert(!value.isNull);
376-
assert(value.get.type != typeid(typeof(null)));
377-
assert(value.get == 1);
367+
value = cn.queryValue(prepared).get;
368+
assert(value.type != typeid(typeof(null)));
369+
assert(value == 1);
378370

379-
value = cn.queryValue(prepared, 2, "bb");
380-
assert(!value.isNull);
381-
assert(value.get.type != typeid(typeof(null)));
382-
assert(value.get == 2);
371+
value = cn.queryValue(prepared, 2, "bb").get;
372+
assert(value.type != typeid(typeof(null)));
373+
assert(value == 2);
383374

384-
value = cn.queryValue(prepared, [Variant(3), Variant("cc")]);
385-
assert(!value.isNull);
386-
assert(value.get.type != typeid(typeof(null)));
387-
assert(value.get == 3);
375+
value = cn.queryValue(prepared, [Variant(3), Variant("cc")]).get;
376+
assert(value.type != typeid(typeof(null)));
377+
assert(value == 3);
388378

389379
// BCPrepared sql
390380
auto bcPrepared = cn.prepareBackwardCompatImpl(prepareSQL);
391381
bcPrepared.setArgs(1, "aa");
392-
value = cn.queryValue(bcPrepared);
393-
assert(!value.isNull);
394-
assert(value.get.type != typeid(typeof(null)));
395-
assert(value.get == 1);
382+
value = cn.queryValue(bcPrepared).get;
383+
assert(value.type != typeid(typeof(null)));
384+
assert(value == 1);
396385
}
397386
}
398387

integration-tests/source/mysql/test/integration.d

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -891,7 +891,7 @@ unittest
891891
//assert(!cn.queryScalar(selectOneSql).hasValue);
892892
x = cn.queryValue(selectOneSql);
893893
assert(!x.isNull);
894-
assert(x.type == typeid(typeof(null)));
894+
assert(x.get.type == typeid(typeof(null)));
895895

896896
// Values
897897
void assertBasicTestsValue(T, U)(U val)
@@ -970,8 +970,7 @@ unittest
970970
" WHERE CHARACTER_SET_NAME=?");
971971
auto val = "utf8";
972972
stmt.setArg(0, val);
973-
auto row = cn.queryRow(stmt);
974-
//assert(row.length == 4);
973+
auto row = cn.queryRow(stmt).get;
975974
assert(row.length == 4);
976975
assert(row[0] == "utf8");
977976
assert(row[1] == "utf8_general_ci");

0 commit comments

Comments
 (0)