List:Commits« Previous MessageNext Message »
From:pharvey Date:October 7 2006 12:02am
Subject:Connector/ODBC 5 commit: r578 - trunk/SDK/MYSQLPlus/Library
View as plain text  
Modified:
   trunk/SDK/MYSQLPlus/Library/MDiagnostic.cpp
   trunk/SDK/MYSQLPlus/Library/MDiagnostic.h
Log:
FIX: More work to implement ODBC v3 SQL State mapping to ODBC v2 SQL State

Modified: trunk/SDK/MYSQLPlus/Library/MDiagnostic.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MDiagnostic.cpp	2006-10-06 18:52:43 UTC (rev 577)
+++ trunk/SDK/MYSQLPlus/Library/MDiagnostic.cpp	2006-10-06 22:02:40 UTC (rev 578)
@@ -216,178 +216,130 @@
     {"ODBC 3.0","IM","015","Corrupt file data source",SQL_ERROR}
 };
 
-int MDiagnosticStates3To2[][] =
-{
-DIA_01000
-DIA_01001
-DIA_01002
-DIA_01003
-DIA_01004
-DIA_01006
-DIA_01007
-DIA_01S00
-DIA_01S01
-DIA_01S02
-DIA_01S06
-DIA_01S07
-DIA_01S08
-DIA_01S09
-DIA_07001
-DIA_07002
-DIA_07005
-DIA_07006
-DIA_07009
-DIA_07S01
-DIA_08001
-DIA_08002
-DIA_08003
-DIA_08004
-DIA_08007
-DIA_08S01
-DIA_21S01
-DIA_21S02
-DIA_22001
-DIA_22002
-DIA_22003
-DIA_22007
-DIA_22008
-DIA_22012
-DIA_22015
-DIA_22018
-DIA_22019
-DIA_22025
-DIA_22026
-DIA_23000
-DIA_24000
-DIA_25000
-DIA_25S01
-DIA_25S02
-DIA_25S03
-DIA_28000
-DIA_34000
-DIA_3C000
-DIA_3D000
-DIA_3F000
-DIA_40001
-DIA_40002
-DIA_40003
-DIA_42000
-DIA_42S01
-DIA_42S02
-DIA_42S11
-DIA_42S12
-DIA_42S21
-DIA_42S22
-DIA_44000
-DIA_HY000
-DIA_HY001
-DIA_HY003
-DIA_HY004
-DIA_HY007
-DIA_HY008
-DIA_HY009
-DIA_HY010
-DIA_HY011
-DIA_HY012
-DIA_HY013
-DIA_HY014
-DIA_HY015
-DIA_HY016
-DIA_HY017
-DIA_HY018
-DIA_HY019
-DIA_HY020
-DIA_HY021
-DIA_HY024
-DIA_HY090
-DIA_HY091
-DIA_HY092
-DIA_HY095
-DIA_HY096
-DIA_HY097
-DIA_HY098
-DIA_HY099
-DIA_HY100
-DIA_HY101
-DIA_HY103
-DIA_HY104
-DIA_HY105
-DIA_HY106
-DIA_HY107
-DIA_HY109
-DIA_HY110
-DIA_HY111
-DIA_HYC00
-DIA_HYT00
-DIA_HYT01
-DIA_IM001
-DIA_IM002
-DIA_IM003
-DIA_IM004
-DIA_IM005
-DIA_IM006
-DIA_IM007
-DIA_IM008
-DIA_IM009
-DIA_IM010
-DIA_IM011
-DIA_IM012
-DIA_IM013
-DIA_IM014
-DIA_IM015
+int MDiagnosticStatesXRef[][] =
+{   /*          ODBC v2                     ODBC v3      */
+    { MDIAGNOSTIC_STATE2_01000, MDIAGNOSTIC_STATE3_01000 },
+    { MDIAGNOSTIC_STATE2_01S03, MDIAGNOSTIC_STATE3_01001 },
+    { MDIAGNOSTIC_STATE2_01S04, MDIAGNOSTIC_STATE3_01001 },
+    { MDIAGNOSTIC_STATE2_01002, MDIAGNOSTIC_STATE3_01002 },
+    { MDIAGNOSTIC_STATE2_01003, MDIAGNOSTIC_STATE3_01003 },
+    { MDIAGNOSTIC_STATE2_01004, MDIAGNOSTIC_STATE3_01004 },
+    { MDIAGNOSTIC_STATE2_01006, MDIAGNOSTIC_STATE3_01006 },
+    { MDIAGNOSTIC_STATE2_01007, MDIAGNOSTIC_STATE3_01007 },
+    { MDIAGNOSTIC_STATE2_01S00, MDIAGNOSTIC_STATE3_01S00 },
+    { MDIAGNOSTIC_STATE2_01S01, MDIAGNOSTIC_STATE3_01S01 },
+    { MDIAGNOSTIC_STATE2_01S02, MDIAGNOSTIC_STATE3_01S02 },
+    { MDIAGNOSTIC_STATE2_01S06, MDIAGNOSTIC_STATE3_01S06 },
+    { MDIAGNOSTIC_STATE2_01S07, MDIAGNOSTIC_STATE3_01S07 },
+    { MDIAGNOSTIC_STATE2_01S08, MDIAGNOSTIC_STATE3_01S08 },
+    { MDIAGNOSTIC_STATE2_01S09, MDIAGNOSTIC_STATE3_01S09 },
+    { MDIAGNOSTIC_STATE2_07001, MDIAGNOSTIC_STATE3_07001 },
+    { MDIAGNOSTIC_STATE2_07002, MDIAGNOSTIC_STATE3_07002 },
+    { MDIAGNOSTIC_STATE2_24000, MDIAGNOSTIC_STATE3_07005 },
+    { MDIAGNOSTIC_STATE2_07006, MDIAGNOSTIC_STATE3_07006 },
+    { MDIAGNOSTIC_STATE2_S1002, MDIAGNOSTIC_STATE3_07009 },
+    { MDIAGNOSTIC_STATE2_S1093, MDIAGNOSTIC_STATE3_07009 },
+    { MDIAGNOSTIC_STATE2_07S01, MDIAGNOSTIC_STATE3_07S01 },
+    { MDIAGNOSTIC_STATE2_08001, MDIAGNOSTIC_STATE3_08001 },
+    { MDIAGNOSTIC_STATE2_08002, MDIAGNOSTIC_STATE3_08002 },
+    { MDIAGNOSTIC_STATE2_08003, MDIAGNOSTIC_STATE3_08003 },
+    { MDIAGNOSTIC_STATE2_08004, MDIAGNOSTIC_STATE3_08004 },
+    { MDIAGNOSTIC_STATE2_08007, MDIAGNOSTIC_STATE3_08007 },
+    { MDIAGNOSTIC_STATE2_08S01, MDIAGNOSTIC_STATE3_08S01 },
+    { MDIAGNOSTIC_STATE2_21S01, MDIAGNOSTIC_STATE3_21S01 },
+    { MDIAGNOSTIC_STATE2_21S02, MDIAGNOSTIC_STATE3_21S02 },
+    { MDIAGNOSTIC_STATE2_22001, MDIAGNOSTIC_STATE3_22001 },
+    { MDIAGNOSTIC_STATE2_22002, MDIAGNOSTIC_STATE3_22002 },
+    { MDIAGNOSTIC_STATE2_22003, MDIAGNOSTIC_STATE3_22003 },
+    { MDIAGNOSTIC_STATE2_22008, MDIAGNOSTIC_STATE3_22007 },
+    { MDIAGNOSTIC_STATE2_22008, MDIAGNOSTIC_STATE3_22008 },
+    { MDIAGNOSTIC_STATE2_22012, MDIAGNOSTIC_STATE3_22012 },
+    { MDIAGNOSTIC_STATE2_22015, MDIAGNOSTIC_STATE3_22015 },
+    { MDIAGNOSTIC_STATE2_22005, MDIAGNOSTIC_STATE3_22018 },
+    { MDIAGNOSTIC_STATE2_22019, MDIAGNOSTIC_STATE3_22019 },
+    { MDIAGNOSTIC_STATE2_22025, MDIAGNOSTIC_STATE3_22025 },
+    { MDIAGNOSTIC_STATE2_22026, MDIAGNOSTIC_STATE3_22026 },
+    { MDIAGNOSTIC_STATE2_23000, MDIAGNOSTIC_STATE3_23000 },
+    { MDIAGNOSTIC_STATE2_24000, MDIAGNOSTIC_STATE3_24000 },
+    { MDIAGNOSTIC_STATE2_25000, MDIAGNOSTIC_STATE3_25000 },
+    { MDIAGNOSTIC_STATE2_25S01, MDIAGNOSTIC_STATE3_25S01 },
+    { MDIAGNOSTIC_STATE2_25S02, MDIAGNOSTIC_STATE3_25S02 },
+    { MDIAGNOSTIC_STATE2_25S03, MDIAGNOSTIC_STATE3_25S03 },
+    { MDIAGNOSTIC_STATE2_28000, MDIAGNOSTIC_STATE3_28000 },
+    { MDIAGNOSTIC_STATE2_34000, MDIAGNOSTIC_STATE3_34000 },
+    { MDIAGNOSTIC_STATE2_3C000, MDIAGNOSTIC_STATE3_3C000 },
+    { MDIAGNOSTIC_STATE2_3D000, MDIAGNOSTIC_STATE3_3D000 },
+    { MDIAGNOSTIC_STATE2_3F000, MDIAGNOSTIC_STATE3_3F000 },
+    { MDIAGNOSTIC_STATE2_40001, MDIAGNOSTIC_STATE3_40001 },
+    { MDIAGNOSTIC_STATE2_40002, MDIAGNOSTIC_STATE3_40002 },
+    { MDIAGNOSTIC_STATE2_40003, MDIAGNOSTIC_STATE3_40003 },
+    { MDIAGNOSTIC_STATE2_37000, MDIAGNOSTIC_STATE3_42000 },
+    { MDIAGNOSTIC_STATE2_S0001, MDIAGNOSTIC_STATE3_42S01 },
+    { MDIAGNOSTIC_STATE2_S0002, MDIAGNOSTIC_STATE3_42S02 },
+    { MDIAGNOSTIC_STATE2_S0011, MDIAGNOSTIC_STATE3_42S11 },
+    { MDIAGNOSTIC_STATE2_S0012, MDIAGNOSTIC_STATE3_42S12 },
+    { MDIAGNOSTIC_STATE2_S0021, MDIAGNOSTIC_STATE3_42S21 },
+    { MDIAGNOSTIC_STATE2_S0022, MDIAGNOSTIC_STATE3_42S22 },
+    { MDIAGNOSTIC_STATE2_44000, MDIAGNOSTIC_STATE3_44000 },
+    { MDIAGNOSTIC_STATE2_S1000, MDIAGNOSTIC_STATE3_HY000 },
+    { MDIAGNOSTIC_STATE2_S1001, MDIAGNOSTIC_STATE3_HY001 },
+    { MDIAGNOSTIC_STATE2_S1003, MDIAGNOSTIC_STATE3_HY003 },
+    { MDIAGNOSTIC_STATE2_S1004, MDIAGNOSTIC_STATE3_HY004 },
+    { MDIAGNOSTIC_STATE2_S1010, MDIAGNOSTIC_STATE3_HY007 },
+    { MDIAGNOSTIC_STATE2_S1008, MDIAGNOSTIC_STATE3_HY008 },
+    { MDIAGNOSTIC_STATE2_S1009, MDIAGNOSTIC_STATE3_HY009 },
+    { MDIAGNOSTIC_STATE2_S1010, MDIAGNOSTIC_STATE3_HY010 },
+    { MDIAGNOSTIC_STATE2_S1011, MDIAGNOSTIC_STATE3_HY011 },
+    { MDIAGNOSTIC_STATE2_S1012, MDIAGNOSTIC_STATE3_HY012 },
+    { MDIAGNOSTIC_STATE2_S1013, MDIAGNOSTIC_STATE3_HY013 },
+    { MDIAGNOSTIC_STATE2_S1014, MDIAGNOSTIC_STATE3_HY014 },
+    { MDIAGNOSTIC_STATE2_S1015, MDIAGNOSTIC_STATE3_HY015 },
+    { MDIAGNOSTIC_STATE2_S1016, MDIAGNOSTIC_STATE3_HY016 },
+    { MDIAGNOSTIC_STATE2_S1017, MDIAGNOSTIC_STATE3_HY017 },
+    { MDIAGNOSTIC_STATE2_70100, MDIAGNOSTIC_STATE3_HY018 },
+    { MDIAGNOSTIC_STATE2_22003, MDIAGNOSTIC_STATE3_HY019 },
+    { MDIAGNOSTIC_STATE2_S1020, MDIAGNOSTIC_STATE3_HY020 },
+    { MDIAGNOSTIC_STATE2_S1021, MDIAGNOSTIC_STATE3_HY021 },
+    { MDIAGNOSTIC_STATE2_S1009, MDIAGNOSTIC_STATE3_HY024 },
+    { MDIAGNOSTIC_STATE2_S1090, MDIAGNOSTIC_STATE3_HY090 },
+    { MDIAGNOSTIC_STATE2_S1091, MDIAGNOSTIC_STATE3_HY091 },
+    { MDIAGNOSTIC_STATE2_S1009, MDIAGNOSTIC_STATE3_HY092 },
+    { MDIAGNOSTIC_STATE2_S1092, MDIAGNOSTIC_STATE3_HY092 },
+    { MDIAGNOSTIC_STATE2_S1095, MDIAGNOSTIC_STATE3_HY095 },
+    { MDIAGNOSTIC_STATE2_S1096, MDIAGNOSTIC_STATE3_HY096 },
+    { MDIAGNOSTIC_STATE2_S1097, MDIAGNOSTIC_STATE3_HY097 },
+    { MDIAGNOSTIC_STATE2_S1098, MDIAGNOSTIC_STATE3_HY098 },
+    { MDIAGNOSTIC_STATE2_S1099, MDIAGNOSTIC_STATE3_HY099 },
+    { MDIAGNOSTIC_STATE2_S1100, MDIAGNOSTIC_STATE3_HY100 },
+    { MDIAGNOSTIC_STATE2_S1101, MDIAGNOSTIC_STATE3_HY101 },
+    { MDIAGNOSTIC_STATE2_S1103, MDIAGNOSTIC_STATE3_HY103 },
+    { MDIAGNOSTIC_STATE2_S1104, MDIAGNOSTIC_STATE3_HY104 },
+    { MDIAGNOSTIC_STATE2_S1105, MDIAGNOSTIC_STATE3_HY105 },
+    { MDIAGNOSTIC_STATE2_S1106, MDIAGNOSTIC_STATE3_HY106 },
+    { MDIAGNOSTIC_STATE2_S1107, MDIAGNOSTIC_STATE3_HY107 },
+    { MDIAGNOSTIC_STATE2_S1109, MDIAGNOSTIC_STATE3_HY109 },
+    { MDIAGNOSTIC_STATE2_S1110, MDIAGNOSTIC_STATE3_HY110 },
+    { MDIAGNOSTIC_STATE2_S1111, MDIAGNOSTIC_STATE3_HY111 },
+    { MDIAGNOSTIC_STATE2_S1C00, MDIAGNOSTIC_STATE3_HYC00 },
+    { MDIAGNOSTIC_STATE2_S1T00, MDIAGNOSTIC_STATE3_HYT00 },
+    { MDIAGNOSTIC_STATE2_S1T01, MDIAGNOSTIC_STATE3_HYT01 },
+    { MDIAGNOSTIC_STATE2_IM001, MDIAGNOSTIC_STATE3_IM001 },
+    { MDIAGNOSTIC_STATE2_IM002, MDIAGNOSTIC_STATE3_IM002 },
+    { MDIAGNOSTIC_STATE2_IM003, MDIAGNOSTIC_STATE3_IM003 },
+    { MDIAGNOSTIC_STATE2_IM004, MDIAGNOSTIC_STATE3_IM004 },
+    { MDIAGNOSTIC_STATE2_IM005, MDIAGNOSTIC_STATE3_IM005 },
+    { MDIAGNOSTIC_STATE2_IM006, MDIAGNOSTIC_STATE3_IM006 },
+    { MDIAGNOSTIC_STATE2_IM007, MDIAGNOSTIC_STATE3_IM007 },
+    { MDIAGNOSTIC_STATE2_IM008, MDIAGNOSTIC_STATE3_IM008 },
+    { MDIAGNOSTIC_STATE2_IM009, MDIAGNOSTIC_STATE3_IM009 },
+    { MDIAGNOSTIC_STATE2_IM010, MDIAGNOSTIC_STATE3_IM010 },
+    { MDIAGNOSTIC_STATE2_IM011, MDIAGNOSTIC_STATE3_IM011 },
+    { MDIAGNOSTIC_STATE2_IM012, MDIAGNOSTIC_STATE3_IM012 },
+    { MDIAGNOSTIC_STATE2_IM013, MDIAGNOSTIC_STATE3_IM013 },
+    { MDIAGNOSTIC_STATE2_IM014, MDIAGNOSTIC_STATE3_IM014 },
+    { MDIAGNOSTIC_STATE3_IM015, MDIAGNOSTIC_STATE3_IM015 }
 };
 
-    01S03 01001   
-    01S04 01001   
-    22003 HY019   
-    22008 22007   
-    22005 22018   
-    24000 07005   
-    37000 42000   
-    70100 HY018   
-    S0001 42S01   
-    S0002 42S02   
-    S0011 42S11   
-    S0012 42S12   
-    S0021 42S21   
-    S0022 42S22   
-    S0023 42S23   
-    S1000 HY000   
-    S1001 HY001   
-
-    S1002 07009 ODBC 2.x SQLSTATE S1002 is mapped to ODBC 3.x SQLSTATE 07009 if the
underlying function is SQLBindCol, SQLColAttribute, SQLExtendedFetch, SQLFetch,
SQLFetchScroll, or SQLGetData. 
-    S1003 HY003   
-    S1004 HY004   
-    S1008 HY008   
-    S1009 HY009 Returned for an invalid use of a null pointer. 
-    S1009 HY024 Returned for an invalid attribute value. 
-    S1009 HY092 Returned for updating or deleting data by a call to SQLSetPos, or adding,
updating, or deleting data by a call to SQLBulkOperations, when the concurrency is
read-only. 
-    S1010 HY007
-    HY010 SQLSTATE S1010 is mapped to SQLSTATE HY007 when SQLDescribeCol is called prior
to calling SQLPrepare, SQLExecDirect, or a catalog function for the StatementHandle.
Otherwise, SQLSTATE S1010 is mapped to SQLSTATE HY010. 
-    S1011 HY011   
-    S1012 HY012   
-    S1090 HY090   
-    S1091 HY091   
-    S1092 HY092   
-    S1093 07009 ODBC 3.x SQLSTATE 07009 is mapped to ODBC 2.x SQLSTATE S1093 if the
underlying function is SQLBindParameter or SQLDescribeParam. 
-    S1096 HY096   
-    S1097 HY097   
-    S1098 HY098   
-    S1099 HY099   
-    S1100 HY100   
-    S1101 HY101   
-    S1103 HY103   
-    S1104 HY104   
-    S1105 HY105   
-    S1106 HY106   
-    S1107 HY107   
-    S1108 HY108   
-    S1109 HY109   
-    S1110 HY110   
-    S1111 HY111   
-    S1C00 HYC00   
-    S1T00 HYT00 
-
 /*!
     \brief  Allocates a new diagnostics structure.
 
@@ -958,7 +910,7 @@
 
     \sa     MYODBCDiaAppend2
 */
-SQLRETURN MDiagnostic::doAppend( DIA nState, SQLINTEGER nNative, const QString
&stringMessage )
+SQLRETURN MDiagnostic::doAppend( STATE nState, SQLINTEGER nNative, const QString
&stringMessage )
 {
     MYODBCDbgEnter();
 
@@ -988,7 +940,7 @@
     
     \sa     MYODBCDiaAppend
 */
-SQLRETURN MDiagnostic::doAppend( DIA nState, SQLINTEGER nNative, const QString
&stringMessage, SQLINTEGER nRowNumber, SQLINTEGER nColumnNumber )
+SQLRETURN MDiagnostic::doAppend( STATE nState, SQLINTEGER nNative, const QString
&stringMessage, SQLINTEGER nRowNumber, SQLINTEGER nColumnNumber )
 {
     MYODBCDbgEnter();
 

Modified: trunk/SDK/MYSQLPlus/Library/MDiagnostic.h
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MDiagnostic.h	2006-10-06 18:52:43 UTC (rev 577)
+++ trunk/SDK/MYSQLPlus/Library/MDiagnostic.h	2006-10-06 22:02:40 UTC (rev 578)
@@ -57,7 +57,23 @@
     friend QTextStream &operator<<( QTextStream &stream, const MDiagnostic
&rval );
 
 public:
+
     /*!
+        \brief  The applications ODBC version.
+
+                This is the ODBC version of the application. We use this to determine the

+                SQL State mappings. 
+
+                The application actually tells the MEnvironment so we rely upon the
MEnvironment
+                to propogate the change to all MDiagnostics.
+    */
+    enum ODBC_VERSION_APP
+    {
+        ODBC_VERSION_2 = 0,
+        ODBC_VERSION_3
+    };
+
+    /*!
         \brief  Diagnostic states.
 
                 These roughly match the ODBC v3 SQL States. These differ from the ODBC v3
SQL States
@@ -72,123 +88,126 @@
     */    
     enum STATE
     {
-        STATE_01000=0,/* General warning                                                 
*/
-        STATE_01001,  /* Cursor operation conflict                                       
*/
-        STATE_01002,  /* Disconnect error                                                
*/
-        STATE_01003,  /* NULL value eliminated in set function                           
*/
-        STATE_01004,  /* String data, right-truncated                                    
*/
-        STATE_01006,  /* Privilege not revoked                                           
*/
-        STATE_01007,  /* Privilege not granted                                           
*/
-        STATE_01S00,  /* Invalid connection string attribute                             
*/
-        STATE_01S01,  /* Error in row                                                    
*/
-        STATE_01S02,  /* Option value changed                                            
*/
-        STATE_01S06,  /* Attempt to fetch before the result set returned the first rowset
*/
-        STATE_01S07,  /* Fractional truncation                                           
*/
-        STATE_01S08,  /* Error saving File DSN                                           
*/
-        STATE_01S09,  /* Invalid keyword                                                 
*/
-        STATE_07001,  /* Wrong number of parameters                                      
*/
-        STATE_07002,  /* COUNT field incorrect                                           
*/
-        STATE_07005,  /* Prepared statement not a cursor-specification                   
*/
-        STATE_07006,  /* Restricted data type attribute violation                        
*/
-        STATE_07009,  /* Invalid descriptor index                                        
*/
-        STATE_07S01,  /* Invalid use of default parameter                                
*/
-        STATE_08001,  /* Client unable to establish connection                           
*/
-        STATE_08002,  /* Connection name in use                                          
*/
-        STATE_08003,  /* Connection does not exist                                       
*/
-        STATE_08004,  /* Server rejected the connection                                  
*/
-        STATE_08007,  /* Connection failure during transaction                           
*/
-        STATE_08S01,  /* Communication link failure                                      
*/
-        STATE_21S01,  /* Insert value list does not match column list                    
*/
-        STATE_21S02,  /* Degree of derived table does not match column list              
*/
-        STATE_22001,  /* String data, right-truncated                                    
*/
-        STATE_22002,  /* Indicator variable required but not supplied                    
*/
-        STATE_22003,  /* Numeric value out of range                                      
*/
-        STATE_22007,  /* Invalid datetime format                                         
*/
-        STATE_22008,  /* Datetime field overflow                                         
*/
-        STATE_22012,  /* Division by zero                                                
*/
-        STATE_22015,  /* Interval field overflow                                         
*/
-        STATE_22018,  /* Invalid character value for cast specification                  
*/
-        STATE_22019,  /* Invalid escape character                                        
*/
-        STATE_22025,  /* Invalid escape sequence                                         
*/
-        STATE_22026,  /* String data, length mismatch                                    
*/
-        STATE_23000,  /* Integrity constraint violation                                  
*/
-        STATE_24000,  /* Invalid cursor state                                            
*/
-        STATE_25000,  /* Invalid transaction state                                       
*/
-        STATE_25S01,  /* Transaction state                                               
*/
-        STATE_25S02,  /* Transaction is still active                                     
*/
-        STATE_25S03,  /* Transaction is rolled back                                      
*/
-        STATE_28000,  /* Invalid authorization specification                             
*/
-        STATE_34000,  /* Invalid cursor name                                             
*/
-        STATE_3C000,  /* Duplicate cursor name                                           
*/
-        STATE_3D000,  /* Invalid catalog name                                            
*/
-        STATE_3F000,  /* Invalid schema name                                             
*/
-        STATE_40001,  /* Serialization failure                                           
*/
-        STATE_40002,  /* Integrity constraint violation                                  
*/
-        STATE_40003,  /* Statement completion unknown                                    
*/
-        STATE_42000,  /* Syntax error or access violation                                
*/
-        STATE_42S01,  /* Base table or view already exists                               
*/
-        STATE_42S02,  /* Base table or view not found                                    
*/
-        STATE_42S11,  /* Index already exists                                            
*/
-        STATE_42S12,  /* Index not found                                                 
*/
-        STATE_42S21,  /* Column already exists                                           
*/
-        STATE_42S22,  /* Column not found                                                
*/
-        STATE_44000,  /* WITH CHECK OPTION violation                                     
*/
-        STATE_HY000,  /* General error                                                   
*/
-        STATE_HY001,  /* Memory allocation error                                         
*/
-        STATE_HY003,  /* Invalid application buffer type                                 
*/
-        STATE_HY004,  /* Invalid SQL data type                                           
*/
-        STATE_HY007,  /* Associated statement is not prepared                            
*/
-        STATE_HY008,  /* Operation canceled                                              
*/
-        STATE_HY009,  /* Invalid use of null pointer                                     
*/
-        STATE_HY010,  /* Function sequence error                                         
*/
-        STATE_HY011,  /* Attribute cannot be set now                                     
*/
-        STATE_HY012,  /* Invalid transaction operation code                              
*/
-        STATE_HY013,  /* Memory management error                                         
*/
-        STATE_HY014,  /* Limit on the number of handles exceeded                         
*/
-        STATE_HY015,  /* No cursor name available                                        
*/
-        STATE_HY016,  /* Cannot modify an implementation row descriptor                  
*/
-        STATE_HY017,  /* Invalid use of an automatically allocated descriptor handle     
*/
-        STATE_HY018,  /* Server declined cancel request                                  
*/
-        STATE_HY019,  /* Non-character and non-binary data sent in pieces                
*/
-        STATE_HY020,  /* Attempt to concatenate a null value                             
*/
-        STATE_HY021,  /* Inconsistent descriptor information                             
*/
-        STATE_HY024,  /* Invalid attribute value                                         
*/
-        STATE_HY090,  /* Invalid string or buffer length                                 
*/
-        STATE_HY091,  /* Invalid descriptor field identifier                             
*/
-        STATE_HY092,  /* Invalid attribute/option identifier                             
*/
-        STATE_HY095,  /* Function type out of range                                      
*/
-        STATE_HY096,  /* Invalid information type                                        
*/
-        STATE_HY097,  /* Column type out of range                                        
*/
-        STATE_HY098,  /* Scope type out of range                                         
*/
-        STATE_HY099,  /* Nullable type out of range                                      
*/
-        STATE_HY100,  /* Uniqueness option type out of range                             
*/
-        STATE_HY101,  /* Accuracy option type out of range                               
*/
-        STATE_HY103,  /* Invalid retrieval code                                          
*/
-        STATE_HY104,  /* Invalid precision or scale value                                
*/
-        STATE_HY105,  /* Invalid parameter type                                          
*/
-        STATE_HY106,  /* Fetch type out of range                                         
*/
-        STATE_HY107,  /* Row value out of range                                          
*/
-        STATE_HY109,  /* Invalid cursor position                                         
*/
-        STATE_HY110,  /* Invalid driver completion                                       
*/
-        STATE_HY111,  /* Invalid bookmark value                                          
*/
-        STATE_HYC00,  /* Optional feature not implemented                                
*/
-        STATE_HYT00,  /* Timeout expired                                                 
*/
-        STATE_HYT01,  /* Connection timeout expired                                      
*/
-        STATE_IM001,  /* Driver does not support this function                           
*/
-        STATE_IM002,  /* Data source name not found and no default driver specified      
*/
-        STATE_IM003,  /* Specified driver could not be loaded                            
*/
-        STATE_IM004,  /* Driver's SQLAllocHandle on SQL_HANDLE_ENV failed                
*/
-        STATE_IM005,  /* Driver's SQLAllocHandle on SQL_HANDLE_DBC failed                
*/
-        STATE_IM006,  /* Driver's SQLSetConnectAttr failed                               
*/
-        STATE_IM007,  /* No data source or driver specified; dialog prohibited           
*/
-        STATE_IM008,  /* Dialog failed                                                   
*/
-        STATE_IM009,  /* Unable to load translation DLL                                  
*/
-        STATE_IM010,  /* Data source name too long                                       
*/
-        STATE_IM011,  /* Driver name too long                                            
*/
-        STATE_IM012,  /* DRIVER keyword syntax error                                     
*/
-        STATE_IM013,  /* Trace file error                                                
*/
-        STATE_IM014,  /* Invalid name of File DSN                                        
*/
-        STATE_IM015,  /* Corrupt file data source                                        
*/
+        STATE_01000=0,/*! General warning                                                
          */
+        STATE_01001A, /*! Cursor operation conflict || No rows update or deleted (01S03) 
          */
+        STATE_01001B, /*! Cursor operation conflict || More than one row updated or
deleted (01S04) */
+        STATE_01002,  /*! Disconnect error                                               
          */
+        STATE_01003,  /*! NULL value eliminated in set function                          
          */
+        STATE_01004,  /*! String data, right-truncated                                   
          */
+        STATE_01006,  /*! Privilege not revoked                                          
          */
+        STATE_01007,  /*! Privilege not granted                                          
          */
+        STATE_01S00,  /*! Invalid connection string attribute                            
          */
+        STATE_01S01,  /*! Error in row                                                   
          */
+        STATE_01S02,  /*! Option value changed                                           
          */
+        STATE_01S06,  /*! Attempt to fetch before the result set returned the first
rowset          */
+        STATE_01S07,  /*! Fractional truncation                                          
          */
+        STATE_01S08,  /*! Error saving File DSN                                          
          */
+        STATE_01S09,  /*! Invalid keyword                                                
          */
+        STATE_07001,  /*! Wrong number of parameters                                     
          */
+        STATE_07002,  /*! COUNT field incorrect                                          
          */
+        STATE_07005,  /*! Prepared statement not a cursor-specification                  
          */
+        STATE_07006,  /*! Restricted data type attribute violation                       
          */
+        STATE_07009A, /*! Invalid descriptor index || Invalid column number (S1002)      
          */
+        STATE_07009B, /*! Invalid descriptor index || Invalid parameter number (S1093)   
          */
+        STATE_07S01,  /*! Invalid use of default parameter                               
          */
+        STATE_08001,  /*! Client unable to establish connection                          
          */
+        STATE_08002,  /*! Connection name in use                                         
          */
+        STATE_08003,  /*! Connection does not exist                                      
          */
+        STATE_08004,  /*! Server rejected the connection                                 
          */
+        STATE_08007,  /*! Connection failure during transaction                          
          */
+        STATE_08S01,  /*! Communication link failure                                     
          */
+        STATE_21S01,  /*! Insert value list does not match column list                   
          */
+        STATE_21S02,  /*! Degree of derived table does not match column list             
          */
+        STATE_22001,  /*! String data, right-truncated                                   
          */
+        STATE_22002,  /*! Indicator variable required but not supplied                   
          */
+        STATE_22003,  /*! Numeric value out of range                                     
          */
+        STATE_22007,  /*! Invalid datetime format                                        
          */
+        STATE_22008,  /*! Datetime field overflow                                        
          */
+        STATE_22012,  /*! Division by zero                                               
          */
+        STATE_22015,  /*! Interval field overflow                                        
          */
+        STATE_22018,  /*! Invalid character value for cast specification                 
          */
+        STATE_22019,  /*! Invalid escape character                                       
          */
+        STATE_22025,  /*! Invalid escape sequence                                        
          */
+        STATE_22026,  /*! String data, length mismatch                                   
          */
+        STATE_23000,  /*! Integrity constraint violation                                 
          */
+        STATE_24000,  /*! Invalid cursor state                                           
          */
+        STATE_25000,  /*! Invalid transaction state                                      
          */
+        STATE_25S01,  /*! Transaction state                                              
          */
+        STATE_25S02,  /*! Transaction is still active                                    
          */
+        STATE_25S03,  /*! Transaction is rolled back                                     
          */
+        STATE_28000,  /*! Invalid authorization specification                            
          */
+        STATE_34000,  /*! Invalid cursor name                                            
          */
+        STATE_3C000,  /*! Duplicate cursor name                                          
          */
+        STATE_3D000,  /*! Invalid catalog name                                           
          */
+        STATE_3F000,  /*! Invalid schema name                                            
          */
+        STATE_40001,  /*! Serialization failure                                          
          */
+        STATE_40002,  /*! Integrity constraint violation                                 
          */
+        STATE_40003,  /*! Statement completion unknown                                   
          */
+        STATE_42000,  /*! Syntax error or access violation                               
          */
+        STATE_42S01,  /*! Base table or view already exists                              
          */
+        STATE_42S02,  /*! Base table or view not found                                   
          */
+        STATE_42S11,  /*! Index already exists                                           
          */
+        STATE_42S12,  /*! Index not found                                                
          */
+        STATE_42S21,  /*! Column already exists                                          
          */
+        STATE_42S22,  /*! Column not found                                               
          */
+        STATE_44000,  /*! WITH CHECK OPTION violation                                    
          */
+        STATE_HY000,  /*! General error                                                  
          */
+        STATE_HY001,  /*! Memory allocation error                                        
          */
+        STATE_HY003,  /*! Invalid application buffer type                                
          */
+        STATE_HY004,  /*! Invalid SQL data type                                          
          */
+        STATE_HY007,  /*! Associated statement is not prepared                           
          */
+        STATE_HY008,  /*! Operation canceled                                             
          */
+        STATE_HY009,  /*! Invalid use of null pointer                                    
          */
+        STATE_HY010,  /*! Function sequence error                                        
          */
+        STATE_HY011,  /*! Attribute cannot be set now                                    
          */
+        STATE_HY012,  /*! Invalid transaction operation code                             
          */
+        STATE_HY013,  /*! Memory management error                                        
          */
+        STATE_HY014,  /*! Limit on the number of handles exceeded                        
          */
+        STATE_HY015,  /*! No cursor name available                                       
          */
+        STATE_HY016,  /*! Cannot modify an implementation row descriptor                 
          */
+        STATE_HY017,  /*! Invalid use of an automatically allocated descriptor handle    
          */
+        STATE_HY018,  /*! Server declined cancel request                                 
          */
+        STATE_HY019,  /*! Non-character and non-binary data sent in pieces               
          */
+        STATE_HY020,  /*! Attempt to concatenate a null value                            
          */
+        STATE_HY021,  /*! Inconsistent descriptor information                            
          */
+        STATE_HY024,  /*! Invalid attribute value                                        
          */
+        STATE_HY090,  /*! Invalid string or buffer length                                
          */
+        STATE_HY091,  /*! Invalid descriptor field identifier                            
          */
+        STATE_HY092A, /*! Invalid attribute/option identifier || Invalid argument value
(S1009)     */
+        STATE_HY092B, /*! Invalid attribute/option identifier || Option type out of range
(S1092)   */
+        STATE_HY095,  /*! Function type out of range                                     
          */
+        STATE_HY096,  /*! Invalid information type                                       
          */
+        STATE_HY097,  /*! Column type out of range                                       
          */
+        STATE_HY098,  /*! Scope type out of range                                        
          */
+        STATE_HY099,  /*! Nullable type out of range                                     
          */
+        STATE_HY100,  /*! Uniqueness option type out of range                            
          */
+        STATE_HY101,  /*! Accuracy option type out of range                              
          */
+        STATE_HY103,  /*! Invalid retrieval code                                         
          */
+        STATE_HY104,  /*! Invalid precision or scale value                               
          */
+        STATE_HY105,  /*! Invalid parameter type                                         
          */
+        STATE_HY106,  /*! Fetch type out of range                                        
          */
+        STATE_HY107,  /*! Row value out of range                                         
          */
+        STATE_HY109,  /*! Invalid cursor position                                        
          */
+        STATE_HY110,  /*! Invalid driver completion                                      
          */
+        STATE_HY111,  /*! Invalid bookmark value                                         
          */
+        STATE_HYC00,  /*! Optional feature not implemented                               
          */
+        STATE_HYT00,  /*! Timeout expired                                                
          */
+        STATE_HYT01,  /*! Connection timeout expired                                     
          */
+        STATE_IM001,  /*! Driver does not support this function                          
          */
+        STATE_IM002,  /*! Data source name not found and no default driver specified     
          */
+        STATE_IM003,  /*! Specified driver could not be loaded                           
          */
+        STATE_IM004,  /*! Driver's SQLAllocHandle on SQL_HANDLE_ENV failed               
          */
+        STATE_IM005,  /*! Driver's SQLAllocHandle on SQL_HANDLE_DBC failed               
          */
+        STATE_IM006,  /*! Driver's SQLSetConnectAttr failed                              
          */
+        STATE_IM007,  /*! No data source or driver specified; dialog prohibited          
          */
+        STATE_IM008,  /*! Dialog failed                                                  
          */
+        STATE_IM009,  /*! Unable to load translation DLL                                 
          */
+        STATE_IM010,  /*! Data source name too long                                      
          */
+        STATE_IM011,  /*! Driver name too long                                           
          */
+        STATE_IM012,  /*! DRIVER keyword syntax error                                    
          */
+        STATE_IM013,  /*! Trace file error                                               
          */
+        STATE_IM014,  /*! Invalid name of File DSN                                       
          */
+        STATE_IM015,  /*! Corrupt file data source                                       
          */
         STATE_MAX
     };
 

Thread
Connector/ODBC 5 commit: r578 - trunk/SDK/MYSQLPlus/Librarypharvey6 Oct