List:Commits« Previous MessageNext Message »
From:jbalint Date:January 24 2008 3:10am
Subject:Connector/ODBC 3.51 commit: r1010 - in branches/guffert: driver test
View as plain text  
Modified:
   branches/guffert/driver/catalog.c
   branches/guffert/test/my_catalog.c
Log:
fixed SQLForeignKeys() result order to match spec (with additional field to get
deterministic ordering)
fixed test to match it

Modified: branches/guffert/driver/catalog.c
===================================================================
--- branches/guffert/driver/catalog.c	2008-01-23 22:58:09 UTC (rev 1009)
+++ branches/guffert/driver/catalog.c	2008-01-24 02:10:02 UTC (rev 1010)
@@ -1639,7 +1639,7 @@
 
 /*
 ****************************************************************************
-SQLForeignJeys
+SQLForeignKeys
 ****************************************************************************
 */
 MYSQL_FIELD SQLFORE_KEYS_fields[]=
@@ -1805,6 +1805,9 @@
         buff+= mysql_real_escape_string(mysql, buff, (char *)szPkTableName,
                                         cbPkTableName);
         buff= strmov(buff, "' ");
+
+        strmov(buff, "ORDER BY PKTABLE_CAT, PKTABLE_NAME, "
+                     "KEY_SEQ, FKTABLE_NAME");
       }
 
       if (szFkTableName && szFkTableName[0])
@@ -1827,10 +1830,11 @@
         buff+= mysql_real_escape_string(mysql, buff, (char *)szFkTableName,
                                         cbFkTableName);
         buff= strmov(buff, "' ");
+
+        strmov(buff, "ORDER BY FKTABLE_CAT, FKTABLE_NAME, "
+                     "KEY_SEQ, PKTABLE_NAME");
       }
 
-      strmov(buff, "ORDER BY FKTABLE_CAT, FKTABLE_NAME, KEY_SEQ");
-
       rc= MySQLPrepare(hstmt, (SQLCHAR *)query, SQL_NTS, FALSE);
       if (!SQL_SUCCEEDED(rc))
         return rc;

Modified: branches/guffert/test/my_catalog.c
===================================================================
--- branches/guffert/test/my_catalog.c	2008-01-23 22:58:09 UTC (rev 1009)
+++ branches/guffert/test/my_catalog.c	2008-01-24 02:10:02 UTC (rev 1010)
@@ -1168,9 +1168,16 @@
                                 NULL, 0, (SQLCHAR *)"t_bug19923c", SQL_NTS));
 
   ok_stmt(hstmt, SQLFetch(hstmt));
-  is_str(my_fetch_str(hstmt, buff, 3), "t_bug19923b", 10);
+  is_str(my_fetch_str(hstmt, buff, 3), "t_bug19923a", 11);
+  is_str(my_fetch_str(hstmt, buff, 4), "a", 1);
+  is_str(my_fetch_str(hstmt, buff, 7), "t_bug19923c", 11);
+  is_str(my_fetch_str(hstmt, buff, 8), "a", 1);
+  is_str(my_fetch_str(hstmt, buff, 12), "second_constraint", 17);
+
+  ok_stmt(hstmt, SQLFetch(hstmt));
+  is_str(my_fetch_str(hstmt, buff, 3), "t_bug19923b", 11);
   is_str(my_fetch_str(hstmt, buff, 4), "b", 1);
-  is_str(my_fetch_str(hstmt, buff, 7), "t_bug19923c", 10);
+  is_str(my_fetch_str(hstmt, buff, 7), "t_bug19923c", 11);
   is_str(my_fetch_str(hstmt, buff, 8), "b", 1);
   is_str(my_fetch_str(hstmt, buff, 12), "first_constraint", 16);
   ok_stmt(hstmt, SQLGetData(hstmt, 2, SQL_C_CHAR, buff, sizeof(buff), &len));
@@ -1178,13 +1185,6 @@
   ok_stmt(hstmt, SQLGetData(hstmt, 6, SQL_C_CHAR, buff, sizeof(buff), &len));
   is_num(len, SQL_NULL_DATA);
 
-  ok_stmt(hstmt, SQLFetch(hstmt));
-  is_str(my_fetch_str(hstmt, buff, 3), "t_bug19923a", 10);
-  is_str(my_fetch_str(hstmt, buff, 4), "a", 1);
-  is_str(my_fetch_str(hstmt, buff, 7), "t_bug19923c", 10);
-  is_str(my_fetch_str(hstmt, buff, 8), "a", 1);
-  is_str(my_fetch_str(hstmt, buff, 12), "second_constraint", 17);
-
   expect_stmt(hstmt, SQLFetch(hstmt), SQL_NO_DATA_FOUND);
 
   ok_stmt(hstmt, SQLFreeStmt(hstmt, SQL_CLOSE));

Thread
Connector/ODBC 3.51 commit: r1010 - in branches/guffert: driver testjbalint24 Jan