List:Commits« Previous MessageNext Message »
From:andrey.hristov Date:November 4 2008 5:32pm
Subject:bzr commit into connector-cpp-bzr branch (andrey.hristov:199)
View as plain text  
#At bzr+ssh://ahristov@stripped/bzrroot/public/connector-cpp-bzr/trunk/

  199 andrey.hristov@stripped	2008-11-04 [merge]
      merge
modified:
  CHANGES
  driver/mysql_metadata.cpp
  test/CJUnitTestsPort/compliance/DatabaseMetaDataTest.cpp

=== modified file 'CHANGES'
--- a/CHANGES	2008-11-03 18:14:22 +0000
+++ b/CHANGES	2008-11-04 16:58:11 +0000
@@ -5,6 +5,11 @@ Alpha  1.0.1 - xx/xx/2008
 - Changing DbcException to implement the interface of JDBC's SQLException
 - All tests changed to create TAP compliant output
 - Introduction of experimental CPack support, see make help
+- Metadata: switching to column names "TABLE_CAT" (was: TABLE_CATALOG) and "TABLE_SCHEM" (was: TABLE_SCHEMA) for JDBC compliance
+- ConnectionMetaData::getImportedKeys(): PKTABLE_CATALOG -> PKTABLE_CAT, PKTABLE_SCHEMA -> PKTABLE_SCHEM, FKTABLE_CATALOG -> FKTABLE_CAT, FKTABLE_SCHEMA -> FKTABLE_SCHEM
+- ConnectionMetaData::getPrimaryKeys(): COLUMN -> COLUMN_NAME, SEQUENCE -> KEY_SEQ, INDEX_NAME -> PK_NAME
+- ConnectionMetaData::getProcedures: PROCEDURE_SCHEMA -> PROCEDURE_SCHEM
+- ConnectionMetaData::getTables: TABLE_COMMENT -> REMARKS
 
 Preview 1.0.0  - 05/08/2008
 

=== modified file 'driver/mysql_metadata.cpp'
--- a/driver/mysql_metadata.cpp	2008-11-03 17:38:56 +0000
+++ b/driver/mysql_metadata.cpp	2008-11-04 16:58:11 +0000
@@ -1175,7 +1175,7 @@ MySQL_ConnectionMetaData::getAttributes(
 	std::list<std::string> rs_data;
 	std::list<std::string> rs_field_data;
 
-	rs_field_data.push_back("TABLE_CATALOG");
+	rs_field_data.push_back("TABLE_CAT");
 	rs_field_data.push_back("TYPE_SCHEMA");
 	rs_field_data.push_back("TYPE_NAME");
 	rs_field_data.push_back("ATTR_NAME");
@@ -1249,8 +1249,8 @@ MySQL_ConnectionMetaData::getCatalogs() 
 	std::list<std::string> rs_data;
 	std::list<std::string> rs_field_data;
 
-	rs_field_data.push_back("TABLE_SCHEMA");
-	rs_field_data.push_back("TABLE_CATALOG");
+	rs_field_data.push_back("TABLE_CAT");
+	rs_field_data.push_back("TABLE_SCHEM");
 
 	return new MySQL_ConstructedResultSet(rs_field_data, rs_data, logger);
 }
@@ -1297,8 +1297,8 @@ MySQL_ConnectionMetaData::getColumns(con
 	std::list<std::string> rs_field_data;
 
 
-	rs_field_data.push_back("TABLE_CATALOG");
-	rs_field_data.push_back("TABLE_SCHEMA");
+	rs_field_data.push_back("TABLE_CAT");
+	rs_field_data.push_back("TABLE_SCHEM");
 	rs_field_data.push_back("TABLE_NAME");
 	rs_field_data.push_back("COLUMN_NAME");
 	rs_field_data.push_back("DATA_TYPE");
@@ -1647,12 +1647,12 @@ MySQL_ConnectionMetaData::getImportedKey
 	std::list<std::string> rs_data;
 	std::list<std::string> rs_field_data;
 
-	rs_field_data.push_back("PKTABLE_CATALOG");
-	rs_field_data.push_back("PKTABLE_SCHEMA");
+	rs_field_data.push_back("PKTABLE_CAT");
+	rs_field_data.push_back("PKTABLE_SCHEM");
 	rs_field_data.push_back("PKTABLE_NAME");
 	rs_field_data.push_back("PKCOLUMN_NAME");
-	rs_field_data.push_back("FKTABLE_CATALOG");
-	rs_field_data.push_back("FKTABLE_SCHEMA");
+	rs_field_data.push_back("FKTABLE_CAT");
+	rs_field_data.push_back("FKTABLE_SCHEM");
 	rs_field_data.push_back("FKTABLE_NAME");
 	rs_field_data.push_back("FKCOLUMN_NAME");
 	rs_field_data.push_back("KEY_SEQ");
@@ -1852,8 +1852,8 @@ MySQL_ConnectionMetaData::getIndexInfo(c
 		}
 	}
 
-	rs_field_data.push_back("TABLE_CATALOG");
-	rs_field_data.push_back("TABLE_SCHEMA");
+	rs_field_data.push_back("TABLE_CAT");
+	rs_field_data.push_back("TABLE_SCHEM");
 	rs_field_data.push_back("TABLE_NAME");
 	rs_field_data.push_back("NON_UNIQUE");
 	rs_field_data.push_back("INDEX_QUALIFIER");
@@ -2089,12 +2089,12 @@ MySQL_ConnectionMetaData::getPrimaryKeys
 	std::list<std::string> rs_data;
 	std::list<std::string> rs_field_data;
 
-	rs_field_data.push_back("TABLE_CATALOG");
-	rs_field_data.push_back("TABLE_SCHEMA");
+	rs_field_data.push_back("TABLE_CAT");
+	rs_field_data.push_back("TABLE_SCHEM");
 	rs_field_data.push_back("TABLE_NAME");
-	rs_field_data.push_back("COLUMN");
-	rs_field_data.push_back("SEQUENCE");
-	rs_field_data.push_back("INDEX_NAME");
+	rs_field_data.push_back("COLUMN_NAME");
+	rs_field_data.push_back("KEY_SEQ");
+	rs_field_data.push_back("PK_NAME");
 
 	if (server_version > 49999) {
 		static const std::string query("SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, " \
@@ -2185,7 +2185,7 @@ MySQL_ConnectionMetaData::getProcedures(
 	}
 
 	rs_field_data.push_back("PROCEDURE_CAT");
-	rs_field_data.push_back("PROCEDURE_SCHEMA");
+	rs_field_data.push_back("PROCEDURE_SCHEM");
 	rs_field_data.push_back("PROCEDURE_NAME");
 	rs_field_data.push_back("reserved1");
 	rs_field_data.push_back("reserved2");
@@ -2233,7 +2233,7 @@ MySQL_ConnectionMetaData::getSchemas() c
 		rs_data.push_back(rs->getString(1));
 	}
 
-	rs_field_data.push_back("TABLE_CATALOG");
+	rs_field_data.push_back("TABLE_SCHEM");
 
 	return new MySQL_ConstructedResultSet(rs_field_data, rs_data, logger);
 }
@@ -2483,8 +2483,8 @@ MySQL_ConnectionMetaData::getTablePrivil
 		}
 	}
 
-	rs_field_data.push_back("TABLE_CATALOG");
-	rs_field_data.push_back("TABLE_SCHEMA");
+	rs_field_data.push_back("TABLE_CAT");
+	rs_field_data.push_back("TABLE_SCHEM");
 	rs_field_data.push_back("TABLE_NAME");
 	rs_field_data.push_back("GRANTOR");
 	rs_field_data.push_back("GRANTEE");
@@ -2505,11 +2505,11 @@ MySQL_ConnectionMetaData::getTables(cons
 	CPP_INFO_FMT("catalog=%s schemaPattern=%s tablePattern=%s", catalog.c_str(), schemaPattern.c_str(), tableNamePattern.c_str());
 	std::list<std::string> rs_data;
 	std::list<std::string> rs_field_data;
-	rs_field_data.push_back("TABLE_CATALOG");
-	rs_field_data.push_back("TABLE_SCHEMA");
+	rs_field_data.push_back("TABLE_CAT");
+	rs_field_data.push_back("TABLE_SCHEM");
 	rs_field_data.push_back("TABLE_NAME");
 	rs_field_data.push_back("TABLE_TYPE");
-	rs_field_data.push_back("TABLE_COMMENT");
+	rs_field_data.push_back("REMARKS");
 
 	if (server_version > 79999) {
 		static const std::string query("SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, " \

=== modified file 'test/CJUnitTestsPort/compliance/DatabaseMetaDataTest.cpp'
--- a/test/CJUnitTestsPort/compliance/DatabaseMetaDataTest.cpp	2008-10-30 13:29:42 +0000
+++ b/test/CJUnitTestsPort/compliance/DatabaseMetaDataTest.cpp	2008-11-04 17:10:53 +0000
@@ -3420,7 +3420,6 @@ std::list< String > tmp2;
       String tmp("%");
       std::list<int> tmp2;
             ResultSet oRet_ResultSet(dbmd->getUDTs(sCatalogName, sSchemaName, tmp, tmp2));
-
             const sql::ResultSetMetaData * rsmd = oRet_ResultSet->getMetaData();
 
             int iCount = rsmd->getColumnCount();
@@ -3431,6 +3430,7 @@ std::list< String > tmp2;
             if (iColumnNamesLength > iCount)
             {
                 statusColumnCount = false;
+                logMsg("Different number of columns");
             }
             else if (iColumnNamesLength < iCount)
             {
@@ -3454,15 +3454,20 @@ std::list< String > tmp2;
                 else
                 {
                     statusColumnMatch = false;
+                    logMsg("Different columns, dumping expected and returned");
+                    logMsg(sColumnNames[iColumnNamesLength - 1]);
+                    logMsg(rsmd->getColumnName(iCount));
                     break;
                 }
                 iCount--;
                 iColumnNamesLength--;
             }
+
             if ((statusColumnMatch == false) && (statusColumnCount == true)) {
                 logMsg("Column names or order wrong.");
                 FAIL("Call to getUDTs Failed!");
             }
+
             while (oRet_ResultSet->next())
                 sRetStr += (oRet_ResultSet->getString(3) + ",");
             if (sRetStr == "") {
@@ -3471,9 +3476,8 @@ std::list< String > tmp2;
                 logMsg("The type names returned Are : "
                     + sRetStr.substr(0, sRetStr.length() - 1));
             }
-        
-            
-            FAIL("Call to getUDTs Failed!" );
+
+
 }
 
     /*
@@ -9236,6 +9240,7 @@ std::list< String > tmp2;
     {
       iCount = iColumnNamesLength;
       statusColumnCount = true;
+      logMsg("Different numbers of columns");
     }
     else
     {
@@ -9254,6 +9259,9 @@ std::list< String > tmp2;
       else
       {
         statusColumnMatch = false;
+        logMsg("Wrong column value, dumping expected and returned data");
+        logMsg(sColumnNames[iColumnNamesLength - 1]);
+        logMsg(rsmd->getColumnName(iCount));
         break;
       }
 

Thread
bzr commit into connector-cpp-bzr branch (andrey.hristov:199) andrey.hristov4 Nov