Modified:
trunk/MYSQLPlus/MYSQLPlusLib/MConnection.cpp
trunk/MYSQLPlus/MYSQLPlusLib/MResultPlus.cpp
trunk/MYSQLPlus/MYSQLPlusLib/MResultPlus.h
trunk/MYSQLPlus/MYSQLPlusLib/MStatement.cpp
Log:
- completed getInfo*() methods (for now)
- clean compiles
- getting back to SQLSpecialColumns
Modified: trunk/MYSQLPlus/MYSQLPlusLib/MConnection.cpp
===================================================================
--- trunk/MYSQLPlus/MYSQLPlusLib/MConnection.cpp 2006-06-27 06:55:45 UTC (rev 404)
+++ trunk/MYSQLPlus/MYSQLPlusLib/MConnection.cpp 2006-06-27 16:21:52 UTC (rev 405)
@@ -1121,13 +1121,13 @@
*pnSQLUINTEGER = getInfoParamArraySelects();
break;
case SQL_PROCEDURE_TERM:
- bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), L"procedure", &nStringLengthChars );
+ bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), (SQLWCHAR*)getInfoProcedureTerm().utf16() , &nStringLengthChars );
*pnStringLengthBytes = nStringLengthChars * sizeof(SQLWCHAR);
if ( !bCopyOk )
MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 )
);
break;
case SQL_PROCEDURES:
- bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), L"Y", &nStringLengthChars );
+ bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), (SQLWCHAR*)getInfoProcedures().utf16(), &nStringLengthChars );
*pnStringLengthBytes = nStringLengthChars * sizeof(SQLWCHAR);
if ( !bCopyOk )
MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 )
);
@@ -1142,13 +1142,13 @@
*pnSQLUSMALLINT = getInfoQuotedIdentifierCase();
break;
case SQL_ROW_UPDATES:
- bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), L"N", &nStringLengthChars );
+ bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), (SQLWCHAR*)getInfoRowUpdates().utf16(), &nStringLengthChars );
*pnStringLengthBytes = nStringLengthChars * sizeof(SQLWCHAR);
if ( !bCopyOk )
MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 )
);
break;
case SQL_SCHEMA_TERM:
- bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), L"schema", &nStringLengthChars );
+ bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), (SQLWCHAR*)getInfoSchemaTerm().utf16(), &nStringLengthChars );
*pnStringLengthBytes = nStringLengthChars * sizeof(SQLWCHAR);
if ( !bCopyOk )
MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 )
);
@@ -1163,36 +1163,22 @@
*pnSQLUINTEGER = getInfoScrollOptions();
break;
case SQL_SEARCH_PATTERN_ESCAPE:
- bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), L"\\", &nStringLengthChars );
+ bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), (SQLWCHAR*)getInfoSearchPatternEscape().utf16(),
&nStringLengthChars );
*pnStringLengthBytes = nStringLengthChars * sizeof(SQLWCHAR);
if ( !bCopyOk )
MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 )
);
break;
case SQL_SERVER_NAME:
- {
- QString stringServerName( ((MYSQL*)getMySQL())->host_info );
-
- bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), (SQLWCHAR*)stringServerName.utf16(), &nStringLengthChars );
- *pnStringLengthBytes = nStringLengthChars * sizeof(SQLWCHAR);
- if ( !bCopyOk )
- MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004
) );
- }
+ bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), (SQLWCHAR*)getInfoServerName().utf16(), &nStringLengthChars );
+ *pnStringLengthBytes = nStringLengthChars * sizeof(SQLWCHAR);
+ if ( !bCopyOk )
+ MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 )
);
break;
case SQL_SPECIAL_CHARACTERS:
- {
- char MYODBC_DRV_VALID_CHARS[]=
- {
- '\307','\374','\351','\342','\344','\340','\345','\347','\352','\353',
- '\350','\357','\356','\354','\304','\305','\311','\346','\306','\364',
- '\366','\362','\373','\371','\377','\326','\334','\341','\355','\363',
- '\372','\361','\321',0
- };
-
- bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), (SQLWCHAR*)QString::fromAscii( MYODBC_DRV_VALID_CHARS ).utf16(),
&nStringLengthChars );
- *pnStringLengthBytes = nStringLengthChars * sizeof(SQLWCHAR);
- if ( !bCopyOk )
- MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004
) );
- }
+ bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), (SQLWCHAR*)getInfoSpecialCharacters().utf16(), &nStringLengthChars
);
+ *pnStringLengthBytes = nStringLengthChars * sizeof(SQLWCHAR);
+ if ( !bCopyOk )
+ MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 )
);
break;
case SQL_SQL_CONFORMANCE:
*pnSQLUINTEGER = getInfoSqlConformance();
@@ -1252,7 +1238,7 @@
*pnSQLUINTEGER = getInfoSystemFunctions();
break;
case SQL_TABLE_TERM:
- bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), L"table", &nStringLengthChars );
+ bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), (SQLWCHAR*)getInfoTableTerm().utf16(), &nStringLengthChars );
*pnStringLengthBytes = nStringLengthChars * sizeof(SQLWCHAR);
if ( !bCopyOk )
MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 )
);
@@ -1276,23 +1262,13 @@
*pnSQLUINTEGER = getInfoUnion();
break;
case SQL_USER_NAME:
- if ( getUserIdentifier().isEmpty() )
- {
- bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), L"", &nStringLengthChars );
- *pnStringLengthBytes = nStringLengthChars * sizeof(SQLWCHAR);
- if ( !bCopyOk )
- MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004
) );
- }
- else
- {
- bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), (SQLWCHAR*)getUserIdentifier().utf16(), &nStringLengthChars );
- *pnStringLengthBytes = nStringLengthChars * sizeof(SQLWCHAR);
- if ( !bCopyOk )
- MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004
) );
- }
+ bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), (SQLWCHAR*)getInfoUserName().utf16(), &nStringLengthChars );
+ *pnStringLengthBytes = nStringLengthChars * sizeof(SQLWCHAR);
+ if ( !bCopyOk )
+ MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 )
);
break;
case SQL_XOPEN_CLI_YEAR:
- bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), L"1992", &nStringLengthChars );
+ bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), (SQLWCHAR*)getInfoXopenCliYear().utf16(), &nStringLengthChars );
*pnStringLengthBytes = nStringLengthChars * sizeof(SQLWCHAR);
if ( !bCopyOk )
MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 )
);
@@ -3377,7 +3353,7 @@
{
MYODBCDbgEnter();
- if ( getInfoDataSourceName().isNull() )
+ if ( getDataSourceName().isNull() )
MYODBCDbgReturn1( "" );
MYODBCDbgReturn1( getDataSourceName() );
@@ -4124,14 +4100,14 @@
{
MYODBCDbgEnter();
- MYODBCDbgReturn1( sssss );
+ MYODBCDbgReturn1( "procedure" );
}
QString MConnection::getInfoProcedures()
{
MYODBCDbgEnter();
- MYODBCDbgReturn1( sssss );
+ MYODBCDbgReturn1( "Y" );
}
SQLUINTEGER MConnection::getInfoPosOperations()
@@ -4164,14 +4140,14 @@
{
MYODBCDbgEnter();
- MYODBCDbgReturn1( sssss );
+ MYODBCDbgReturn1( "N" );
}
QString MConnection::getInfoSchemaTerm()
{
MYODBCDbgEnter();
- MYODBCDbgReturn1( sssss );
+ MYODBCDbgReturn1( "schema" );
}
SQLUINTEGER MConnection::getInfoSchemaUsage()
@@ -4203,21 +4179,32 @@
{
MYODBCDbgEnter();
- MYODBCDbgReturn1( sssss );
+ MYODBCDbgReturn1( "\\" );
}
QString MConnection::getInfoServerName()
{
MYODBCDbgEnter();
- MYODBCDbgReturn1( sssss );
+ if ( getMySQL() )
+ MYODBCDbgReturn1( ((MYSQL*)getMySQL())->host_info );
+
+ MYODBCDbgReturn1( "" );
}
QString MConnection::getInfoSpecialCharacters()
{
MYODBCDbgEnter();
- MYODBCDbgReturn1( sssss );
+ char MYODBC_DRV_VALID_CHARS[]=
+ {
+ '\307','\374','\351','\342','\344','\340','\345','\347','\352','\353',
+ '\350','\357','\356','\354','\304','\305','\311','\346','\306','\364',
+ '\366','\362','\373','\371','\377','\326','\334','\341','\355','\363',
+ '\372','\361','\321',0
+ };
+
+ MYODBCDbgReturn1( MYODBC_DRV_VALID_CHARS );
}
SQLUINTEGER MConnection::getInfoSqlConformance()
@@ -4421,7 +4408,7 @@
{
MYODBCDbgEnter();
- MYODBCDbgReturn1( sssss );
+ MYODBCDbgReturn1( "table" );
}
SQLUINTEGER MConnection::getInfoTimedateAddIntervals()
@@ -4496,14 +4483,17 @@
{
MYODBCDbgEnter();
- MYODBCDbgReturn1( sssss );
+ if ( getUserIdentifier().isNull() )
+ MYODBCDbgReturn1( "" );
+
+ MYODBCDbgReturn1( getUserIdentifier() );
}
QString MConnection::getInfoXopenCliYear()
{
MYODBCDbgEnter();
- MYODBCDbgReturn1( sssss );
+ MYODBCDbgReturn1( "1992" );
}
SQLRETURN MConnection::doConnectInternal( MYODBCInsDataSource *pDataSource )
Modified: trunk/MYSQLPlus/MYSQLPlusLib/MResultPlus.cpp
===================================================================
--- trunk/MYSQLPlus/MYSQLPlusLib/MResultPlus.cpp 2006-06-27 06:55:45 UTC (rev 404)
+++ trunk/MYSQLPlus/MYSQLPlusLib/MResultPlus.cpp 2006-06-27 16:21:52 UTC (rev 405)
@@ -687,7 +687,7 @@
MYODBCDbgReturn( nReturn );
}
-SQLRETURN MResultPlus::doSpecialColumns( const QString &stringCatalog, const QString
&stringSchema, const QString &stringTable, SQLSMALLINT nScope, SQLSMALLINT
nNullable )
+SQLRETURN MResultPlus::doSpecialColumns( SQLSMALLINT nIdentifierType, const QString
&stringCatalog, const QString &stringSchema, const QString &stringTable,
SQLSMALLINT nScope, SQLSMALLINT nNullable )
{
MYODBCDbgEnter();
Modified: trunk/MYSQLPlus/MYSQLPlusLib/MResultPlus.h
===================================================================
--- trunk/MYSQLPlus/MYSQLPlusLib/MResultPlus.h 2006-06-27 06:55:45 UTC (rev 404)
+++ trunk/MYSQLPlus/MYSQLPlusLib/MResultPlus.h 2006-06-27 16:21:52 UTC (rev 405)
@@ -72,7 +72,7 @@
SQLRETURN doTables( const QString &stringCatalog, const QString
&stringSchema, const QString &stringTable, const QString &stringTableType );
SQLRETURN doColumns( const QString &stringCatalog, const QString
&stringSchema, const QString &stringTable, const QString &stringColumn );
- SQLRETURN doSpecialColumns( const QString &stringCatalog, const QString
&stringSchema, const QString &stringTable, SQLSMALLINT nScope, SQLSMALLINT
nNullable );
+ SQLRETURN doSpecialColumns( SQLSMALLINT nIdentifierType, const QString
&stringCatalog, const QString &stringSchema, const QString &stringTable,
SQLSMALLINT nScope, SQLSMALLINT nNullable );
/* isers */
BOOLEAN isValidRow();
Modified: trunk/MYSQLPlus/MYSQLPlusLib/MStatement.cpp
===================================================================
--- trunk/MYSQLPlus/MYSQLPlusLib/MStatement.cpp 2006-06-27 06:55:45 UTC (rev 404)
+++ trunk/MYSQLPlus/MYSQLPlusLib/MStatement.cpp 2006-06-27 16:21:52 UTC (rev 405)
@@ -3085,7 +3085,7 @@
doTables
*/
-SQLRETURN MStatement::doSpecialColumns( SQLSMALLINT nIdentifierType, SQLWCHAR
*psCatalogName, SQLSMALLINT nNameLength1, SQLWCHAR *psSchemaName, SQLSMALLINT
nNameLength2, SQLWCHAR *psTableName, SQLSMALLINT nNameLength3, SQLSMALLINT nScope,
SQLSMALLINT nNullable )
+SQLRETURN MStatement::doSpecialColumns( SQLSMALLINT nIdentifierType, SQLWCHAR *psCatalog,
SQLSMALLINT nLength1, SQLWCHAR *psSchema, SQLSMALLINT nLength2, SQLWCHAR *psTable,
SQLSMALLINT nLength3, SQLSMALLINT nScope, SQLSMALLINT nNullable )
{
MYODBCDbgEnter();
@@ -3141,7 +3141,7 @@
The SQL_ATTR_METADATA_ID statement attribute was set to SQL_TRUE, and the
SchemaName
argument was a null pointer.
*/
- if ( getMetadataID() == SQL_TRUE && !psSchemaName )
+ if ( getMetadataID() == SQL_TRUE && !psSchema )
MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_HY009 ) );
/*!
@@ -3218,7 +3218,7 @@
The TableName argument was a null pointer.
*/
- if ( !psTableName )
+ if ( !psTable )
MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_HY009 ) );
/*!
@@ -3228,7 +3228,7 @@
argument was a null pointer, and the SQL_CATALOG_NAME InfoType returns that
catalog
names are supported.
*/
- if ( getMetadataID() == SQL_TRUE && !psCatalogName &&
getConnection()->getInfoCatalogName() == "Y" )
+ if ( getMetadataID() == SQL_TRUE && !psCatalog &&
getConnection()->getInfoCatalogName() == "Y" )
MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_HY009 ) );
@@ -3237,12 +3237,12 @@
QString stringSchema;
QString stringTable;
- if ( psCatalogName && nLength1 != 0 )
- stringCatalog = QString::fromUtf16( psCatalogName, ( nLength1 == SQL_NTS ? -1 :
nLength1 ) );
- if ( psSchemaName && nLength2 != 0 )
- stringSchema = QString::fromUtf16( psSchemaName, ( nLength2 == SQL_NTS ? -1 :
nLength2 ) );
- if ( psTableName && nLength3 != 0 )
- stringTable = QString::fromUtf16( psTableName, ( nLength3 == SQL_NTS ? -1 :
nLength3 ) );
+ if ( psCatalog && nLength1 != 0 )
+ stringCatalog = QString::fromUtf16( psCatalog, ( nLength1 == SQL_NTS ? -1 :
nLength1 ) );
+ if ( psSchema && nLength2 != 0 )
+ stringSchema = QString::fromUtf16( psSchema, ( nLength2 == SQL_NTS ? -1 :
nLength2 ) );
+ if ( psTable && nLength3 != 0 )
+ stringTable = QString::fromUtf16( psTable, ( nLength3 == SQL_NTS ? -1 : nLength3
) );
/*!
\internal ODBC RULE
| Thread |
|---|
| • Connector/ODBC 5 commit: r405 - trunk/MYSQLPlus/MYSQLPlusLib | pharvey | 27 Jun |