@@ -12,12 +12,27 @@ require __DIR__ . '/connect.inc.php'; // create $connection
1212Nette \Database \Helpers::loadFromFile ($ connection , __DIR__ . "/files/ {$ driverName }-nette_test1.sql " );
1313
1414
15- test (function () use ($ context ) {
15+ test (function () use ($ context, $ driverName ) {
1616 $ 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+ }
1833 Assert::error (function () use ($ res ) {
1934 $ res ->fetch ();
20- }, E_USER_NOTICE , ' Found duplicate columns in database result set. ' );
35+ }, E_USER_NOTICE , $ message );
2136
2237 $ res ->fetch ();
2338});
@@ -35,3 +50,27 @@ test(function () use ($context, $driverName) { // tests closeCursor()
3550 foreach ($ res as $ row ) {}
3651 }
3752});
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