List:Commits« Previous MessageNext Message »
From:pharvey Date:June 26 2006 11:36pm
Subject:Connector/ODBC 5 commit: r399 - trunk/MYSQLPlus/include
View as plain text  
Modified:
   trunk/MYSQLPlus/include/MConnection.h
Log:
in middle of getting convenient getInfo*() funcs in place 

Modified: trunk/MYSQLPlus/include/MConnection.h
===================================================================
--- trunk/MYSQLPlus/include/MConnection.h	2006-06-26 21:55:08 UTC (rev 398)
+++ trunk/MYSQLPlus/include/MConnection.h	2006-06-26 23:36:06 UTC (rev 399)
@@ -79,6 +79,16 @@
     BOOLEAN setDataSourceName( const QString &stringDataSourceName );
     BOOLEAN setUserIdentifier( const QString &stringUserIdentifier );
 
+    /*!
+        \internal
+        \name   Connection attributes setters.
+
+                These correspond to the SQL_ATTR_* connection attributes and are used to
support setConnectAttr() and 
+                internal functionality. 
+
+                These often lack the level of validation found in setConnectAttr().
+    */
+    /*@{*/
     SQLRETURN setAccessMode( SQLUINTEGER nAccessMode );
     SQLRETURN setAsyncEnable( SQLUINTEGER nAsyncEnable );
     SQLRETURN setAutocommit( SQLUINTEGER nAutocommit );
@@ -94,6 +104,7 @@
     SQLRETURN setTranslateLib( QString stringTranslateLib );
     SQLRETURN setTranslateOption( qint32 nTranslateOption );
     SQLRETURN setTxnIsolation( qint32 nTxnIsolation );
+    /*@}*/
 
     /* getters */
     MEnvironment *  getEnvironment();
@@ -103,6 +114,14 @@
     QString         getDataSourceName();
     QString         getUserIdentifier();
 
+    /*!
+        \internal
+        \name   Connection attributes getters.
+
+                These correspond to the SQL_ATTR_* connection attributes and are used to
support getConnectAttr() and 
+                internal functionality. 
+    */
+    /*@{*/
     SQLUINTEGER getAccessMode();
     SQLUINTEGER getAsyncEnable();
     SQLUINTEGER getAutoIPD();
@@ -120,7 +139,208 @@
     QString     getTranslateLib();
     qint32      getTranslateOption();
     qint32      getTxnIsolation();
+    /*@}*/
 
+    /*!
+        \internal
+        \name   Feature information.
+
+                These correspond to the SQL_* InfoType values used when calling
SQLGetInfo and are used to support getInfo() and some
+                internal functionality. 
+
+                The thinking here is that the features we support may vary quite a bit
based upon such things as;
+
+                - driver version
+                - driver build options
+                - environment and connection attributes
+                - mysql client version
+                - mysql client build options
+                - mysql client config options
+                - mysql server version
+                - mysql server build options
+                - mysql server config options (config files, session vars etc)
+
+                So we have a need to check some, perhaps many, of these during our
processing. To do this using getInfo() is awkward and 
+                less efficient than using these.
+
+                We do this for all info types for completeness.
+    */
+    /*@{*/
+    QString         getInfoAccessibleProcedures();
+    QString         getInfoAccessibleTables();
+    SQLUSMALLINT    getInfoActiveEnvironments();
+    SQLUINTEGER     getInfoAggregateFunctions();
+    SQLUINTEGER     getInfoAlterDomain();
+    SQLUINTEGER     getInfoAlterTable();
+    SQLUINTEGER     getInfoAsyncMode();
+    SQLUINTEGER     getInfoBatchRowCount();
+    SQLUINTEGER     getInfoBatchSupport();
+    SQLUINTEGER     getInfoBookmarkPersistence();
+    SQLUSMALLINT    getInfoCatalogLocation();
+    QString         getInfoCatalogName();
+    QString         getInfoCatalogNameSeparator();
+    QString         getInfoCatalogTerm();
+    SQLUINTEGER     getInfoCatalogUsage();
+    QString         getInfoCollationSeq();
+    QString         getInfoColumnAlias();
+    SQLUSMALLINT    getInfoConcatNullBehavior();
+    SQLUINTEGER     getInfoConvertBigint();
+    SQLUINTEGER     getInfoConvertBinary();
+    SQLUINTEGER     getInfoConvertBit();
+    SQLUINTEGER     getInfoConvertChar();
+    SQLUINTEGER     getInfoConvertGuid();
+    SQLUINTEGER     getInfoConvertDate();
+    SQLUINTEGER     getInfoConvertDecimal();
+    SQLUINTEGER     getInfoConvertDouble();
+    SQLUINTEGER     getInfoConvertFloat();
+    SQLUINTEGER     getInfoConvertInteger();
+    SQLUINTEGER     getInfoConvertIntervalYearMonth();
+    SQLUINTEGER     getInfoConvertIntervalDayTime();
+    SQLUINTEGER     getInfoConvertLongvarbinary();
+    SQLUINTEGER     getInfoConvertLongvarchar();
+    SQLUINTEGER     getInfoConvertNumeric();
+    SQLUINTEGER     getInfoConvertReal();
+    SQLUINTEGER     getInfoConvertSmallint();
+    SQLUINTEGER     getInfoConvertTime();
+    SQLUINTEGER     getInfoConvertTimestamp();
+    SQLUINTEGER     getInfoConvertTinyint();
+    SQLUINTEGER     getInfoConvertVarbinary();
+    SQLUINTEGER     getInfoConvertVarchar();
+    SQLUINTEGER     getInfoConvertFunctions();
+    SQLUINTEGER     getInfoCorrelationName();
+    SQLUINTEGER     getInfoCreateAssertion();
+    SQLUINTEGER     getInfoCreateCharacterSet();
+    SQLUINTEGER     getInfoCreateCollation();
+    SQLUINTEGER     getInfoCreateDomain();
+    SQLUINTEGER     getInfoCreateSchema();
+    SQLUINTEGER     getInfoCreateTable();
+    SQLUINTEGER     getInfoCreateTranslation();
+    SQLUINTEGER     getInfoCreateView();
+    SQLUSMALLINT    getInfoCursorCommitBehavior();
+    SQLUSMALLINT    getInfo        case SQL_CURSOR_ROLLBACK_BEHAVIOR:
+    SQLUINTEGER     getInfo        case SQL_CURSOR_SENSITIVITY:
+    SQLUINTEGER     getInfo        case SQL_DATETIME_LITERALS:
+    QString         getInfo        case SQL_DBMS_NAME:
+    QString         getInfo        case SQL_DBMS_VER: 
+    SQLUINTEGER     getInfo        case SQL_DDL_INDEX:
+    SQLUINTEGER     getInfo        case SQL_DEFAULT_TXN_ISOLATION:
+    QString         getInfo        case SQL_DESCRIBE_PARAMETER:
+    QString         getInfo        case SQL_DM_VER:
+    SQLUINTEGER     getInfo        case SQL_DRIVER_HDBC:
+    SQLUINTEGER     getInfo        case SQL_DRIVER_HENV:
+    SQLUINTEGER     getInfo        case SQL_DRIVER_HDESC:
+    SQLUINTEGER     getInfo        case SQL_DRIVER_HLIB:
+    SQLUINTEGER     getInfo        case SQL_DRIVER_HSTMT:
+    QString         getInfo        case SQL_DRIVER_NAME:
+    QString         getInfo        case SQL_DRIVER_ODBC_VER:
+    QString         getInfo        case SQL_DRIVER_VER:
+    SQLUINTEGER     getInfo        case SQL_DROP_ASSERTION:
+    SQLUINTEGER     getInfo        case SQL_DROP_CHARACTER_SET:
+    SQLUINTEGER     getInfo        case SQL_DROP_COLLATION:
+    SQLUINTEGER     getInfo        case SQL_DROP_DOMAIN:
+    SQLUINTEGER     getInfo        case SQL_DROP_SCHEMA:
+    SQLUINTEGER     getInfo        case SQL_DROP_TABLE:
+    SQLUINTEGER     getInfo        case SQL_DROP_TRANSLATION:
+    SQLUINTEGER     getInfo        case SQL_DROP_VIEW:
+    SQLUINTEGER     getInfo        case SQL_DYNAMIC_CURSOR_ATTRIBUTES1:
+    SQLUINTEGER     getInfo        case SQL_DYNAMIC_CURSOR_ATTRIBUTES2:
+    QString         getInfo        case SQL_EXPRESSIONS_IN_ORDERBY:
+    SQLUINTEGER     getInfo        case SQL_FETCH_DIRECTION: /* for compat. with 2.x */
+    SQLUSMALLINT    getInfo        case SQL_FILE_USAGE:
+    SQLUINTEGER     getInfo        case SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1:
+    SQLUINTEGER     getInfo        case SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2:
+    SQLUINTEGER     getInfo        case SQL_GETDATA_EXTENSIONS:
+    SQLUSMALLINT    getInfo        case SQL_GROUP_BY:
+    SQLUSMALLINT    getInfo        case SQL_IDENTIFIER_CASE:
+    QString         getInfo        case SQL_IDENTIFIER_QUOTE_CHAR:
+    SQLUINTEGER     getInfo        case SQL_INDEX_KEYWORDS:
+    SQLUINTEGER     getInfo        case SQL_INFO_SCHEMA_VIEWS:
+    SQLUINTEGER     getInfo        case SQL_INSERT_STATEMENT:
+    QString         getInfo        case SQL_INTEGRITY:
+    SQLUINTEGER     getInfo        case SQL_KEYSET_CURSOR_ATTRIBUTES1:
+    SQLUINTEGER     getInfo        case SQL_KEYSET_CURSOR_ATTRIBUTES2:
+    QString         getInfo        case SQL_KEYWORDS:
+    QString         getInfo        case SQL_LIKE_ESCAPE_CLAUSE:
+    SQLUINTEGER     getInfo        case SQL_LOCK_TYPES: /* for compat with 2.x */
+    SQLUINTEGER     getInfo        case SQL_MAX_ASYNC_CONCURRENT_STATEMENTS:
+    SQLUINTEGER     getInfo        case SQL_MAX_BINARY_LITERAL_LEN:
+    SQLUSMALLINT    getInfo        case SQL_MAX_CATALOG_NAME_LEN:
+    SQLUINTEGER     getInfo        case SQL_MAX_CHAR_LITERAL_LEN:
+    SQLUSMALLINT    getInfo        case SQL_MAX_COLUMN_NAME_LEN:
+    SQLUSMALLINT    getInfo        case SQL_MAX_COLUMNS_IN_GROUP_BY:
+    SQLUSMALLINT    getInfo        case SQL_MAX_COLUMNS_IN_INDEX:
+    SQLUSMALLINT    getInfo        case SQL_MAX_COLUMNS_IN_ORDER_BY:
+    SQLUSMALLINT    getInfo        case SQL_MAX_COLUMNS_IN_SELECT:
+    SQLUSMALLINT    getInfo        case SQL_MAX_COLUMNS_IN_TABLE:
+    SQLUSMALLINT    getInfo        case SQL_MAX_CONCURRENT_ACTIVITIES:
+    SQLUSMALLINT    getInfo        case SQL_MAX_CURSOR_NAME_LEN:
+    SQLUINTEGER     getInfo        case SQL_MAX_DRIVER_CONNECTIONS:
+    SQLUSMALLINT    getInfo        case SQL_MAX_IDENTIFIER_LEN:
+    SQLUINTEGER     getInfo        case SQL_MAX_INDEX_SIZE:
+    SQLUSMALLINT    getInfo        case SQL_MAX_PROCEDURE_NAME_LEN:
+    SQLUINTEGER     getInfo        case SQL_MAX_ROW_SIZE:
+    QString         getInfo        case SQL_MAX_ROW_SIZE_INCLUDES_LONG:
+    SQLUSMALLINT    getInfo        case SQL_MAX_SCHEMA_NAME_LEN:
+    SQLUINTEGER     getInfo        case SQL_MAX_STATEMENT_LEN:
+    SQLUSMALLINT    getInfo        case SQL_MAX_TABLE_NAME_LEN:
+    SQLUSMALLINT    getInfo        case SQL_MAX_TABLES_IN_SELECT:
+    SQLUSMALLINT    getInfo        case SQL_MAX_USER_NAME_LEN:
+    QString         getInfo        case SQL_MULT_RESULT_SETS:
+    QString         getInfo        case SQL_MULTIPLE_ACTIVE_TXN:
+    QString         getInfo        case SQL_NEED_LONG_DATA_LEN:
+    SQLUSMALLINT    getInfo        case SQL_NON_NULLABLE_COLUMNS:
+    SQLUSMALLINT    getInfo        case SQL_NULL_COLLATION:
+    SQLUINTEGER     getInfo        case SQL_NUMERIC_FUNCTIONS:
+    SQLUSMALLINT    getInfo        case SQL_ODBC_API_CONFORMANCE: /* for compat with 2.x
*/
+    SQLUINTEGER     getInfo        case SQL_ODBC_INTERFACE_CONFORMANCE:
+    SQLSMALLINT     getInfo        case SQL_ODBC_SQL_CONFORMANCE: /* for compat with 2.x
*/
+    QString         getInfo        case SQL_ODBC_VER:
+    SQLUINTEGER     getInfo        case SQL_OJ_CAPABILITIES:
+    QString         getInfo        case SQL_ORDER_BY_COLUMNS_IN_SELECT:
+    SQLUINTEGER     getInfo        case SQL_PARAM_ARRAY_ROW_COUNTS:
+    SQLUINTEGER     getInfo        case SQL_PARAM_ARRAY_SELECTS:
+    QString         getInfo        case SQL_PROCEDURE_TERM:
+    QString         getInfo        case SQL_PROCEDURES:
+    SQLUINTEGER     getInfo        case SQL_POS_OPERATIONS:
+    SQLUINTEGER     getInfo        case SQL_POSITIONED_STATEMENTS: /* for compat with 2.x
*/
+    SQLUSMALLINT    getInfo        case SQL_QUOTED_IDENTIFIER_CASE:
+    QString         getInfo        case SQL_ROW_UPDATES:
+    QString         getInfo        case SQL_SCHEMA_TERM:
+    SQLUINTEGER     getInfo        case SQL_SCHEMA_USAGE:
+    SQLUINTEGER     getInfo        case SQL_SCROLL_CONCURRENCY: /* for compat with 2.x */
+    SQLUINTEGER     getInfo        case SQL_SCROLL_OPTIONS:
+    QString         getInfo        case SQL_SEARCH_PATTERN_ESCAPE:
+    QString         getInfo        case SQL_SERVER_NAME:
+    QString         getInfo        case SQL_SPECIAL_CHARACTERS:
+    SQLUINTEGER     getInfo        case SQL_SQL_CONFORMANCE:
+    SQLUINTEGER     getInfo        case SQL_SQL92_DATETIME_FUNCTIONS:
+    SQLUINTEGER     getInfo        case SQL_SQL92_FOREIGN_KEY_DELETE_RULE:
+    SQLUINTEGER     getInfo        case SQL_SQL92_FOREIGN_KEY_UPDATE_RULE:
+    SQLUINTEGER     getInfo        case SQL_SQL92_GRANT:
+    SQLUINTEGER     getInfo        case SQL_SQL92_NUMERIC_VALUE_FUNCTIONS:
+    SQLUINTEGER     getInfo        case SQL_SQL92_PREDICATES:
+    SQLUINTEGER     getInfo        case SQL_SQL92_RELATIONAL_JOIN_OPERATORS:
+    SQLUINTEGER     getInfo        case SQL_SQL92_REVOKE:
+    SQLUINTEGER     getInfo        case SQL_SQL92_ROW_VALUE_CONSTRUCTOR:
+    SQLUINTEGER     getInfo        case SQL_SQL92_STRING_FUNCTIONS:
+    SQLUINTEGER     getInfo        case SQL_SQL92_VALUE_EXPRESSIONS:
+    SQLUINTEGER     getInfo        case SQL_STANDARD_CLI_CONFORMANCE:
+    SQLUINTEGER     getInfo        case SQL_STATIC_CURSOR_ATTRIBUTES1:
+    SQLUINTEGER     getInfo        case SQL_STATIC_CURSOR_ATTRIBUTES2:
+    SQLUINTEGER     getInfo        case SQL_STATIC_SENSITIVITY: /* for compat with 2.x */
+    SQLUINTEGER     getInfo        case SQL_STRING_FUNCTIONS:
+    SQLUINTEGER     getInfo        case SQL_SUBQUERIES:
+    SQLUINTEGER     getInfo        case SQL_SYSTEM_FUNCTIONS:
+    QString         getInfo        case SQL_TABLE_TERM:
+    SQLUINTEGER     getInfo        case SQL_TIMEDATE_ADD_INTERVALS:
+    SQLUINTEGER     getInfo        case SQL_TIMEDATE_DIFF_INTERVALS:
+    SQLUINTEGER     getInfo        case SQL_TIMEDATE_FUNCTIONS:
+    SQLUSMALLINT    getInfo        case SQL_TXN_CAPABLE:
+    SQLUINTEGER     getInfo        case SQL_TXN_ISOLATION_OPTION:
+    SQLUINTEGER     getInfo        case SQL_UNION:
+    QString         getInfo        case SQL_USER_NAME:
+    QString         getInfo        case SQL_XOPEN_CLI_YEAR:
+
     /* doers */
     SQLRETURN   doConnectInternal( MYODBCInsDataSource *pDataSource );
     SQLRETURN   doConnectInternal( MYODBCInsDriverConnect *pDriverConnect );

Thread
Connector/ODBC 5 commit: r399 - trunk/MYSQLPlus/includepharvey27 Jun