#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.hristov | 4 Nov |