List:Commits« Previous MessageNext Message »
From:pharvey Date:June 27 2006 7:59am
Subject:Connector/ODBC 5 commit: r403 - trunk/MYSQLPlus/MYSQLPlusLib
View as plain text  
Modified:
   trunk/MYSQLPlus/MYSQLPlusLib/MConnection.cpp
Log:
more work on getInfo*() methods

Modified: trunk/MYSQLPlus/MYSQLPlusLib/MConnection.cpp
===================================================================
--- trunk/MYSQLPlus/MYSQLPlusLib/MConnection.cpp	2006-06-27 04:03:18 UTC (rev 402)
+++ trunk/MYSQLPlus/MYSQLPlusLib/MConnection.cpp	2006-06-27 05:59:14 UTC (rev 403)
@@ -1173,45 +1173,22 @@
                 MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 )
);
             break;
         case SQL_NON_NULLABLE_COLUMNS:
-            *pnSQLUSMALLINT = SQL_NNC_NON_NULL;
+            *pnSQLUSMALLINT = getInfoNonNullableColumns();
             break;
         case SQL_NULL_COLLATION:
-            *pnSQLUSMALLINT = SQL_NC_START;
+            *pnSQLUSMALLINT = getInfoNullCollation();
             break;
         case SQL_NUMERIC_FUNCTIONS:
-            *pnSQLUINTEGER  = (SQL_FN_NUM_ABS | 
-                               SQL_FN_NUM_ACOS | 
-                               SQL_FN_NUM_ASIN | 
-                               SQL_FN_NUM_ATAN |
-                               SQL_FN_NUM_ATAN2 | 
-                               SQL_FN_NUM_CEILING | 
-                               SQL_FN_NUM_COS |
-                               SQL_FN_NUM_COT | 
-                               SQL_FN_NUM_EXP | 
-                               SQL_FN_NUM_FLOOR | 
-                               SQL_FN_NUM_LOG |
-                               SQL_FN_NUM_MOD | 
-                               SQL_FN_NUM_SIGN | 
-                               SQL_FN_NUM_SIN | 
-                               SQL_FN_NUM_SQRT |
-                               SQL_FN_NUM_TAN | 
-                               SQL_FN_NUM_PI | 
-                               SQL_FN_NUM_RAND |
-                               SQL_FN_NUM_DEGREES | 
-                               SQL_FN_NUM_LOG10 | 
-                               SQL_FN_NUM_POWER |
-                               SQL_FN_NUM_RADIANS | 
-                               SQL_FN_NUM_ROUND | 
-                               SQL_FN_NUM_TRUNCATE);
+            *pnSQLUINTEGER = getInfoNumericFunctions();
             break;
         case SQL_ODBC_API_CONFORMANCE: /* for compat with 2.x */
-            *pnSQLUSMALLINT  = SQL_OAC_LEVEL1;
+            *pnSQLUSMALLINT = getInfoOdbcApiConformance();
             break;
         case SQL_ODBC_INTERFACE_CONFORMANCE:
-            *pnSQLUINTEGER  = SQL_OIC_LEVEL1;
+            *pnSQLUINTEGER = getInfoOdbcInterfaceConformance();
             break;
         case SQL_ODBC_SQL_CONFORMANCE: /* for compat with 2.x */
-            *pnSQLSMALLINT  = SQL_OSC_CORE;
+            *pnSQLSMALLINT = getInfoOdbcSqlConformance();
             break;
         case SQL_ODBC_VER:
             /*!
@@ -1234,12 +1211,7 @@
                 MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 )
);
             break;
         case SQL_OJ_CAPABILITIES:
-            *pnSQLUINTEGER  = (SQL_OJ_LEFT | 
-                               SQL_OJ_NESTED |
-                               SQL_OJ_NOT_ORDERED |
-                               SQL_OJ_INNER | 
-                               SQL_OJ_ALL_COMPARISON_OPS |
-                               SQL_OJ_RIGHT);
+            *pnSQLUINTEGER = getInfoOjCapabilities();
             break;
         case SQL_ORDER_BY_COLUMNS_IN_SELECT:
             bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), L"Y", &nStringLengthChars );
@@ -1248,10 +1220,10 @@
                 MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 )
);
             break;
         case SQL_PARAM_ARRAY_ROW_COUNTS:
-            *pnSQLUINTEGER  = SQL_PARC_NO_BATCH;
+            *pnSQLUINTEGER = getInfoParamArrayRowCounts();
             break;
         case SQL_PARAM_ARRAY_SELECTS:
-            *pnSQLUINTEGER  = SQL_PAS_NO_SELECT;
+            *pnSQLUINTEGER = getInfoParamArraySelects();
             break;
         case SQL_PROCEDURE_TERM:
             bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), L"procedure", &nStringLengthChars );
@@ -1266,18 +1238,13 @@
                 MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 )
);
             break;
         case SQL_POS_OPERATIONS:
-            *pnSQLUINTEGER   = (SQL_POS_POSITION |
-                               SQL_POS_UPDATE  |
-                               SQL_POS_DELETE |
-                               SQL_POS_ADD |
-                               SQL_POS_REFRESH);
+            *pnSQLUINTEGER = getInfoPosOperations();
             break;
         case SQL_POSITIONED_STATEMENTS: /* for compat with 2.x */
-            *pnSQLUINTEGER  = (SQL_PS_POSITIONED_DELETE |
-                               SQL_PS_POSITIONED_UPDATE);
+            *pnSQLUINTEGER = getInfoPositionedStatements();
             break;
         case SQL_QUOTED_IDENTIFIER_CASE:
-            *pnSQLUSMALLINT = SQL_IC_SENSITIVE;
+            *pnSQLUSMALLINT = getInfoQuotedIdentifierCase();
             break;
         case SQL_ROW_UPDATES:
             bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), L"N", &nStringLengthChars );
@@ -1292,17 +1259,13 @@
                 MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 )
);
             break;
         case SQL_SCHEMA_USAGE:
-            *pnSQLUINTEGER  = 0L;
+            *pnSQLUINTEGER = getInfoSchemaUsage();
             break;
         case SQL_SCROLL_CONCURRENCY: /* for compat with 2.x */
-            *pnSQLUINTEGER  = (SQL_SS_ADDITIONS |
-                               SQL_SS_DELETIONS |
-                               SQL_SS_UPDATES);
+            *pnSQLUINTEGER = getInfoScrollConcurrency();
             break;
         case SQL_SCROLL_OPTIONS:
-            *pnSQLUINTEGER  = (SQL_SO_FORWARD_ONLY | 
-                               SQL_SO_STATIC |
-                               SQL_SO_DYNAMIC);
+            *pnSQLUINTEGER = getInfoScrollOptions();
             break;
         case SQL_SEARCH_PATTERN_ESCAPE:
             bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), L"\\", &nStringLengthChars );
@@ -1337,121 +1300,61 @@
             }
             break;
         case SQL_SQL_CONFORMANCE:
-            *pnSQLUINTEGER  = SQL_SC_SQL92_INTERMEDIATE;
+            *pnSQLUINTEGER = getInfoSqlConformance();
             break;
         case SQL_SQL92_DATETIME_FUNCTIONS:
-            *pnSQLUINTEGER  = (SQL_SDF_CURRENT_DATE |
-                               SQL_SDF_CURRENT_TIME |
-                               SQL_SDF_CURRENT_TIMESTAMP);
+            *pnSQLUINTEGER = getInfoSql92DatetimeFunctions();
             break;
         case SQL_SQL92_FOREIGN_KEY_DELETE_RULE:
+            *pnSQLUINTEGER = getInfoSql92ForeignKeyDeleteRule();
+            break;
         case SQL_SQL92_FOREIGN_KEY_UPDATE_RULE:
-            *pnSQLUINTEGER  = 0L;
+            *pnSQLUINTEGER = getInfoSql92ForeignKeyUpdateRule();
             break;
         case SQL_SQL92_GRANT:
-            *pnSQLUINTEGER  = (SQL_SG_DELETE_TABLE |
-                               SQL_SG_INSERT_COLUMN |
-                               SQL_SG_INSERT_TABLE |
-                               SQL_SG_REFERENCES_TABLE |
-                               SQL_SG_REFERENCES_COLUMN |
-                               SQL_SG_SELECT_TABLE |
-                               SQL_SG_UPDATE_COLUMN |
-                               SQL_SG_UPDATE_TABLE);
+            *pnSQLUINTEGER = getInfoSql92Grant();
             break;
         case SQL_SQL92_NUMERIC_VALUE_FUNCTIONS:
+            *pnSQLUINTEGER = getInfoSql92NumericValueFunctions();
+            break;
         case SQL_SQL92_PREDICATES:
-            *pnSQLUINTEGER  = 0L;
+            *pnSQLUINTEGER = getInfoSql92Predicates();
             break;
         case SQL_SQL92_RELATIONAL_JOIN_OPERATORS:
-            *pnSQLUINTEGER  = (SQL_SRJO_CROSS_JOIN |
-                               SQL_SRJO_INNER_JOIN  |
-                               SQL_SRJO_LEFT_OUTER_JOIN |
-                               SQL_SRJO_NATURAL_JOIN |
-                               SQL_SRJO_RIGHT_OUTER_JOIN);
+            *pnSQLUINTEGER = getInfoSql92RelationalJoinOperations();
             break;
         case SQL_SQL92_REVOKE:
-            *pnSQLUINTEGER  = (SQL_SR_DELETE_TABLE |
-                               SQL_SR_INSERT_COLUMN |
-                               SQL_SR_INSERT_TABLE |
-                               SQL_SR_REFERENCES_TABLE |
-                               SQL_SR_REFERENCES_COLUMN |
-                               SQL_SR_SELECT_TABLE |
-                               SQL_SR_UPDATE_COLUMN |
-                               SQL_SR_UPDATE_TABLE);
+            *pnSQLUINTEGER = getInfoSql92Revoke();
             break;
         case SQL_SQL92_ROW_VALUE_CONSTRUCTOR:
-            *pnSQLUINTEGER  = (SQL_SRVC_VALUE_EXPRESSION |
-                               SQL_SRVC_NULL |
-                               SQL_SRVC_DEFAULT);
+            *pnSQLUINTEGER = getInfoSql92RowValueConstructor();
             break;
         case SQL_SQL92_STRING_FUNCTIONS:
-            *pnSQLUINTEGER  = (SQL_SSF_CONVERT |
-                               SQL_SSF_LOWER |
-                               SQL_SSF_UPPER |
-                               SQL_SSF_SUBSTRING |
-                               SQL_SSF_TRANSLATE |
-                               SQL_SSF_TRIM_BOTH |
-                               SQL_SSF_TRIM_LEADING |
-                               SQL_SSF_TRIM_TRAILING);
+            *pnSQLUINTEGER = getInfoSql92StringFunctions();
             break;
         case SQL_SQL92_VALUE_EXPRESSIONS:
-            *pnSQLUINTEGER  = 0L;
+            *pnSQLUINTEGER = getInfoSql92ValueExpressins();
             break;
         case SQL_STANDARD_CLI_CONFORMANCE:
-            *pnSQLUINTEGER  = SQL_SCC_ISO92_CLI;
+            *pnSQLUINTEGER = getInfoStandardCliConformance();
             break;
         case SQL_STATIC_CURSOR_ATTRIBUTES1:
-            *pnSQLUINTEGER  = (SQL_CA1_NEXT |
-                               SQL_CA1_ABSOLUTE |
-                               SQL_CA1_RELATIVE |
-                               SQL_CA1_LOCK_NO_CHANGE |
-                               SQL_CA1_POS_POSITION |
-                               SQL_CA1_POS_UPDATE |
-                               SQL_CA1_POS_DELETE |
-                               SQL_CA1_POS_REFRESH |
-                               SQL_CA1_POSITIONED_UPDATE |
-                               SQL_CA1_POSITIONED_DELETE |
-                               SQL_CA1_BULK_ADD);
+            *pnSQLUINTEGER = getInfoStaticCursorAttributes1();
             break;
         case SQL_STATIC_CURSOR_ATTRIBUTES2:
-            *pnSQLUINTEGER  =  (SQL_CA2_MAX_ROWS_SELECT |
-                                SQL_CA2_MAX_ROWS_INSERT |
-                                SQL_CA2_MAX_ROWS_DELETE |
-                                SQL_CA2_MAX_ROWS_UPDATE |
-                                SQL_CA2_CRC_EXACT);
+            *pnSQLUINTEGER = getInfoStaticCursorAttributes2();
             break;
         case SQL_STATIC_SENSITIVITY: /* for compat with 2.x */
-            *pnSQLUINTEGER  = (SQL_SS_ADDITIONS |
-                               SQL_SS_DELETIONS |
-                               SQL_SS_UPDATES);
+            *pnSQLUINTEGER = getInfoStaticSensitivity();
             break;
         case SQL_STRING_FUNCTIONS:
-            *pnSQLUINTEGER  = (SQL_FN_STR_CONCAT | 
-                               SQL_FN_STR_INSERT |
-                               SQL_FN_STR_LEFT | 
-                               SQL_FN_STR_LTRIM | 
-                               SQL_FN_STR_LENGTH |
-                               SQL_FN_STR_LOCATE | 
-                               SQL_FN_STR_LCASE | 
-                               SQL_FN_STR_REPEAT |
-                               SQL_FN_STR_REPLACE | 
-                               SQL_FN_STR_RIGHT | 
-                               SQL_FN_STR_RTRIM |
-                               SQL_FN_STR_SUBSTRING | 
-                               SQL_FN_STR_UCASE | 
-                               SQL_FN_STR_ASCII |
-                               SQL_FN_STR_CHAR | 
-                               SQL_FN_STR_LOCATE_2 | 
-                               SQL_FN_STR_SOUNDEX |
-                               SQL_FN_STR_SPACE);
+            *pnSQLUINTEGER = getInfoStringFunctions();
             break;
         case SQL_SUBQUERIES:
-            *pnSQLUINTEGER  = 0L;
+            *pnSQLUINTEGER = getInfoSubqueries();
             break;
         case SQL_SYSTEM_FUNCTIONS:
-            *pnSQLUINTEGER  = (SQL_FN_SYS_DBNAME |
-                               SQL_FN_SYS_IFNULL |
-                               SQL_FN_SYS_USERNAME);
+            *pnSQLUINTEGER = getInfoSystemFunctions();
             break;
         case SQL_TABLE_TERM:
             bCopyOk = MYODBCC::doStringCopyOut( pszSQLWCHAR, nBufferLength /
sizeof(SQLWCHAR), L"table", &nStringLengthChars );
@@ -1460,46 +1363,22 @@
                 MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 )
);
             break;
         case SQL_TIMEDATE_ADD_INTERVALS:
+            *pnSQLUINTEGER = getInfoTimedateAddIntervals();
+            break;
         case SQL_TIMEDATE_DIFF_INTERVALS:
-            *pnSQLUINTEGER  = 0L;
+            *pnSQLUINTEGER = getInfoTimedateDiffIntervals();
             break;
         case SQL_TIMEDATE_FUNCTIONS:
-            *pnSQLUINTEGER  = (SQL_FN_TD_NOW | 
-                               SQL_FN_TD_CURDATE | 
-                               SQL_FN_TD_DAYOFMONTH |
-                               SQL_FN_TD_DAYOFWEEK | 
-                               SQL_FN_TD_DAYOFYEAR | 
-                               SQL_FN_TD_MONTH |
-                               SQL_FN_TD_QUARTER | 
-                               SQL_FN_TD_WEEK | 
-                               SQL_FN_TD_YEAR |
-                               SQL_FN_TD_CURTIME | 
-                               SQL_FN_TD_HOUR | 
-                               SQL_FN_TD_MINUTE |
-                               SQL_FN_TD_SECOND | 
-                               SQL_FN_TD_DAYNAME | 
-                               SQL_FN_TD_MONTHNAME);
+            *pnSQLUINTEGER = getInfoTimedateFunctions();
             break;
         case SQL_TXN_CAPABLE:
-            /*!
-                \internal
-                \todo
-
-                Implement transaction support.
-            */
-            *pnSQLUSMALLINT = SQL_TC_NONE;
+            *pnSQLUSMALLINT = getInfoTxnCapable();
             break;
         case SQL_TXN_ISOLATION_OPTION:
-            /*!
-                \internal
-                \todo
-
-                Implement transaction support.
-            */
-            *pnSQLUINTEGER    = SQL_TXN_READ_COMMITTED;
+            *pnSQLUINTEGER = getInfoTxnIsolationOption();
             break;
         case SQL_UNION:
-            *pnSQLUINTEGER  = 0L;
+            *pnSQLUINTEGER = getInfoUnion();
             break;
         case SQL_USER_NAME:
             if ( getUserIdentifier().isEmpty() )
@@ -4168,42 +4047,65 @@
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", SQL_NNC_NON_NULL );
 }
 
 SQLUSMALLINT MConnection::getInfoNullCollation()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", SQL_NC_START );
 }
 
 SQLUINTEGER  MConnection::getInfoNumericFunctions()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", ( SQL_FN_NUM_ABS        | 
+                              SQL_FN_NUM_ACOS       | 
+                              SQL_FN_NUM_ASIN       | 
+                              SQL_FN_NUM_ATAN       |
+                              SQL_FN_NUM_ATAN2      | 
+                              SQL_FN_NUM_CEILING    | 
+                              SQL_FN_NUM_COS        |
+                              SQL_FN_NUM_COT        | 
+                              SQL_FN_NUM_EXP        | 
+                              SQL_FN_NUM_FLOOR      | 
+                              SQL_FN_NUM_LOG        |
+                              SQL_FN_NUM_MOD        | 
+                              SQL_FN_NUM_SIGN       | 
+                              SQL_FN_NUM_SIN        | 
+                              SQL_FN_NUM_SQRT       |
+                              SQL_FN_NUM_TAN        | 
+                              SQL_FN_NUM_PI         | 
+                              SQL_FN_NUM_RAND       |
+                              SQL_FN_NUM_DEGREES    | 
+                              SQL_FN_NUM_LOG10      | 
+                              SQL_FN_NUM_POWER      |
+                              SQL_FN_NUM_RADIANS    | 
+                              SQL_FN_NUM_ROUND      | 
+                              SQL_FN_NUM_TRUNCATE ) );
 }
 
 SQLUSMALLINT MConnection::getInfoOdbcApiConformance()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", SQL_OAC_LEVEL1 );
 }
 
 SQLUINTEGER  MConnection::getInfoOdbcInterfaceConformance()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", SQL_OIC_LEVEL1 );
 }
 
 SQLSMALLINT  MConnection::getInfoOdbcSqlConformance()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", SQL_OSC_CORE );
 }
 
 QString MConnection::getInfoOdbcVer()
@@ -4217,7 +4119,12 @@
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", ( SQL_OJ_LEFT               | 
+                              SQL_OJ_NESTED             |
+                              SQL_OJ_NOT_ORDERED        |
+                              SQL_OJ_INNER              | 
+                              SQL_OJ_ALL_COMPARISON_OPS |
+                              SQL_OJ_RIGHT ) );
 }
 
 QString MConnection::getInfoOrderByColumnsInSelect()
@@ -4231,14 +4138,14 @@
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", SQL_PARC_NO_BATCH );
 }
 
 SQLUINTEGER  MConnection::getInfoParamArraySelects()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", SQL_PAS_NO_SELECT );
 }
 
 QString MConnection::getInfoProcedureTerm()
@@ -4259,21 +4166,26 @@
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", ( SQL_POS_POSITION  |
+                              SQL_POS_UPDATE    |
+                              SQL_POS_DELETE    |
+                              SQL_POS_ADD       |
+                              SQL_POS_REFRESH ) );
 }
 
 SQLUINTEGER  MConnection::getInfoPositionedStatements()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", ( SQL_PS_POSITIONED_DELETE |
+                              SQL_PS_POSITIONED_UPDATE ) );
 }
 
 SQLUSMALLINT MConnection::getInfoQuotedIdentifierCase()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", SQL_IC_SENSITIVE );
 }
 
 QString MConnection::getInfoRowUpdates()
@@ -4294,21 +4206,25 @@
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", 0L );
 }
 
 SQLUINTEGER  MConnection::getInfoScrollConcurrency()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", ( SQL_SS_ADDITIONS |
+                              SQL_SS_DELETIONS |
+                              SQL_SS_UPDATES ) );
 }
 
 SQLUINTEGER  MConnection::getInfoScrollOptions()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", ( SQL_SO_FORWARD_ONLY   | 
+                              SQL_SO_STATIC         |
+                              SQL_SO_DYNAMIC ) );
 }
 
 QString MConnection::getInfoSearchPatternEscape()
@@ -4336,133 +4252,197 @@
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", SQL_SC_SQL92_INTERMEDIATE );
 }
 
 SQLUINTEGER  MConnection::getInfoSql92DatetimeFunctions()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", ( SQL_SDF_CURRENT_DATE |
+                              SQL_SDF_CURRENT_TIME |
+                              SQL_SDF_CURRENT_TIMESTAMP ) );
 }
 
 SQLUINTEGER  MConnection::getInfoSql92ForeignKeyDeleteRule()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", 0L );
 }
 
 SQLUINTEGER  MConnection::getInfoSql92ForeignKeyUpdateRule()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", 0L );
 }
 
 SQLUINTEGER  MConnection::getInfoSql92Grant()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", ( SQL_SG_DELETE_TABLE       |
+                              SQL_SG_INSERT_COLUMN      |
+                              SQL_SG_INSERT_TABLE       |
+                              SQL_SG_REFERENCES_TABLE   |
+                              SQL_SG_REFERENCES_COLUMN  |
+                              SQL_SG_SELECT_TABLE       |
+                              SQL_SG_UPDATE_COLUMN      |
+                              SQL_SG_UPDATE_TABLE ) );
 }
 
 SQLUINTEGER  MConnection::getInfoSql92NumericValueFunctions()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", 0L );
 }
 
 SQLUINTEGER  MConnection::getInfoSql92Predicates()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", 0L );
 }
 
 SQLUINTEGER  MConnection::getInfoSql92RelationalJoinOperations()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", ( SQL_SRJO_CROSS_JOIN       |
+                              SQL_SRJO_INNER_JOIN       |
+                              SQL_SRJO_LEFT_OUTER_JOIN  |
+                              SQL_SRJO_NATURAL_JOIN     |
+                              SQL_SRJO_RIGHT_OUTER_JOIN ) );
 }
 
 SQLUINTEGER  MConnection::getInfoSql92Revoke()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", ( SQL_SR_DELETE_TABLE       |
+                              SQL_SR_INSERT_COLUMN      |
+                              SQL_SR_INSERT_TABLE       |
+                              SQL_SR_REFERENCES_TABLE   |
+                              SQL_SR_REFERENCES_COLUMN  |
+                              SQL_SR_SELECT_TABLE       |
+                              SQL_SR_UPDATE_COLUMN      |
+                              SQL_SR_UPDATE_TABLE ) );
 }
 
 SQLUINTEGER  MConnection::getInfoSql92RowValueConstructor()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", ( SQL_SRVC_VALUE_EXPRESSION |
+                              SQL_SRVC_NULL             |
+                              SQL_SRVC_DEFAULT ) );
 }
 
 SQLUINTEGER  MConnection::getInfoSql92StringFunctions()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", ( SQL_SSF_CONVERT       |
+                              SQL_SSF_LOWER         |
+                              SQL_SSF_UPPER         |
+                              SQL_SSF_SUBSTRING     |
+                              SQL_SSF_TRANSLATE     |
+                              SQL_SSF_TRIM_BOTH     |
+                              SQL_SSF_TRIM_LEADING  |
+                              SQL_SSF_TRIM_TRAILING ) );
 }
 
 SQLUINTEGER  MConnection::getInfoSql92ValueExpressins()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", 0L );
 }
 
 SQLUINTEGER  MConnection::getInfoStandardCliConformance()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", SQL_SCC_ISO92_CLI );
 }
 
 SQLUINTEGER  MConnection::getInfoStaticCursorAttributes1()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", ( SQL_CA1_NEXT              |
+                              SQL_CA1_ABSOLUTE          |
+                              SQL_CA1_RELATIVE          |
+                              SQL_CA1_LOCK_NO_CHANGE    |
+                              SQL_CA1_POS_POSITION      |
+                              SQL_CA1_POS_UPDATE        |
+                              SQL_CA1_POS_DELETE        |
+                              SQL_CA1_POS_REFRESH       |
+                              SQL_CA1_POSITIONED_UPDATE |
+                              SQL_CA1_POSITIONED_DELETE |
+                              SQL_CA1_BULK_ADD ) );
 }
 
 SQLUINTEGER  MConnection::getInfoStaticCursorAttributes2()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", ( SQL_CA2_MAX_ROWS_SELECT |
+                              SQL_CA2_MAX_ROWS_INSERT |
+                              SQL_CA2_MAX_ROWS_DELETE |
+                              SQL_CA2_MAX_ROWS_UPDATE |
+                              SQL_CA2_CRC_EXACT ) );
 }
 
 SQLUINTEGER  MConnection::getInfoStaticSensitivity()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", ( SQL_SS_ADDITIONS |
+                              SQL_SS_DELETIONS |
+                              SQL_SS_UPDATES ) );
 }
 
 SQLUINTEGER  MConnection::getInfoStringFunctions()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", ( SQL_FN_STR_CONCAT     | 
+                              SQL_FN_STR_INSERT     |
+                              SQL_FN_STR_LEFT       | 
+                              SQL_FN_STR_LTRIM      | 
+                              SQL_FN_STR_LENGTH     |
+                              SQL_FN_STR_LOCATE     | 
+                              SQL_FN_STR_LCASE      | 
+                              SQL_FN_STR_REPEAT     |
+                              SQL_FN_STR_REPLACE    | 
+                              SQL_FN_STR_RIGHT      | 
+                              SQL_FN_STR_RTRIM      |
+                              SQL_FN_STR_SUBSTRING  | 
+                              SQL_FN_STR_UCASE      | 
+                              SQL_FN_STR_ASCII      |
+                              SQL_FN_STR_CHAR       | 
+                              SQL_FN_STR_LOCATE_2   | 
+                              SQL_FN_STR_SOUNDEX    |
+                              SQL_FN_STR_SPACE ) );
 }
 
 SQLUINTEGER  MConnection::getInfoSubqueries()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", 0L );
 }
 
 SQLUINTEGER  MConnection::getInfoSystemFunctions()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", ( SQL_FN_SYS_DBNAME |
+                              SQL_FN_SYS_IFNULL |
+                              SQL_FN_SYS_USERNAME ) );
 }
 
 QString MConnection::getInfoTableTerm()
@@ -4476,42 +4456,68 @@
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", 0L );
 }
 
 SQLUINTEGER  MConnection::getInfoTimedateDiffIntervals()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", 0L );
 }
 
 SQLUINTEGER  MConnection::getInfoTimedateFunctions()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", ( SQL_FN_TD_NOW         | 
+                              SQL_FN_TD_CURDATE     | 
+                              SQL_FN_TD_DAYOFMONTH  |
+                              SQL_FN_TD_DAYOFWEEK   | 
+                              SQL_FN_TD_DAYOFYEAR   | 
+                              SQL_FN_TD_MONTH       |
+                              SQL_FN_TD_QUARTER     | 
+                              SQL_FN_TD_WEEK        | 
+                              SQL_FN_TD_YEAR        |
+                              SQL_FN_TD_CURTIME     | 
+                              SQL_FN_TD_HOUR        | 
+                              SQL_FN_TD_MINUTE      |
+                              SQL_FN_TD_SECOND      | 
+                              SQL_FN_TD_DAYNAME     | 
+                              SQL_FN_TD_MONTHNAME ) );
 }
 
 SQLUSMALLINT MConnection::getInfoTxnCapable()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    /*!
+        \internal
+        \todo
+
+        Implement transaction support.
+    */
+    MYODBCDbgReturn3( "%d", SQL_TC_NONE );
 }
 
 SQLUINTEGER  MConnection::getInfoTxnIsolationOption()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    /*!
+        \internal
+        \todo
+
+        Implement transaction support.
+    */
+    MYODBCDbgReturn3( "%d", SQL_TXN_READ_COMMITTED );
 }
 
 SQLUINTEGER  MConnection::getInfoUnion()
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn3( "%d", nnnnn );
+    MYODBCDbgReturn3( "%d", 0L );
 }
 
 QString MConnection::getInfoUserName()

Thread
Connector/ODBC 5 commit: r403 - trunk/MYSQLPlus/MYSQLPlusLibpharvey27 Jun