@@ -12,12 +12,27 @@ require __DIR__ . '/connect.inc.php'; // create $connection
12
12
Nette \Database \Helpers::loadFromFile ($ connection , __DIR__ . "/files/ {$ driverName }-nette_test1.sql " );
13
13
14
14
15
- test (function () use ($ context ) {
15
+ test (function () use ($ context, $ driverName ) {
16
16
$ res = $ context ->query ('SELECT name, name FROM author ' );
17
-
17
+ switch ($ driverName ) {
18
+ case 'mysql ' :
19
+ $ message = "Found duplicate columns in database result set: 'name' (from author). " ;
20
+ break ;
21
+ case 'pgsql ' :
22
+ $ message = "Found duplicate columns in database result set: 'name'%a% " ;
23
+ break ;
24
+ case 'sqlite ' :
25
+ $ message = "Found duplicate columns in database result set: 'name' (from author). " ;
26
+ break ;
27
+ case 'sqlsrv ' :
28
+ $ message = "Found duplicate columns in database result set: 'name'. " ;
29
+ break ;
30
+ default :
31
+ Assert::fail ("Unsupported driver $ driverName " );
32
+ }
18
33
Assert::error (function () use ($ res ) {
19
34
$ res ->fetch ();
20
- }, E_USER_NOTICE , ' Found duplicate columns in database result set. ' );
35
+ }, E_USER_NOTICE , $ message );
21
36
22
37
$ res ->fetch ();
23
38
});
@@ -35,3 +50,27 @@ test(function () use ($context, $driverName) { // tests closeCursor()
35
50
foreach ($ res as $ row ) {}
36
51
}
37
52
});
53
+
54
+
55
+ test (function () use ($ context , $ driverName ) {
56
+ $ res = $ context ->query ('SELECT book.id, author.id, author.name, translator.name FROM book JOIN author ON (author.id = book.author_id) JOIN author translator ON (translator.id = book.translator_id) ' );
57
+ switch ($ driverName ) {
58
+ case 'mysql ' :
59
+ $ message = "Found duplicate columns in database result set: 'id' (from book, author), 'name' (from author, translator). " ;
60
+ break ;
61
+ case 'pgsql ' :
62
+ $ message = "Found duplicate columns in database result set: 'id'%a% 'name'%a% " ;
63
+ break ;
64
+ case 'sqlite ' :
65
+ $ message = "Found duplicate columns in database result set: 'id' (from book, author), 'name' (from author). " ;
66
+ break ;
67
+ case 'sqlsrv ' :
68
+ $ message = "Found duplicate columns in database result set: 'id', 'name'. " ;
69
+ break ;
70
+ default :
71
+ Assert::fail ("Unsupported driver $ driverName " );
72
+ }
73
+ Assert::error (function () use ($ res ) {
74
+ $ res ->fetch ();
75
+ }, E_USER_NOTICE , $ message );
76
+ });
0 commit comments