Modified:
trunk/Driver/Driver/Library/MYODBCDriverMain.cpp
trunk/SDK/C/include/MYODBCC.h
trunk/SDK/Dbg/include/MYODBCDbg.h
trunk/SDK/MYSQLPlus/Library/MCommands.cpp
trunk/SDK/MYSQLPlus/Library/MConnection.cpp
trunk/SDK/MYSQLPlus/Library/MDescriptorRecord.cpp
trunk/SDK/MYSQLPlus/Library/MDiagnostic.cpp
trunk/SDK/MYSQLPlus/Library/MResult.cpp
trunk/SDK/MYSQLPlus/Library/MResultPlus.cpp
trunk/SDK/MYSQLPlus/Library/MStatement.cpp
Log:
FIX: Added SQL_CHAR support for catalog resultset generation (think SQLStatictics).
FIX: Corrected some debug lines which returned strings using MYODBCDbgReturn3 instead of
MYODBCDbgReturn1. In fact most uses of MYODBCDbgReturn3 could be switched to
MYODBCDbgReturn1.
FIX: Added more trace output.
Modified: trunk/Driver/Driver/Library/MYODBCDriverMain.cpp
===================================================================
--- trunk/Driver/Driver/Library/MYODBCDriverMain.cpp 2006-10-12 06:49:47 UTC (rev 600)
+++ trunk/Driver/Driver/Library/MYODBCDriverMain.cpp 2006-10-12 23:40:11 UTC (rev 601)
@@ -35,12 +35,6 @@
#define tgetenv getenv
#endif
-// #include <QCoreApplication>
-
-// int gnArgc = 1;
-// char *gnArgv[] = { MYODBC_DRIVER_NAME };
-// QCoreApplication *gpCoreApplication = NULL;
-
int gnMYODBCDrvProcesses = 0;
int gnMYODBCDrvThreads = 0;
HANDLE ghMYODBCDrvModule = NULL;
@@ -57,8 +51,6 @@
if ( !gnMYODBCDrvProcesses++ )
{
ghMYODBCDrvModule = hInst;
-// gpCoreApplication = new QCoreApplication( (int &)gnArgc, gnArgv );
-
/*!
\internal
\todo
@@ -134,7 +126,6 @@
MYODBCDbgFini();
if ( !gMYODBCTraceFile.fileName().isEmpty() )
gMYODBCTraceFile.close();
-// delete gpCoreApplication;
}
break;
case DLL_THREAD_DETACH:
Modified: trunk/SDK/C/include/MYODBCC.h
===================================================================
--- trunk/SDK/C/include/MYODBCC.h 2006-10-12 06:49:47 UTC (rev 600)
+++ trunk/SDK/C/include/MYODBCC.h 2006-10-12 23:40:11 UTC (rev 601)
@@ -96,7 +96,16 @@
#define MYODBCCSet( A, B ) if ( A ) *A = B
-/* library handling wrappers */
+/*!
+ \internal
+ \note
+
+ We need the ability to load the setup library explicitly at runtime
+ (plugin style) during things such as SQLDriverConnect (with prompting)
+ to provide UI bits.
+
+ We can do this using QLibrary or own macros for portability.
+*/
#ifdef WIN32
#define MYODBC_C_DLL HMODULE
#define MYODBCCInitLibrary() abs(0)
Modified: trunk/SDK/Dbg/include/MYODBCDbg.h
===================================================================
--- trunk/SDK/Dbg/include/MYODBCDbg.h 2006-10-12 06:49:47 UTC (rev 600)
+++ trunk/SDK/Dbg/include/MYODBCDbg.h 2006-10-12 23:40:11 UTC (rev 601)
@@ -183,9 +183,9 @@
{\
if ( gpMYODBCDbg )\
{\
- QString stringMessage;\
- QTextStream( &stringMessage ) << A;\
- gpMYODBCDbg->doReturn( __FILE__, __LINE__, __FUNCTION__, stringMessage );\
+ QString stringMessage_;\
+ QTextStream( &stringMessage_ ) << A;\
+ gpMYODBCDbg->doReturn( __FILE__, __LINE__, __FUNCTION__, stringMessage_ );\
}\
return ( A );\
}
@@ -203,8 +203,8 @@
{\
if ( gpMYODBCDbg )\
{\
- QString stringMessage;\
- gpMYODBCDbg->doReturn( __FILE__, __LINE__, __FUNCTION__, stringMessage.sprintf( A,
B ) );\
+ QString stringMessage_;\
+ gpMYODBCDbg->doReturn( __FILE__, __LINE__, __FUNCTION__, stringMessage_.sprintf(
A, B ) );\
}\
return ( B );\
}
Modified: trunk/SDK/MYSQLPlus/Library/MCommands.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MCommands.cpp 2006-10-12 06:49:47 UTC (rev 600)
+++ trunk/SDK/MYSQLPlus/Library/MCommands.cpp 2006-10-12 23:40:11 UTC (rev 601)
@@ -140,7 +140,7 @@
{
MYODBCDbgEnter();
- MYODBCDbgReturn3( "%s", stringCommands );
+ MYODBCDbgReturn1( stringCommands );
}
/*!
@@ -166,7 +166,7 @@
stringCommand += pCommand->getNative();
}
- MYODBCDbgReturn3( "%s", stringCommand );
+ MYODBCDbgReturn1( stringCommand );
}
SQLUSMALLINT MCommands::getParameterFirst()
Modified: trunk/SDK/MYSQLPlus/Library/MConnection.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MConnection.cpp 2006-10-12 06:49:47 UTC (rev 600)
+++ trunk/SDK/MYSQLPlus/Library/MConnection.cpp 2006-10-12 23:40:11 UTC (rev 601)
@@ -2041,7 +2041,6 @@
QString stringInConnectionString;
SQLRETURN nReturn = SQL_SUCCESS;
BOOLEAN bPrompt = false;
- QLibrary hSetup;
#if MYODBC_DBG > 1
MYODBCDbgInfo( QString("nDriverCompletion=%1=%2").arg( nDriverCompletion ).arg(
MYODBCC::getDriverCompletionString( nDriverCompletion ) ) );
@@ -2189,7 +2188,14 @@
if ( stringSETUP.isNull() )
MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::STATE_HY000, 0,
QString( "Could not determine the file name of setup library for driver (%1)." ).arg(
driverconnect.getDRIVER() ) ) );
- hSetup.setFileName( stringSETUP );
+ /*!
+ \internal
+ \todo
+
+ The app will crash upon exit if the GUI is invoked from here. It appears
related to when
+ the setup library is unloaded.
+ */
+ QLibrary hSetup( stringSETUP );
if ( !hSetup.load() )
MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::STATE_HY000, 0,
QString( "Could not load the setup library (%1)." ).arg( stringSETUP ) ) );
@@ -2275,7 +2281,6 @@
}
MYODBCDrvDriverConnectExit2:
-
MYODBCDbgReturn( nReturn );
}
@@ -3241,10 +3246,10 @@
getDiagnostic()->doAppend( MDiagnostic::STATE_HY000, mysql_errno( pMySQL
), mysql_error( pMySQL ) );
if ( !stringDatabase.isEmpty() )
- MYODBCDbgReturn3( "%s", stringDatabase );
+ MYODBCDbgReturn1( stringDatabase );
}
- MYODBCDbgReturn3( "%s", stringCurrentCatalog );
+ MYODBCDbgReturn1( stringCurrentCatalog );
}
SQLUINTEGER MConnection::getLoginTimeout()
@@ -3293,14 +3298,14 @@
{
MYODBCDbgEnter();
- MYODBCDbgReturn3( "%s", stringTracefile );
+ MYODBCDbgReturn1( stringTracefile );
}
QString MConnection::getTranslateLib()
{
MYODBCDbgEnter();
- MYODBCDbgReturn3( "%s", stringTranslateLib );
+ MYODBCDbgReturn1( stringTranslateLib );
}
qint32 MConnection::getTranslateOption()
Modified: trunk/SDK/MYSQLPlus/Library/MDescriptorRecord.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MDescriptorRecord.cpp 2006-10-12 06:49:47 UTC (rev 600)
+++ trunk/SDK/MYSQLPlus/Library/MDescriptorRecord.cpp 2006-10-12 23:40:11 UTC (rev 601)
@@ -1239,14 +1239,14 @@
{
MYODBCDbgEnter();
- MYODBCDbgReturn3( "%s", stringBaseColumnName );
+ MYODBCDbgReturn1( stringBaseColumnName );
}
QString MDescriptorRecord::getBaseTableName()
{
MYODBCDbgEnter();
- MYODBCDbgReturn3( "%s", stringBaseTableName );
+ MYODBCDbgReturn1( stringBaseTableName );
}
SQLINTEGER MDescriptorRecord::getCaseSensitive()
@@ -1260,7 +1260,7 @@
{
MYODBCDbgEnter();
- MYODBCDbgReturn3( "%s", stringCatalogName );
+ MYODBCDbgReturn1( stringCatalogName );
}
SQLSMALLINT MDescriptorRecord::getConciseType()
@@ -1316,7 +1316,7 @@
{
MYODBCDbgEnter();
- MYODBCDbgReturn3( "%s", stringLabel );
+ MYODBCDbgReturn1( stringLabel );
}
SQLUINTEGER MDescriptorRecord::getLength()
@@ -1330,28 +1330,28 @@
{
MYODBCDbgEnter();
- MYODBCDbgReturn3( "%s", stringLiteralPrefix );
+ MYODBCDbgReturn1( stringLiteralPrefix );
}
QString MDescriptorRecord::getLiteralSuffix()
{
MYODBCDbgEnter();
- MYODBCDbgReturn3( "%s", stringLiteralSuffix );
+ MYODBCDbgReturn1( stringLiteralSuffix );
}
QString MDescriptorRecord::getLocalTypeName()
{
MYODBCDbgEnter();
- MYODBCDbgReturn3( "%s", stringLocalTypeName );
+ MYODBCDbgReturn1( stringLocalTypeName );
}
QString MDescriptorRecord::getName()
{
MYODBCDbgEnter();
- MYODBCDbgReturn3( "%s", stringName );
+ MYODBCDbgReturn1( stringName );
}
SQLSMALLINT MDescriptorRecord::getNullable()
@@ -1414,7 +1414,7 @@
{
MYODBCDbgEnter();
- MYODBCDbgReturn3( "%s", stringSchemaName );
+ MYODBCDbgReturn1( stringSchemaName );
}
SQLSMALLINT MDescriptorRecord::getSearchable()
@@ -1428,7 +1428,7 @@
{
MYODBCDbgEnter();
- MYODBCDbgReturn3( "%s", stringTableName );
+ MYODBCDbgReturn1( stringTableName );
}
SQLSMALLINT MDescriptorRecord::getType()
@@ -1442,7 +1442,7 @@
{
MYODBCDbgEnter();
- MYODBCDbgReturn3( "%s", stringTypeName );
+ MYODBCDbgReturn1( stringTypeName );
}
SQLSMALLINT MDescriptorRecord::getUnnamed()
@@ -2419,6 +2419,30 @@
switch ( nConciseType )
{
+ case SQL_CHAR:
+ setAutoUniqueValue( SQL_FALSE );
+ setBaseColumnName( "" );
+ setBaseTableName( "" );
+ setCaseSensitive( SQL_TRUE );
+ setCatalogName( "" );
+ setConciseTypeSQL( nConciseType );
+ setDisplaySize( 1 );
+ setLabel( "" );
+ setLength( 1 );
+ setLiteralPrefix( "" );
+ setLiteralSuffix( "" );
+ setLocalTypeName( "" );
+ setName( "" );
+ setNullable( SQL_NULLABLE_UNKNOWN );
+ setNumPrecRadix( 0 );
+ setOctetLength( 1 );
+ setSchemaName( "" );
+ setSearchable( SQL_PRED_NONE );
+ setTableName( "" );
+ setTypeName( "CHAR" );
+ setUnsigned( SQL_TRUE );
+ setUpdatable( SQL_ATTR_READONLY );
+ break;
case SQL_INTEGER:
setAutoUniqueValue( SQL_FALSE );
setBaseColumnName( "" );
@@ -2512,73 +2536,73 @@
switch ( nType )
{
case SQL_CHAR:
- MYODBCDbgReturn3( "%s", "CHAR" );
+ MYODBCDbgReturn1( "CHAR" );
case SQL_VARCHAR:
- MYODBCDbgReturn3( "%s", "VARCHAR" );
+ MYODBCDbgReturn1( "VARCHAR" );
case SQL_LONGVARCHAR:
- MYODBCDbgReturn3( "%s", "LONGVARCHAR" );
+ MYODBCDbgReturn1( "LONGVARCHAR" );
case SQL_WCHAR:
- MYODBCDbgReturn3( "%s", "WCHAR" );
+ MYODBCDbgReturn1( "WCHAR" );
case SQL_WVARCHAR:
- MYODBCDbgReturn3( "%s", "WVARCHAR" );
+ MYODBCDbgReturn1( "WVARCHAR" );
case SQL_WLONGVARCHAR:
- MYODBCDbgReturn3( "%s", "WLONGVARCHAR" );
+ MYODBCDbgReturn1( "WLONGVARCHAR" );
case SQL_DECIMAL:
- MYODBCDbgReturn3( "%s", "DECIMAL" );
+ MYODBCDbgReturn1( "DECIMAL" );
case SQL_NUMERIC:
- MYODBCDbgReturn3( "%s", "NUMERIC" );
+ MYODBCDbgReturn1( "NUMERIC" );
case SQL_SMALLINT:
- MYODBCDbgReturn3( "%s", "SMALLINT" );
+ MYODBCDbgReturn1( "SMALLINT" );
case SQL_INTEGER:
- MYODBCDbgReturn3( "%s", "INTEGER" );
+ MYODBCDbgReturn1( "INTEGER" );
case SQL_REAL:
- MYODBCDbgReturn3( "%s", "REAL" );
+ MYODBCDbgReturn1( "REAL" );
case SQL_FLOAT:
- MYODBCDbgReturn3( "%s", "FLOAT" );
+ MYODBCDbgReturn1( "FLOAT" );
case SQL_DOUBLE:
- MYODBCDbgReturn3( "%s", "DOUBLE" );
+ MYODBCDbgReturn1( "DOUBLE" );
case SQL_BIT:
- MYODBCDbgReturn3( "%s", "BIT" );
+ MYODBCDbgReturn1( "BIT" );
case SQL_TINYINT:
- MYODBCDbgReturn3( "%s", "TINYINT" );
+ MYODBCDbgReturn1( "TINYINT" );
case SQL_BIGINT:
- MYODBCDbgReturn3( "%s", "BIGINT" );
+ MYODBCDbgReturn1( "BIGINT" );
case SQL_BINARY:
- MYODBCDbgReturn3( "%s", "BINARY" );
+ MYODBCDbgReturn1( "BINARY" );
case SQL_VARBINARY:
- MYODBCDbgReturn3( "%s", "VARBINARY" );
+ MYODBCDbgReturn1( "VARBINARY" );
case SQL_LONGVARBINARY:
- MYODBCDbgReturn3( "%s", "LONGVARBINARY" );
+ MYODBCDbgReturn1( "LONGVARBINARY" );
case SQL_DATETIME:
- MYODBCDbgReturn3( "%s", "DATETIME" );
+ MYODBCDbgReturn1( "DATETIME" );
case SQL_INTERVAL:
- MYODBCDbgReturn3( "%s", "INTERVAL" );
+ MYODBCDbgReturn1( "INTERVAL" );
case SQL_GUID:
- MYODBCDbgReturn3( "%s", "GUID" );
+ MYODBCDbgReturn1( "GUID" );
}
- MYODBCDbgReturn3( "%s", "VARCHAR" );
+ MYODBCDbgReturn1( "VARCHAR" );
}
SQLRETURN MDescriptorRecord::doConsistencyCheck()
Modified: trunk/SDK/MYSQLPlus/Library/MDiagnostic.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MDiagnostic.cpp 2006-10-12 06:49:47 UTC (rev 600)
+++ trunk/SDK/MYSQLPlus/Library/MDiagnostic.cpp 2006-10-12 23:40:11 UTC (rev 601)
@@ -365,68 +365,68 @@
switch ( nDynamicFunctionCode )
{
case SQL_DIAG_ALTER_DOMAIN:
- MYODBCDbgReturn3( "%s", "ALTER DOMAIN" );
+ MYODBCDbgReturn1( "ALTER DOMAIN" );
case SQL_DIAG_ALTER_TABLE:
- MYODBCDbgReturn3( "%s", "ALTER TABLE" );
+ MYODBCDbgReturn1( "ALTER TABLE" );
case SQL_DIAG_CALL:
- MYODBCDbgReturn3( "%s", "CALL" );
+ MYODBCDbgReturn1( "CALL" );
case SQL_DIAG_CREATE_ASSERTION:
- MYODBCDbgReturn3( "%s", "CREATE ASSERTION" );
+ MYODBCDbgReturn1( "CREATE ASSERTION" );
case SQL_DIAG_CREATE_CHARACTER_SET:
- MYODBCDbgReturn3( "%s", "CREATE CHARACTER SET)" );
+ MYODBCDbgReturn1( "CREATE CHARACTER SET)" );
case SQL_DIAG_CREATE_COLLATION:
- MYODBCDbgReturn3( "%s", "CREATE COLLATION" );
+ MYODBCDbgReturn1( "CREATE COLLATION" );
case SQL_DIAG_CREATE_DOMAIN:
- MYODBCDbgReturn3( "%s", "CREATE DOMAIN" );
+ MYODBCDbgReturn1( "CREATE DOMAIN" );
case SQL_DIAG_CREATE_INDEX:
- MYODBCDbgReturn3( "%s", "CREATE INDEX" );
+ MYODBCDbgReturn1( "CREATE INDEX" );
case SQL_DIAG_CREATE_SCHEMA:
- MYODBCDbgReturn3( "%s", "CREATE SCHEMA" );
+ MYODBCDbgReturn1( "CREATE SCHEMA" );
case SQL_DIAG_CREATE_TABLE:
- MYODBCDbgReturn3( "%s", "CREATE TABLE" );
+ MYODBCDbgReturn1( "CREATE TABLE" );
case SQL_DIAG_CREATE_TRANSLATION:
- MYODBCDbgReturn3( "%s", "CREATE TRANSLATION" );
+ MYODBCDbgReturn1( "CREATE TRANSLATION" );
case SQL_DIAG_CREATE_VIEW:
- MYODBCDbgReturn3( "%s", "CREATE VIEW" );
+ MYODBCDbgReturn1( "CREATE VIEW" );
case SQL_DIAG_DELETE_WHERE:
- MYODBCDbgReturn3( "%s", "DELETE WHERE" );
+ MYODBCDbgReturn1( "DELETE WHERE" );
case SQL_DIAG_DROP_ASSERTION:
- MYODBCDbgReturn3( "%s", "DROP ASSERTION" );
+ MYODBCDbgReturn1( "DROP ASSERTION" );
case SQL_DIAG_DROP_CHARACTER_SET:
- MYODBCDbgReturn3( "%s", "DROP CHARACTER SET" );
+ MYODBCDbgReturn1( "DROP CHARACTER SET" );
case SQL_DIAG_DROP_COLLATION:
- MYODBCDbgReturn3( "%s", "DROP COLLATION" );
+ MYODBCDbgReturn1( "DROP COLLATION" );
case SQL_DIAG_DROP_DOMAIN:
- MYODBCDbgReturn3( "%s", "DROP DOMAIN" );
+ MYODBCDbgReturn1( "DROP DOMAIN" );
case SQL_DIAG_DROP_INDEX:
- MYODBCDbgReturn3( "%s", "DROP INDEX" );
+ MYODBCDbgReturn1( "DROP INDEX" );
case SQL_DIAG_DROP_SCHEMA:
- MYODBCDbgReturn3( "%s", "DROP SCHEMA" );
+ MYODBCDbgReturn1( "DROP SCHEMA" );
case SQL_DIAG_DROP_TABLE:
- MYODBCDbgReturn3( "%s", "DROP TABLE" );
+ MYODBCDbgReturn1( "DROP TABLE" );
case SQL_DIAG_DROP_TRANSLATION:
- MYODBCDbgReturn3( "%s", "DROP TRANSLATION" );
+ MYODBCDbgReturn1( "DROP TRANSLATION" );
case SQL_DIAG_DROP_VIEW:
- MYODBCDbgReturn3( "%s", "DROP VIEW" );
+ MYODBCDbgReturn1( "DROP VIEW" );
case SQL_DIAG_DYNAMIC_DELETE_CURSOR:
- MYODBCDbgReturn3( "%s", "DYNAMIC DELETE CURSOR" );
+ MYODBCDbgReturn1( "DYNAMIC DELETE CURSOR" );
case SQL_DIAG_DYNAMIC_UPDATE_CURSOR:
- MYODBCDbgReturn3( "%s", "DYNAMIC UPDATE CURSOR" );
+ MYODBCDbgReturn1( "DYNAMIC UPDATE CURSOR" );
case SQL_DIAG_GRANT:
- MYODBCDbgReturn3( "%s", "GRANT" );
+ MYODBCDbgReturn1( "GRANT" );
case SQL_DIAG_INSERT:
- MYODBCDbgReturn3( "%s", "INSERT" );
+ MYODBCDbgReturn1( "INSERT" );
case SQL_DIAG_REVOKE:
- MYODBCDbgReturn3( "%s", "REVOKE" );
+ MYODBCDbgReturn1( "REVOKE" );
case SQL_DIAG_SELECT_CURSOR:
- MYODBCDbgReturn3( "%s", "SELECT CURSOR" );
+ MYODBCDbgReturn1( "SELECT CURSOR" );
case SQL_DIAG_UPDATE_WHERE:
- MYODBCDbgReturn3( "%s", "UPDATE_WHERE" );
+ MYODBCDbgReturn1( "UPDATE_WHERE" );
/* case SQL_DIAG_UNKNOWN_STATEMENT:
return "UNKNOWN_STATEMENT"; */
}
- MYODBCDbgReturn3( "%s", "UNKNOWN_STATEMENT" );
+ MYODBCDbgReturn1( "UNKNOWN_STATEMENT" );
}
SQLINTEGER MDiagnostic::getDynamicFunctionCode()
Modified: trunk/SDK/MYSQLPlus/Library/MResult.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MResult.cpp 2006-10-12 06:49:47 UTC (rev 600)
+++ trunk/SDK/MYSQLPlus/Library/MResult.cpp 2006-10-12 23:40:11 UTC (rev 601)
@@ -2107,6 +2107,7 @@
}
#if MYODBC_DBG > 1
+ MYODBCDbgInfo( QString( "cell data (1st 50 chars)=%1" ).arg(
vectorRows[resultGetData.nRow][resultGetData.nColumn - 1].toString().left( 50 ) ) );
MYODBCDbgInfo( QString( "resultGetData.pImpRowDescRec->getConciseType()=%1=%2"
).arg( resultGetData.pImpRowDescRec->getConciseType() ).arg(
MYODBCC::getConciseTypeStringSQL( resultGetData.pImpRowDescRec->getConciseType(),
getEnvironment()->getODBCVersion() ) ) );
MYODBCDbgInfo( QString( "resultGetData.nTargetTypeAdjusted=%1=%2" ).arg(
resultGetData.nTargetTypeAdjusted ).arg( MYODBCC::getConciseTypeStringC(
resultGetData.nTargetTypeAdjusted, getEnvironment()->getODBCVersion() ) ) );
#endif
Modified: trunk/SDK/MYSQLPlus/Library/MResultPlus.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MResultPlus.cpp 2006-10-12 06:49:47 UTC (rev 600)
+++ trunk/SDK/MYSQLPlus/Library/MResultPlus.cpp 2006-10-12 23:40:11 UTC (rev 601)
@@ -628,6 +628,14 @@
{
MYODBCDbgEnter();
+#if MYODBC_DBG > 1
+ MYODBCDbgInfo( QString( "stringCatalog=(%1)" ).arg( stringCatalog ) );
+ MYODBCDbgInfo( QString( "stringSchema=(%1)" ).arg( stringSchema ) );
+ MYODBCDbgInfo( QString( "stringTable=(%1)" ).arg( stringTable ) );
+ MYODBCDbgInfo( QString( "nUnique=(%1)" ).arg( nUnique ) );
+ MYODBCDbgInfo( QString( "nReserved=(%1)" ).arg( nReserved ) );
+#endif
+
/* create empty resultset */
MDescriptor * pDescriptor;
SQLRETURN nReturn = doApplyCursorRestrictions();
@@ -639,15 +647,15 @@
pDescriptor->doAppend( SQL_VARCHAR, "TABLE_CAT", SQL_NULLABLE );
pDescriptor->doAppend( SQL_VARCHAR, "TABLE_SCHEM", SQL_NULLABLE );
pDescriptor->doAppend( SQL_VARCHAR, "TABLE_NAME", SQL_NO_NULLS );
- pDescriptor->doAppend( SQL_SMALLINT, "NON_UNIQUE", SQL_NULLABLE );
+ pDescriptor->doAppend( SQL_SMALLINT, "NON_UNIQUE", SQL_NULLABLE, SQL_FALSE );
pDescriptor->doAppend( SQL_VARCHAR, "INDEX_QUALIFIER", SQL_NULLABLE );
pDescriptor->doAppend( SQL_VARCHAR, "INDEX_NAME", SQL_NULLABLE );
- pDescriptor->doAppend( SQL_SMALLINT, "TYPE", SQL_NO_NULLS );
- pDescriptor->doAppend( SQL_SMALLINT, "ORDINAL_POSITION", SQL_NULLABLE );
+ pDescriptor->doAppend( SQL_SMALLINT, "TYPE", SQL_NO_NULLS, SQL_FALSE );
+ pDescriptor->doAppend( SQL_SMALLINT, "ORDINAL_POSITION", SQL_NULLABLE, SQL_FALSE
);
pDescriptor->doAppend( SQL_VARCHAR, "COLUMN_NAME", SQL_NULLABLE );
pDescriptor->doAppend( SQL_CHAR, "ASC_OR_DESC", SQL_NULLABLE );
- pDescriptor->doAppend( SQL_INTEGER, "CARDINALITY", SQL_NULLABLE );
- pDescriptor->doAppend( SQL_INTEGER, "PAGES", SQL_NULLABLE );
+ pDescriptor->doAppend( SQL_INTEGER, "CARDINALITY", SQL_NULLABLE, SQL_FALSE );
+ pDescriptor->doAppend( SQL_INTEGER, "PAGES", SQL_NULLABLE, SQL_FALSE );
pDescriptor->doAppend( SQL_VARCHAR, "FILTER_CONDITION", SQL_NULLABLE );
/* load result set */
Modified: trunk/SDK/MYSQLPlus/Library/MStatement.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MStatement.cpp 2006-10-12 06:49:47 UTC (rev 600)
+++ trunk/SDK/MYSQLPlus/Library/MStatement.cpp 2006-10-12 23:40:11 UTC (rev 601)
@@ -6218,7 +6218,7 @@
{
MYODBCDbgEnter();
- MYODBCDbgReturn3( "%s", stringCursorName );
+ MYODBCDbgReturn1( stringCursorName );
}
SQLUINTEGER MStatement::getInfoCursorAttributes1()
| Thread |
|---|
| • Connector/ODBC 5 commit: r601 - in trunk: Driver/Driver/Library SDK/C/include SDK/Dbg/include SDK/MYSQLPlus/Library | pharvey | 13 Oct |