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/include | pharvey | 27 Jun |