1
- /+ +
1
+ /+ +
2
2
Use a DB via plain SQL statements.
3
3
4
4
Commands that are expected to return a result set - queries - have distinctive
@@ -100,7 +100,7 @@ unittest
100
100
chunkSize = 100 ;
101
101
assert (cast (int )(totalSize / chunkSize) * chunkSize == totalSize);
102
102
auto columnSpecial = ColumnSpecialization(0 , 0xfc , chunkSize, &receiver);
103
-
103
+
104
104
received = null ;
105
105
lastValueOfFinished = false ;
106
106
value = cn.queryValue(selectSQL, [columnSpecial]);
@@ -110,7 +110,7 @@ unittest
110
110
// assert(lastValueOfFinished == true);
111
111
// assert(received == data);
112
112
}
113
-
113
+
114
114
// Use ColumnSpecialization with sql string,
115
115
// and totalSize as a non-multiple of chunkSize
116
116
{
@@ -734,7 +734,7 @@ package Nullable!Variant queryValueImpl(ColumnSpecialization[] csa, Connection c
734
734
{
735
735
auto row = results.front;
736
736
results.close();
737
-
737
+
738
738
if (row.length == 0 )
739
739
return Nullable! Variant ();
740
740
else
@@ -750,17 +750,17 @@ unittest
750
750
import mysql.connection;
751
751
import mysql.test.common;
752
752
mixin (scopedCn);
753
-
753
+
754
754
cn.exec(" DROP TABLE IF EXISTS `execOverloads`" );
755
755
cn.exec(" CREATE TABLE `execOverloads` (
756
756
`i` INTEGER,
757
757
`s` VARCHAR(50)
758
758
) ENGINE=InnoDB DEFAULT CHARSET=utf8" );
759
-
759
+
760
760
immutable prepareSQL = " INSERT INTO `execOverloads` VALUES (?, ?)" ;
761
-
761
+
762
762
// Do the inserts, using exec
763
-
763
+
764
764
// exec: const(char[]) sql
765
765
assert (cn.exec(" INSERT INTO `execOverloads` VALUES (1, \" aa\" )" ) == 1 );
766
766
assert (cn.exec(prepareSQL, 2 , " bb" ) == 1 );
@@ -774,18 +774,18 @@ unittest
774
774
assert (cn.exec(prepared, 5 , " ee" ) == 1 );
775
775
assert (prepared.getArg(0 ) == 5 );
776
776
assert (prepared.getArg(1 ) == " ee" );
777
-
777
+
778
778
assert (cn.exec(prepared, [Variant (6 ), Variant (" ff" )]) == 1 );
779
779
assert (prepared.getArg(0 ) == 6 );
780
780
assert (prepared.getArg(1 ) == " ff" );
781
-
781
+
782
782
// exec: bcPrepared sql
783
783
auto bcPrepared = cn.prepareBackwardCompatImpl(prepareSQL);
784
784
bcPrepared.setArgs(7 , " gg" );
785
785
assert (cn.exec(bcPrepared) == 1 );
786
786
assert (bcPrepared.getArg(0 ) == 7 );
787
787
assert (bcPrepared.getArg(1 ) == " gg" );
788
-
788
+
789
789
// Check results
790
790
auto rows = cn.query(" SELECT * FROM `execOverloads`" ).array();
791
791
assert (rows.length == 7 );
@@ -822,7 +822,7 @@ unittest
822
822
import mysql.connection;
823
823
import mysql.test.common;
824
824
mixin (scopedCn);
825
-
825
+
826
826
cn.exec(" DROP TABLE IF EXISTS `queryOverloads`" );
827
827
cn.exec(" CREATE TABLE `queryOverloads` (
828
828
`i` INTEGER,
@@ -831,7 +831,7 @@ unittest
831
831
cn.exec(" INSERT INTO `queryOverloads` VALUES (1, \" aa\" ), (2, \" bb\" ), (3, \" cc\" )" );
832
832
833
833
immutable prepareSQL = " SELECT * FROM `queryOverloads` WHERE `i`=? AND `s`=?" ;
834
-
834
+
835
835
// Test query
836
836
{
837
837
Row[] rows;
0 commit comments