@@ -24,6 +24,7 @@ import mysql.protocol.constants;
24
24
import mysql.protocol.extra_types;
25
25
import mysql.protocol.packets;
26
26
import mysql.result;
27
+ import mysql.types;
27
28
28
29
// / This feature is not yet implemented. It currently has no effect.
29
30
/+
@@ -205,12 +206,20 @@ ulong exec(T...)(Connection conn, const(char[]) sql, T args)
205
206
return exec (conn, prepared);
206
207
}
207
208
// /ditto
209
+ deprecated (" Variant support is deprecated. Use MySQLVal[] instead of Variant[]" )
208
210
ulong exec (Connection conn, const (char []) sql, Variant [] args)
209
211
{
210
212
auto prepared = conn.prepare(sql);
211
213
prepared.setArgs(args);
212
214
return exec (conn, prepared);
213
215
}
216
+ // /ditto
217
+ ulong exec (Connection conn, const (char []) sql, MySQLVal[] args)
218
+ {
219
+ auto prepared = conn.prepare(sql);
220
+ prepared.setArgs(args);
221
+ return exec (conn, prepared);
222
+ }
214
223
215
224
// /ditto
216
225
ulong exec (Connection conn, ref Prepared prepared)
@@ -228,12 +237,20 @@ ulong exec(T...)(Connection conn, ref Prepared prepared, T args)
228
237
return exec (conn, prepared);
229
238
}
230
239
// /ditto
240
+ deprecated (" Variant support is deprecated. Use MySQLVal[] instead of Variant[]" )
231
241
ulong exec (Connection conn, ref Prepared prepared, Variant [] args)
232
242
{
233
243
prepared.setArgs(args);
234
244
return exec (conn, prepared);
235
245
}
236
246
247
+ // /ditto
248
+ ulong exec (Connection conn, ref Prepared prepared, MySQLVal[] args)
249
+ {
250
+ prepared.setArgs(args);
251
+ return exec (conn, prepared);
252
+ }
253
+
237
254
// /ditto
238
255
ulong exec (Connection conn, ref BackwardCompatPrepared prepared)
239
256
{
@@ -331,13 +348,22 @@ ResultRange query(T...)(Connection conn, const(char[]) sql, T args)
331
348
return query (conn, prepared);
332
349
}
333
350
// /ditto
351
+ deprecated (" Variant support is deprecated. Use MySQLVal[] instead of Variant[]" )
334
352
ResultRange query (Connection conn, const (char []) sql, Variant [] args)
335
353
{
336
354
auto prepared = conn.prepare(sql);
337
355
prepared.setArgs(args);
338
356
return query (conn, prepared);
339
357
}
340
358
359
+ // /ditto
360
+ ResultRange query (Connection conn, const (char []) sql, MySQLVal[] args)
361
+ {
362
+ auto prepared = conn.prepare(sql);
363
+ prepared.setArgs(args);
364
+ return query (conn, prepared);
365
+ }
366
+
341
367
// /ditto
342
368
ResultRange query (Connection conn, ref Prepared prepared)
343
369
{
@@ -354,11 +380,18 @@ ResultRange query(T...)(Connection conn, ref Prepared prepared, T args)
354
380
return query (conn, prepared);
355
381
}
356
382
// /ditto
383
+ deprecated (" Variant support is deprecated. Use MySQLVal[] instead of Variant[]" )
357
384
ResultRange query (Connection conn, ref Prepared prepared, Variant [] args)
358
385
{
359
386
prepared.setArgs(args);
360
387
return query (conn, prepared);
361
388
}
389
+ // /ditto
390
+ ResultRange query (Connection conn, ref Prepared prepared, MySQLVal[] args)
391
+ {
392
+ prepared.setArgs(args);
393
+ return query (conn, prepared);
394
+ }
362
395
363
396
// /ditto
364
397
ResultRange query (Connection conn, ref BackwardCompatPrepared prepared)
@@ -461,6 +494,14 @@ Nullable!Row queryRow(T...)(Connection conn, const(char[]) sql, T args)
461
494
return queryRow (conn, prepared);
462
495
}
463
496
// /ditto
497
+ Nullable! Row queryRow (Connection conn, const (char []) sql, MySQLVal[] args)
498
+ {
499
+ auto prepared = conn.prepare(sql);
500
+ prepared.setArgs(args);
501
+ return queryRow (conn, prepared);
502
+ }
503
+ // /ditto
504
+ deprecated (" Variant support is deprecated. Use MySQLVal[] instead of Variant[]" )
464
505
Nullable! Row queryRow (Connection conn, const (char []) sql, Variant [] args)
465
506
{
466
507
auto prepared = conn.prepare(sql);
@@ -484,11 +525,18 @@ Nullable!Row queryRow(T...)(Connection conn, ref Prepared prepared, T args)
484
525
return queryRow (conn, prepared);
485
526
}
486
527
// /ditto
528
+ deprecated (" Variant support is deprecated. Use MySQLVal[] instead of Variant[]" )
487
529
Nullable! Row queryRow (Connection conn, ref Prepared prepared, Variant [] args)
488
530
{
489
531
prepared.setArgs(args);
490
532
return queryRow (conn, prepared);
491
533
}
534
+ // /ditto
535
+ Nullable! Row queryRow (Connection conn, ref Prepared prepared, MySQLVal[] args)
536
+ {
537
+ prepared.setArgs(args);
538
+ return queryRow (conn, prepared);
539
+ }
492
540
493
541
// /ditto
494
542
Nullable! Row queryRow (Connection conn, ref BackwardCompatPrepared prepared)
@@ -672,50 +720,65 @@ delegate.
672
720
csa = An optional array of `ColumnSpecialization` structs. If you need to
673
721
use this with a prepared statement, please use `mysql.prepared.Prepared.columnSpecials`.
674
722
+/
675
- Nullable! Variant queryValue (Connection conn, const (char []) sql, ColumnSpecialization[] csa = null )
723
+ Nullable! MySQLVal queryValue (Connection conn, const (char []) sql, ColumnSpecialization[] csa = null )
676
724
{
677
725
return queryValueImpl (csa, conn, ExecQueryImplInfo(false , sql));
678
726
}
679
727
// /ditto
680
- Nullable! Variant queryValue (T... )(Connection conn, const (char []) sql, T args)
728
+ Nullable! MySQLVal queryValue (T... )(Connection conn, const (char []) sql, T args)
681
729
if (T.length > 0 && ! is (T[0 ] == Variant []) && ! is (T[0 ] == ColumnSpecialization) && ! is (T[0 ] == ColumnSpecialization[]))
682
730
{
683
731
auto prepared = conn.prepare(sql);
684
732
prepared.setArgs(args);
685
733
return queryValue (conn, prepared);
686
734
}
687
735
// /ditto
688
- Nullable! Variant queryValue (Connection conn, const (char []) sql, Variant [] args)
736
+ Nullable! MySQLVal queryValue (Connection conn, const (char []) sql, MySQLVal[] args)
737
+ {
738
+ auto prepared = conn.prepare(sql);
739
+ prepared.setArgs(args);
740
+ return queryValue (conn, prepared);
741
+ }
742
+ // /ditto
743
+ deprecated (" Variant support is deprecated. Use MySQLVal[] instead of Variant[]" )
744
+ Nullable! MySQLVal queryValue (Connection conn, const (char []) sql, Variant [] args)
689
745
{
690
746
auto prepared = conn.prepare(sql);
691
747
prepared.setArgs(args);
692
748
return queryValue (conn, prepared);
693
749
}
694
750
695
751
// /ditto
696
- Nullable! Variant queryValue (Connection conn, ref Prepared prepared)
752
+ Nullable! MySQLVal queryValue (Connection conn, ref Prepared prepared)
697
753
{
698
754
auto preparedInfo = conn.registerIfNeeded(prepared.sql);
699
755
auto result = queryValueImpl(prepared.columnSpecials, conn, prepared.getExecQueryImplInfo(preparedInfo.statementId));
700
756
prepared._lastInsertID = conn.lastInsertID; // Conceivably, this might be needed when multi-statements are enabled.
701
757
return result;
702
758
}
703
759
// /ditto
704
- Nullable! Variant queryValue (T... )(Connection conn, ref Prepared prepared, T args)
760
+ Nullable! MySQLVal queryValue (T... )(Connection conn, ref Prepared prepared, T args)
705
761
if (T.length > 0 && ! is (T[0 ] == Variant []) && ! is (T[0 ] == ColumnSpecialization) && ! is (T[0 ] == ColumnSpecialization[]))
706
762
{
707
763
prepared.setArgs(args);
708
764
return queryValue (conn, prepared);
709
765
}
710
766
// /ditto
711
- Nullable! Variant queryValue (Connection conn, ref Prepared prepared, Variant [] args)
767
+ Nullable! MySQLVal queryValue (Connection conn, ref Prepared prepared, MySQLVal[] args)
768
+ {
769
+ prepared.setArgs(args);
770
+ return queryValue (conn, prepared);
771
+ }
772
+ // /ditto
773
+ deprecated (" Variant support is deprecated. Use MySQLVal[] instead of Variant[]" )
774
+ Nullable! MySQLVal queryValue (Connection conn, ref Prepared prepared, Variant [] args)
712
775
{
713
776
prepared.setArgs(args);
714
777
return queryValue (conn, prepared);
715
778
}
716
779
717
780
// /ditto
718
- Nullable! Variant queryValue (Connection conn, ref BackwardCompatPrepared prepared)
781
+ Nullable! MySQLVal queryValue (Connection conn, ref BackwardCompatPrepared prepared)
719
782
{
720
783
auto p = prepared.prepared;
721
784
auto result = queryValue(conn, p);
@@ -724,21 +787,21 @@ Nullable!Variant queryValue(Connection conn, ref BackwardCompatPrepared prepared
724
787
}
725
788
726
789
// / Common implementation for `queryValue` overloads.
727
- package Nullable! Variant queryValueImpl(ColumnSpecialization[] csa, Connection conn,
790
+ package Nullable! MySQLVal queryValueImpl(ColumnSpecialization[] csa, Connection conn,
728
791
ExecQueryImplInfo info)
729
792
{
730
793
auto results = queryImpl(csa, conn, info);
731
794
if (results.empty)
732
- return Nullable! Variant ();
795
+ return Nullable! MySQLVal ();
733
796
else
734
797
{
735
- auto row = results.front;
798
+ auto row = results.safe. front;
736
799
results.close();
737
800
738
801
if (row.length == 0 )
739
- return Nullable! Variant ();
802
+ return Nullable! MySQLVal ();
740
803
else
741
- return Nullable! Variant (row[0 ]);
804
+ return Nullable! MySQLVal (row[0 ]);
742
805
}
743
806
}
744
807
0 commit comments