List:Commits« Previous MessageNext Message »
From:jbalint Date:March 26 2007 10:26pm
Subject:Connector/ODBC 5 commit: r818 - in trunk/SDK: C/Library C/include MYSQLPlus/Library
View as plain text  
Modified:
   trunk/SDK/C/Library/MYODBCC.cpp
   trunk/SDK/C/include/MYODBCC.h
   trunk/SDK/MYSQLPlus/Library/MDiagnostic.cpp
   trunk/SDK/MYSQLPlus/Library/MDiagnostic.h
   trunk/SDK/MYSQLPlus/Library/MEnvironment.cpp
Log:
removed odbc version enum in favor of standard API constants

Modified: trunk/SDK/C/Library/MYODBCC.cpp
===================================================================
--- trunk/SDK/C/Library/MYODBCC.cpp	2007-03-19 17:50:12 UTC (rev 817)
+++ trunk/SDK/C/Library/MYODBCC.cpp	2007-03-26 20:26:08 UTC (rev 818)
@@ -244,128 +244,254 @@
     {"ODBC 3.0","ODBC 3.0","IM015","Corrupt file data source",SQL_ERROR}
 };
 
-int MDiagnosticStatesXRef[120][2] =
-{   /*          ODBC v2                     ODBC v3      */
-    { MDIAGNOSTIC_STATE2_01000, MDIAGNOSTIC_STATE3_01000 },
-    { MDIAGNOSTIC_STATE2_01S03, MDIAGNOSTIC_STATE3_01001 }, /* v3 maps >1 in v2 */
-    { MDIAGNOSTIC_STATE2_01S04, MDIAGNOSTIC_STATE3_01001 }, /* v3 maps >1 in v2 */
-    { 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_01000, MDIAGNOSTIC_STATE3_01007 }, /* missing from v2 */
-    { MDIAGNOSTIC_STATE2_01S00, MDIAGNOSTIC_STATE3_01S00 },
-    { MDIAGNOSTIC_STATE2_01S01, MDIAGNOSTIC_STATE3_01S01 },
-    { MDIAGNOSTIC_STATE2_01000, MDIAGNOSTIC_STATE3_01S02 }, /* missing from v2 */
-    { MDIAGNOSTIC_STATE2_01000, MDIAGNOSTIC_STATE3_01S06 }, /* missing from v2 */
-    { MDIAGNOSTIC_STATE2_01000, MDIAGNOSTIC_STATE3_01S07 }, /* missing from v2 */
-    { MDIAGNOSTIC_STATE2_01000, MDIAGNOSTIC_STATE3_01S08 }, /* missing from v2 */
-    { MDIAGNOSTIC_STATE2_01000, MDIAGNOSTIC_STATE3_01S09 }, /* missing from v2 */
-    { MDIAGNOSTIC_STATE2_07001, MDIAGNOSTIC_STATE3_07001 },
-    { MDIAGNOSTIC_STATE2_S1000, MDIAGNOSTIC_STATE3_07002 }, /* missing from v2 */
-    { 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_S1000, MDIAGNOSTIC_STATE3_07S01 }, /* missing from v2 */
-    { 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_S1000, MDIAGNOSTIC_STATE3_22002 }, /* missing from v2 */
-    { 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_S1000, MDIAGNOSTIC_STATE3_22015 }, /* missing from v2 */
-    { MDIAGNOSTIC_STATE2_22005, MDIAGNOSTIC_STATE3_22018 },
-    { MDIAGNOSTIC_STATE2_S1000, MDIAGNOSTIC_STATE3_22019 }, /* missing from v2 */
-    { MDIAGNOSTIC_STATE2_S1000, MDIAGNOSTIC_STATE3_22025 }, /* missing from v2 */
-    { 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_S1000, MDIAGNOSTIC_STATE3_25S01 }, /* missing from v2 */
-    { MDIAGNOSTIC_STATE2_S1000, MDIAGNOSTIC_STATE3_25S02 }, /* missing from v2 */
-    { MDIAGNOSTIC_STATE2_S1000, MDIAGNOSTIC_STATE3_25S03 }, /* missing from v2 */
-    { MDIAGNOSTIC_STATE2_28000, MDIAGNOSTIC_STATE3_28000 },
-    { MDIAGNOSTIC_STATE2_34000, MDIAGNOSTIC_STATE3_34000 },
-    { MDIAGNOSTIC_STATE2_3C000, MDIAGNOSTIC_STATE3_3C000 },
-    { MDIAGNOSTIC_STATE2_S1000, MDIAGNOSTIC_STATE3_3D000 }, /* missing from v2 */
-    { MDIAGNOSTIC_STATE2_3F000, MDIAGNOSTIC_STATE3_3F000 },
-    { MDIAGNOSTIC_STATE2_40001, MDIAGNOSTIC_STATE3_40001 },
-    { MDIAGNOSTIC_STATE2_S1000, MDIAGNOSTIC_STATE3_40002 }, /* missing from v2 */
-    { MDIAGNOSTIC_STATE2_S1000, MDIAGNOSTIC_STATE3_40003 }, /* missing from v2 */
-    { 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_S1000, MDIAGNOSTIC_STATE3_44000 }, /* missing from v2 */
-    { 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_S1000, MDIAGNOSTIC_STATE3_HY013 }, /* missing from v2 */
-    { MDIAGNOSTIC_STATE2_S1000, MDIAGNOSTIC_STATE3_HY014 }, /* missing from v2 */
-    { MDIAGNOSTIC_STATE2_S1015, MDIAGNOSTIC_STATE3_HY015 },
-    { MDIAGNOSTIC_STATE2_S1000, MDIAGNOSTIC_STATE3_HY016 }, /* missing from v2 */
-    { MDIAGNOSTIC_STATE2_S1000, MDIAGNOSTIC_STATE3_HY017 }, /* missing from v2 */
-    { MDIAGNOSTIC_STATE2_70100, MDIAGNOSTIC_STATE3_HY018 },
-    { MDIAGNOSTIC_STATE2_22003, MDIAGNOSTIC_STATE3_HY019 },
-    { MDIAGNOSTIC_STATE2_S1000, MDIAGNOSTIC_STATE3_HY020 }, /* missing from v2 */
-    { MDIAGNOSTIC_STATE2_S1000, MDIAGNOSTIC_STATE3_HY021 }, /* missing from v2 */
-    { 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_S1000, MDIAGNOSTIC_STATE3_HYT01 }, /* missing from v2 */
-    { 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_S1000, MDIAGNOSTIC_STATE3_IM014 }, /* missing from v2 */
-    { MDIAGNOSTIC_STATE3_IM015, MDIAGNOSTIC_STATE3_IM015 }
+int MDiagnosticStatesXRef[2][120] =
+{   /* ODBC v2 */
+    {
+      MDIAGNOSTIC_STATE2_01000,
+      MDIAGNOSTIC_STATE2_01S03, /* v3 maps >1 in v2 */
+      MDIAGNOSTIC_STATE2_01S04, /* v3 maps >1 in v2 */
+      MDIAGNOSTIC_STATE2_01002,
+      MDIAGNOSTIC_STATE2_01003,
+      MDIAGNOSTIC_STATE2_01004,
+      MDIAGNOSTIC_STATE2_01006,
+      MDIAGNOSTIC_STATE2_01000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_01S00,
+      MDIAGNOSTIC_STATE2_01S01,
+      MDIAGNOSTIC_STATE2_01000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_01000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_01000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_01000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_01000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_07001,
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_24000,
+      MDIAGNOSTIC_STATE2_07006,
+      MDIAGNOSTIC_STATE2_S1002,
+      MDIAGNOSTIC_STATE2_S1093,
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_08001,
+      MDIAGNOSTIC_STATE2_08002,
+      MDIAGNOSTIC_STATE2_08003,
+      MDIAGNOSTIC_STATE2_08004,
+      MDIAGNOSTIC_STATE2_08007,
+      MDIAGNOSTIC_STATE2_08S01,
+      MDIAGNOSTIC_STATE2_21S01,
+      MDIAGNOSTIC_STATE2_21S02,
+      MDIAGNOSTIC_STATE2_22001,
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_22003,
+      MDIAGNOSTIC_STATE2_22008,
+      MDIAGNOSTIC_STATE2_22008,
+      MDIAGNOSTIC_STATE2_22012,
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_22005,
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_22026,
+      MDIAGNOSTIC_STATE2_23000,
+      MDIAGNOSTIC_STATE2_24000,
+      MDIAGNOSTIC_STATE2_25000,
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_28000,
+      MDIAGNOSTIC_STATE2_34000,
+      MDIAGNOSTIC_STATE2_3C000,
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_3F000,
+      MDIAGNOSTIC_STATE2_40001,
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_37000,
+      MDIAGNOSTIC_STATE2_S0001,
+      MDIAGNOSTIC_STATE2_S0002,
+      MDIAGNOSTIC_STATE2_S0011,
+      MDIAGNOSTIC_STATE2_S0012,
+      MDIAGNOSTIC_STATE2_S0021,
+      MDIAGNOSTIC_STATE2_S0022,
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_S1000,
+      MDIAGNOSTIC_STATE2_S1001,
+      MDIAGNOSTIC_STATE2_S1003,
+      MDIAGNOSTIC_STATE2_S1004,
+      MDIAGNOSTIC_STATE2_S1010,
+      MDIAGNOSTIC_STATE2_S1008,
+      MDIAGNOSTIC_STATE2_S1009,
+      MDIAGNOSTIC_STATE2_S1010,
+      MDIAGNOSTIC_STATE2_S1011,
+      MDIAGNOSTIC_STATE2_S1012,
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_S1015,
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_70100,
+      MDIAGNOSTIC_STATE2_22003,
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_S1009,
+      MDIAGNOSTIC_STATE2_S1090,
+      MDIAGNOSTIC_STATE2_S1091,
+      MDIAGNOSTIC_STATE2_S1009,
+      MDIAGNOSTIC_STATE2_S1092,
+      MDIAGNOSTIC_STATE2_S1095,
+      MDIAGNOSTIC_STATE2_S1096,
+      MDIAGNOSTIC_STATE2_S1097,
+      MDIAGNOSTIC_STATE2_S1098,
+      MDIAGNOSTIC_STATE2_S1099,
+      MDIAGNOSTIC_STATE2_S1100,
+      MDIAGNOSTIC_STATE2_S1101,
+      MDIAGNOSTIC_STATE2_S1103,
+      MDIAGNOSTIC_STATE2_S1104,
+      MDIAGNOSTIC_STATE2_S1105,
+      MDIAGNOSTIC_STATE2_S1106,
+      MDIAGNOSTIC_STATE2_S1107,
+      MDIAGNOSTIC_STATE2_S1109,
+      MDIAGNOSTIC_STATE2_S1110,
+      MDIAGNOSTIC_STATE2_S1111,
+      MDIAGNOSTIC_STATE2_S1C00,
+      MDIAGNOSTIC_STATE2_S1T00,
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE2_IM001,
+      MDIAGNOSTIC_STATE2_IM002,
+      MDIAGNOSTIC_STATE2_IM003,
+      MDIAGNOSTIC_STATE2_IM004,
+      MDIAGNOSTIC_STATE2_IM005,
+      MDIAGNOSTIC_STATE2_IM006,
+      MDIAGNOSTIC_STATE2_IM007,
+      MDIAGNOSTIC_STATE2_IM008,
+      MDIAGNOSTIC_STATE2_IM009,
+      MDIAGNOSTIC_STATE2_IM010,
+      MDIAGNOSTIC_STATE2_IM011,
+      MDIAGNOSTIC_STATE2_IM012,
+      MDIAGNOSTIC_STATE2_IM013,
+      MDIAGNOSTIC_STATE2_S1000, /* missing from v2 */
+      MDIAGNOSTIC_STATE3_IM015,
+    },
+
+    /* ODBC v3      */
+    {
+      MDIAGNOSTIC_STATE3_01000,
+      MDIAGNOSTIC_STATE3_01001,
+      MDIAGNOSTIC_STATE3_01001,
+      MDIAGNOSTIC_STATE3_01002,
+      MDIAGNOSTIC_STATE3_01003,
+      MDIAGNOSTIC_STATE3_01004,
+      MDIAGNOSTIC_STATE3_01006,
+      MDIAGNOSTIC_STATE3_01007,
+      MDIAGNOSTIC_STATE3_01S00,
+      MDIAGNOSTIC_STATE3_01S01,
+      MDIAGNOSTIC_STATE3_01S02,
+      MDIAGNOSTIC_STATE3_01S06,
+      MDIAGNOSTIC_STATE3_01S07,
+      MDIAGNOSTIC_STATE3_01S08,
+      MDIAGNOSTIC_STATE3_01S09,
+      MDIAGNOSTIC_STATE3_07001,
+      MDIAGNOSTIC_STATE3_07002,
+      MDIAGNOSTIC_STATE3_07005,
+      MDIAGNOSTIC_STATE3_07006,
+      MDIAGNOSTIC_STATE3_07009,
+      MDIAGNOSTIC_STATE3_07009,
+      MDIAGNOSTIC_STATE3_07S01,
+      MDIAGNOSTIC_STATE3_08001,
+      MDIAGNOSTIC_STATE3_08002,
+      MDIAGNOSTIC_STATE3_08003,
+      MDIAGNOSTIC_STATE3_08004,
+      MDIAGNOSTIC_STATE3_08007,
+      MDIAGNOSTIC_STATE3_08S01,
+      MDIAGNOSTIC_STATE3_21S01,
+      MDIAGNOSTIC_STATE3_21S02,
+      MDIAGNOSTIC_STATE3_22001,
+      MDIAGNOSTIC_STATE3_22002,
+      MDIAGNOSTIC_STATE3_22003,
+      MDIAGNOSTIC_STATE3_22007,
+      MDIAGNOSTIC_STATE3_22008,
+      MDIAGNOSTIC_STATE3_22012,
+      MDIAGNOSTIC_STATE3_22015,
+      MDIAGNOSTIC_STATE3_22018,
+      MDIAGNOSTIC_STATE3_22019,
+      MDIAGNOSTIC_STATE3_22025,
+      MDIAGNOSTIC_STATE3_22026,
+      MDIAGNOSTIC_STATE3_23000,
+      MDIAGNOSTIC_STATE3_24000,
+      MDIAGNOSTIC_STATE3_25000,
+      MDIAGNOSTIC_STATE3_25S01,
+      MDIAGNOSTIC_STATE3_25S02,
+      MDIAGNOSTIC_STATE3_25S03,
+      MDIAGNOSTIC_STATE3_28000,
+      MDIAGNOSTIC_STATE3_34000,
+      MDIAGNOSTIC_STATE3_3C000,
+      MDIAGNOSTIC_STATE3_3D000,
+      MDIAGNOSTIC_STATE3_3F000,
+      MDIAGNOSTIC_STATE3_40001,
+      MDIAGNOSTIC_STATE3_40002,
+      MDIAGNOSTIC_STATE3_40003,
+      MDIAGNOSTIC_STATE3_42000,
+      MDIAGNOSTIC_STATE3_42S01,
+      MDIAGNOSTIC_STATE3_42S02,
+      MDIAGNOSTIC_STATE3_42S11,
+      MDIAGNOSTIC_STATE3_42S12,
+      MDIAGNOSTIC_STATE3_42S21,
+      MDIAGNOSTIC_STATE3_42S22,
+      MDIAGNOSTIC_STATE3_44000,
+      MDIAGNOSTIC_STATE3_HY000,
+      MDIAGNOSTIC_STATE3_HY001,
+      MDIAGNOSTIC_STATE3_HY003,
+      MDIAGNOSTIC_STATE3_HY004,
+      MDIAGNOSTIC_STATE3_HY007,
+      MDIAGNOSTIC_STATE3_HY008,
+      MDIAGNOSTIC_STATE3_HY009,
+      MDIAGNOSTIC_STATE3_HY010,
+      MDIAGNOSTIC_STATE3_HY011,
+      MDIAGNOSTIC_STATE3_HY012,
+      MDIAGNOSTIC_STATE3_HY013,
+      MDIAGNOSTIC_STATE3_HY014,
+      MDIAGNOSTIC_STATE3_HY015,
+      MDIAGNOSTIC_STATE3_HY016,
+      MDIAGNOSTIC_STATE3_HY017,
+      MDIAGNOSTIC_STATE3_HY018,
+      MDIAGNOSTIC_STATE3_HY019,
+      MDIAGNOSTIC_STATE3_HY020,
+      MDIAGNOSTIC_STATE3_HY021,
+      MDIAGNOSTIC_STATE3_HY024,
+      MDIAGNOSTIC_STATE3_HY090,
+      MDIAGNOSTIC_STATE3_HY091,
+      MDIAGNOSTIC_STATE3_HY092,
+      MDIAGNOSTIC_STATE3_HY092,
+      MDIAGNOSTIC_STATE3_HY095,
+      MDIAGNOSTIC_STATE3_HY096,
+      MDIAGNOSTIC_STATE3_HY097,
+      MDIAGNOSTIC_STATE3_HY098,
+      MDIAGNOSTIC_STATE3_HY099,
+      MDIAGNOSTIC_STATE3_HY100,
+      MDIAGNOSTIC_STATE3_HY101,
+      MDIAGNOSTIC_STATE3_HY103,
+      MDIAGNOSTIC_STATE3_HY104,
+      MDIAGNOSTIC_STATE3_HY105,
+      MDIAGNOSTIC_STATE3_HY106,
+      MDIAGNOSTIC_STATE3_HY107,
+      MDIAGNOSTIC_STATE3_HY109,
+      MDIAGNOSTIC_STATE3_HY110,
+      MDIAGNOSTIC_STATE3_HY111,
+      MDIAGNOSTIC_STATE3_HYC00,
+      MDIAGNOSTIC_STATE3_HYT00,
+      MDIAGNOSTIC_STATE3_HYT01,
+      MDIAGNOSTIC_STATE3_IM001,
+      MDIAGNOSTIC_STATE3_IM002,
+      MDIAGNOSTIC_STATE3_IM003,
+      MDIAGNOSTIC_STATE3_IM004,
+      MDIAGNOSTIC_STATE3_IM005,
+      MDIAGNOSTIC_STATE3_IM006,
+      MDIAGNOSTIC_STATE3_IM007,
+      MDIAGNOSTIC_STATE3_IM008,
+      MDIAGNOSTIC_STATE3_IM009,
+      MDIAGNOSTIC_STATE3_IM010,
+      MDIAGNOSTIC_STATE3_IM011,
+      MDIAGNOSTIC_STATE3_IM012,
+      MDIAGNOSTIC_STATE3_IM013,
+      MDIAGNOSTIC_STATE3_IM014,
+      MDIAGNOSTIC_STATE3_IM015
+    }
 };
 
 void *MYODBCC::getMem( size_t nBytes )
@@ -526,7 +652,7 @@
 QString MYODBCC::getConnectAttrString( SQLINTEGER nAttribute )
 {
     switch ( nAttribute )
-    {        
+    {
         case SQL_ATTR_ACCESS_MODE:
             return "SQL_ATTR_ACCESS_MODE";
         case SQL_ATTR_ANSI_APP:

Modified: trunk/SDK/C/include/MYODBCC.h
===================================================================
--- trunk/SDK/C/include/MYODBCC.h	2007-03-19 17:50:12 UTC (rev 817)
+++ trunk/SDK/C/include/MYODBCC.h	2007-03-26 20:26:08 UTC (rev 818)
@@ -435,7 +435,7 @@
     \sa     MDiagnosticStatesV2
             MDiagnosticStatesV3
 */
-extern int MDiagnosticStatesXRef[120][2];
+extern int MDiagnosticStatesXRef[2][120];
 
 /*!
     \brief  C API portability and convenience.

Modified: trunk/SDK/MYSQLPlus/Library/MDiagnostic.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MDiagnostic.cpp	2007-03-19 17:50:12 UTC (rev 817)
+++ trunk/SDK/MYSQLPlus/Library/MDiagnostic.cpp	2007-03-26 20:26:08 UTC (rev 818)
@@ -10,7 +10,7 @@
         
     \sa     MYODBCDiaFree
 */
-MDiagnostic::MDiagnostic( QObject *pObjectParent, ODBC_VERSION nODBCVersion )
+MDiagnostic::MDiagnostic( QObject *pObjectParent, SQLSMALLINT nODBCVersion )
     : QObject( pObjectParent )
 {
     MYODBCDbgEnter();
@@ -114,18 +114,20 @@
     MYODBCDbgReturn( SQL_SUCCESS );
 }
 
-void MDiagnostic::setODBCVersion( MDiagnostic::ODBC_VERSION nODBCVersion )
+void MDiagnostic::setODBCVersion( SQLSMALLINT nODBCVersion )
 {
     MYODBCDbgEnter();
 
     this->nODBCVersion = nODBCVersion;
     switch ( nODBCVersion )
     {
-        case ODBC_VERSION_2:
+        case SQL_OV_ODBC2:
             pStates = MDiagnosticStatesV2;
+            stateMap = MDiagnosticStatesXRef[0];
             break;
-        case ODBC_VERSION_3:
+        case SQL_OV_ODBC3:
             pStates = MDiagnosticStatesV3;
+            stateMap = MDiagnosticStatesXRef[1];
             break;
     }
 
@@ -492,7 +494,7 @@
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn1(
pStates[MDiagnosticStatesXRef[nState][nODBCVersion]].stringClassOrigin );
+    MYODBCDbgReturn1( pStates[stateMap[nState]].stringClassOrigin );
 }
 
 SQLINTEGER MDiagnostic::getColumnNumber( SQLSMALLINT nRecNumber )
@@ -539,7 +541,7 @@
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn1( pStates[MDiagnosticStatesXRef[nState][nODBCVersion]].stringText );
+    MYODBCDbgReturn1( pStates[stateMap[nState]].stringText );
 }
 
 SQLINTEGER MDiagnostic::getNative( SQLSMALLINT nRecNumber )
@@ -589,11 +591,11 @@
 #if MYODBC_DBG > 1
     MYODBCDbgInfo( QString( "nState=%1" ).arg( nState ) );
     MYODBCDbgInfo( QString( "nODBCVersion=%1" ).arg( nODBCVersion ) );
-    MYODBCDbgInfo( QString( "index=%1" ).arg( MDiagnosticStatesXRef[nState][nODBCVersion]
) );
-    MYODBCDbgInfo( QString( "stringSQLState=%1" ).arg(
pStates[MDiagnosticStatesXRef[nState][nODBCVersion]].stringSQLState ) );
+    MYODBCDbgInfo( QString( "index=%1" ).arg( stateMap[nState] ) );
+    MYODBCDbgInfo( QString( "stringSQLState=%1" ).arg(
pStates[stateMap[nState]].stringSQLState ) );
 #endif
 
-    MYODBCDbgReturn1( pStates[MDiagnosticStatesXRef[nState][nODBCVersion]].stringSQLState
);
+    MYODBCDbgReturn1( pStates[stateMap[nState]].stringSQLState );
 }
 
 QString MDiagnostic::getSubClassOrigin( SQLSMALLINT nRecNumber )
@@ -610,7 +612,7 @@
 {
     MYODBCDbgEnter();
 
-    MYODBCDbgReturn1(
pStates[MDiagnosticStatesXRef[nState][nODBCVersion]].stringSubClassOrigin );
+    MYODBCDbgReturn1( pStates[stateMap[nState]].stringSubClassOrigin );
 }
 
 QString MDiagnostic::getConnectionName()
@@ -627,7 +629,7 @@
     MYODBCDbgReturn1( stringServerName );
 }
 
-MDiagnostic::ODBC_VERSION MDiagnostic::getODBCVersion()
+SQLSMALLINT MDiagnostic::getODBCVersion()
 {
     MYODBCDbgEnter();
 
@@ -695,8 +697,8 @@
 
 #if MYODBC_DBG > 1
     MYODBCDbgInfo( QString( "nState=%1=%2=%3 Custom Message=%4" ).arg( nState )
-                                               .arg(
pStates[MDiagnosticStatesXRef[nState][nODBCVersion]].stringSQLState )
-                                               .arg(
pStates[MDiagnosticStatesXRef[nState][nODBCVersion]].stringText )
+                                               .arg(
pStates[stateMap[nState]].stringSQLState )
+                                               .arg( pStates[stateMap[nState]].stringText
)
                                                .arg( stringMessage ) );
 #endif
 
@@ -709,7 +711,7 @@
     pDiagnosticRecord->setRowNumber( nRowNumber );
     pDiagnosticRecord->setMessage( stringMessage );
 
-    MYODBCDbgReturn( pStates[MDiagnosticStatesXRef[nState][nODBCVersion]].nReturnCode );
+    MYODBCDbgReturn( pStates[stateMap[nState]].nReturnCode );
 }
 
 /*!
@@ -810,5 +812,3 @@
     return stream;
 }
 
-
-

Modified: trunk/SDK/MYSQLPlus/Library/MDiagnostic.h
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MDiagnostic.h	2007-03-19 17:50:12 UTC (rev 817)
+++ trunk/SDK/MYSQLPlus/Library/MDiagnostic.h	2007-03-26 20:26:08 UTC (rev 818)
@@ -59,22 +59,6 @@
 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 via
SQL_ATTR_ODBC_VERSION.
-
-        \sa     SQL_ATTR_ODBC_VERSION
-    */
-    enum ODBC_VERSION
-    {
-        ODBC_VERSION_2 = 0, /*!< v2. 0 because use this to index into
MDiagnosticStatesXRef.    */
-        ODBC_VERSION_3      /*!< v3. Default.                                         
         */
-    };
-
-    /*!
         \brief  Diagnostic states.
 
                 These roughly match the ODBC v3 SQL States. These differ from the ODBC v3
SQL States
@@ -212,17 +196,17 @@
         STATE_MAX
     };
 
-    MDiagnostic( QObject *pObjectParent = NULL, ODBC_VERSION nODBCVersion =
ODBC_VERSION_3 );
+    MDiagnostic( QObject *pObjectParent = NULL, SQLSMALLINT nODBCVersion = SQL_OV_ODBC3
);
     ~MDiagnostic();
 
     /* setters */
-    void setODBCVersion( ODBC_VERSION nODBCVersion = ODBC_VERSION_3 );
+    void setODBCVersion( SQLSMALLINT nODBCVersion = SQL_OV_ODBC3 );
 
     /* getters */
     SQLRETURN       getDiagRec( SQLSMALLINT nRecNumber /* 1-based */, SQLWCHAR
*psSqlstate, SQLINTEGER *pnNativeErrorPtr, SQLWCHAR *psMessageText, SQLSMALLINT
nBufferLength, SQLSMALLINT *pnTextLengthPtr );
     SQLRETURN       getDiagField( SQLSMALLINT nRecNumber /* 1-based */, SQLSMALLINT
nDiagIdentifier, SQLPOINTER pDiagInfoPtr, SQLSMALLINT nBufferLength, SQLSMALLINT
*pnStringLengthPtr );
     QStringList     getDiagnostics();
-    ODBC_VERSION    getODBCVersion();
+    SQLSMALLINT     getODBCVersion();
 
     /* doers */
     SQLRETURN   doAppend( STATE nState, SQLINTEGER nNative = 0, const QString
&stringMessage = QString::null );
@@ -278,10 +262,11 @@
 private:
     SQLINTEGER          nCursorRowCount;        /*!< Count of rows in the cursor.
Approx. or exact ResultSetRows.       */
     SQLINTEGER          nDynamicFunctionCode;   /*!< Code indicating type of SQL
executed (ie SQL_DIAG_UPDATE_WHERE)    */
-    ODBC_VERSION        nODBCVersion;           /*!< Applications ODBC version.       
                                 */
+    SQLSMALLINT         nODBCVersion;           /*!< Applications ODBC version.       
                                 */
     SQLRETURN           nReturnCode;            /*!< Return code (as in SQLRETURN)
returned by the function.            */
     SQLINTEGER          nRowCount;              /*!< The number of rows affected by an
insert, delete, or update.       */
     MDIAGNOSTIC_STATE * pStates;                /*!< Reference to state table matching
nODBCVersion.                    */
+    int               * stateMap;				/*!< Map the MDiagnostic::STATE to the
version-specific state           */
 
     /* these values are copied by new records */
     QString         stringConnectionName;   /*!< This is dbc->server.              
                                 */
@@ -289,7 +274,5 @@
 
 };
 
-
 #endif
 
-

Modified: trunk/SDK/MYSQLPlus/Library/MEnvironment.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MEnvironment.cpp	2007-03-19 17:50:12 UTC (rev 817)
+++ trunk/SDK/MYSQLPlus/Library/MEnvironment.cpp	2007-03-26 20:26:08 UTC (rev 818)
@@ -512,11 +512,8 @@
     switch ( nODBCVersion )
     {
         case SQL_OV_ODBC3:
-            getDiagnostic()->setODBCVersion( MDiagnostic::ODBC_VERSION_3 );
-            this->nODBCVersion = nODBCVersion;
-            break;
         case SQL_OV_ODBC2:
-            getDiagnostic()->setODBCVersion( MDiagnostic::ODBC_VERSION_2 );
+            getDiagnostic()->setODBCVersion( nODBCVersion );
             this->nODBCVersion = nODBCVersion;
             break;
         default:

Thread
Connector/ODBC 5 commit: r818 - in trunk/SDK: C/Library C/include MYSQLPlus/Libraryjbalint26 Mar