Fix ODBC compile, prevent ODBCVER warning, though the version numbers go
authorBruce Momjian
Mon, 11 Dec 2000 18:51:26 +0000 (18:51 +0000)
committerBruce Momjian
Mon, 11 Dec 2000 18:51:26 +0000 (18:51 +0000)
not match.

src/interfaces/odbc/info.c
src/interfaces/odbc/isql.h
src/interfaces/odbc/psqlodbc.h

index b176c57deb3c8631e00eb95c2223ed1482e2317b..165fd0bcaee58ddc3e503dcc427ef84cfdc99eed 100644 (file)
@@ -2255,12 +2255,15 @@ char tables_query[MAX_STATEMENT_LEN];
 char trig_deferrable[2];
 char trig_initdeferred[2];
 char trig_args[1024];
-char upd_rule[MAX_NAME_LEN], del_rule[MAX_NAME_LEN];
+char upd_rule[MAX_TABLE_LEN], del_rule[MAX_TABLE_LEN];
 char pk_table_needed[MAX_TABLE_LEN + 1];
 char fk_table_needed[MAX_TABLE_LEN + 1];
 char *pkey_ptr, *fkey_ptr, *pk_table, *fk_table;
 int i, j, k, num_keys;
-SWORD trig_nargs, upd_rule_type, del_rule_type, defer_type;
+SWORD trig_nargs, upd_rule_type=0, del_rule_type=0;
+#if (ODBCVER >= 0x0300)
+SWORD defer_type;
+#endif
 char pkey[MAX_INFO_STRING];
 Int2 result_cols;
 
@@ -2694,136 +2697,136 @@ Int2 result_cols;
            return SQL_ERROR;
        }
 
-       result = SQLBindCol(htbl_stmt, 5, SQL_C_CHAR,\r
-                           upd_rule, sizeof(upd_rule), NULL);\r
-       if((result != SQL_SUCCESS) && (result != SQL_SUCCESS_WITH_INFO)) {\r
-           stmt->errormsg = tbl_stmt->errormsg;\r
+       result = SQLBindCol(htbl_stmt, 5, SQL_C_CHAR,
+                           upd_rule, sizeof(upd_rule), NULL);
+       if((result != SQL_SUCCESS) && (result != SQL_SUCCESS_WITH_INFO)) {
+           stmt->errormsg = tbl_stmt->errormsg;
            stmt->errornumber = tbl_stmt->errornumber;
            SC_log_error(func, "", stmt);
            SQLFreeStmt(htbl_stmt, SQL_DROP);
            return SQL_ERROR;
        }
 
-       result = SQLBindCol(htbl_stmt, 6, SQL_C_CHAR,\r
-                           del_rule, sizeof(del_rule), NULL);\r
-       if((result != SQL_SUCCESS) && (result != SQL_SUCCESS_WITH_INFO)) {\r
-           stmt->errormsg = tbl_stmt->errormsg;\r
-           stmt->errornumber = tbl_stmt->errornumber;\r
+       result = SQLBindCol(htbl_stmt, 6, SQL_C_CHAR,
+                           del_rule, sizeof(del_rule), NULL);
+       if((result != SQL_SUCCESS) && (result != SQL_SUCCESS_WITH_INFO)) {
+           stmt->errormsg = tbl_stmt->errormsg;
+           stmt->errornumber = tbl_stmt->errornumber;
            SC_log_error(func, "", stmt);
-           SQLFreeStmt(htbl_stmt, SQL_DROP);\r
+           SQLFreeStmt(htbl_stmt, SQL_DROP);
            return SQL_ERROR;
        }
 
-       result = SQLFetch(htbl_stmt);\r
-       if (result == SQL_NO_DATA_FOUND)\r
-           return SQL_SUCCESS;\r
+       result = SQLFetch(htbl_stmt);
+       if (result == SQL_NO_DATA_FOUND)
+           return SQL_SUCCESS;
 
-       if(result != SQL_SUCCESS) {\r
-           stmt->errormsg = SC_create_errormsg(htbl_stmt);\r
-           stmt->errornumber = tbl_stmt->errornumber;\r
+       if(result != SQL_SUCCESS) {
+           stmt->errormsg = SC_create_errormsg(htbl_stmt);
+           stmt->errornumber = tbl_stmt->errornumber;
            SC_log_error(func, "", stmt);
-           SQLFreeStmt(htbl_stmt, SQL_DROP);\r
+           SQLFreeStmt(htbl_stmt, SQL_DROP);
            return SQL_ERROR;
        }
 
        while (result == SQL_SUCCESS) {
 
            /*  Calculate the number of key parts */
-           num_keys = (trig_nargs - 4) / 2;;\r
+           num_keys = (trig_nargs - 4) / 2;;
 
            /*  Handle action (i.e., 'cascade', 'restrict', 'setnull') */
-           if (!strcmp(upd_rule, "RI_FKey_cascade_upd")) {\r
-               upd_rule_type = SQL_CASCADE;\r
-           } else if (!strcmp(upd_rule, "RI_FKey_noaction_upd")) {\r
-               upd_rule_type = SQL_NO_ACTION;\r
-           } else if (!strcmp(upd_rule, "RI_FKey_restrict_upd")) {\r
-               upd_rule_type = SQL_NO_ACTION;\r
-           } else if (!strcmp(upd_rule, "RI_FKey_setdefault_upd")) {\r
-               upd_rule_type = SQL_SET_DEFAULT;\r
-           } else if (!strcmp(upd_rule, "RI_FKey_setnull_upd")) {\r
-               upd_rule_type = SQL_SET_NULL;\r
-           }\r
-           \r
-           if (!strcmp(upd_rule, "RI_FKey_cascade_del")) {\r
-               del_rule_type = SQL_CASCADE;\r
-           } else if (!strcmp(upd_rule, "RI_FKey_noaction_del")) {\r
-               del_rule_type = SQL_NO_ACTION;\r
-           } else if (!strcmp(upd_rule, "RI_FKey_restrict_del")) {\r
-               del_rule_type = SQL_NO_ACTION;\r
-           } else if (!strcmp(upd_rule, "RI_FKey_setdefault_del")) {\r
-               del_rule_type = SQL_SET_DEFAULT;\r
-           } else if (!strcmp(upd_rule, "RI_FKey_setnull_del")) {\r
-               del_rule_type = SQL_SET_NULL;\r
-           }           \r
-\r
-#if (ODBCVER >= 0x0300)\r
-           /* Set deferrability type */\r
-           if (!strcmp(trig_initdeferred, "y")) {\r
-               defer_type = SQL_INITIALLY_DEFERRED;\r
-           } else if (!strcmp(trig_deferrable, "y")) {\r
-               defer_type = SQL_INITIALLY_IMMEDIATE;\r
-           } else {\r
-               defer_type = SQL_NOT_DEFERRABLE;\r
-           }\r
-#endif /* ODBCVER >= 0x0300 */\r
-\r
-           mylog("Foreign Key Case#1: trig_nargs = %d, num_keys = %d\n", trig_nargs, num_keys);\r
-\r
-           /*  Get to first primary key */\r
-           pkey_ptr = trig_args;\r
-           for (i = 0; i < 5; i++)\r
-               pkey_ptr += strlen(pkey_ptr) + 1;\r
-\r
-\r
-           /*  Get to first foreign table */\r
-           fk_table = trig_args;\r
-           fk_table += strlen(fk_table) + 1;\r
-\r
-           /* Get to first foreign key */\r
-           fkey_ptr = trig_args;\r
-           for (k = 0; k < 4; k++) \r
-               fkey_ptr += strlen(fkey_ptr) + 1;\r
-
-           for (k = 0; k < num_keys; k++) {\r
-
-               mylog("pkey_ptr = '%s', fk_table = '%s', fkey_ptr = '%s'\n", pkey_ptr, fk_table, fkey_ptr);\r
+           if (!strcmp(upd_rule, "RI_FKey_cascade_upd")) {
+               upd_rule_type = SQL_CASCADE;
+           } else if (!strcmp(upd_rule, "RI_FKey_noaction_upd")) {
+               upd_rule_type = SQL_NO_ACTION;
+           } else if (!strcmp(upd_rule, "RI_FKey_restrict_upd")) {
+               upd_rule_type = SQL_NO_ACTION;
+           } else if (!strcmp(upd_rule, "RI_FKey_setdefault_upd")) {
+               upd_rule_type = SQL_SET_DEFAULT;
+           } else if (!strcmp(upd_rule, "RI_FKey_setnull_upd")) {
+               upd_rule_type = SQL_SET_NULL;
+           }
+           
+           if (!strcmp(upd_rule, "RI_FKey_cascade_del")) {
+               del_rule_type = SQL_CASCADE;
+           } else if (!strcmp(upd_rule, "RI_FKey_noaction_del")) {
+               del_rule_type = SQL_NO_ACTION;
+           } else if (!strcmp(upd_rule, "RI_FKey_restrict_del")) {
+               del_rule_type = SQL_NO_ACTION;
+           } else if (!strcmp(upd_rule, "RI_FKey_setdefault_del")) {
+               del_rule_type = SQL_SET_DEFAULT;
+           } else if (!strcmp(upd_rule, "RI_FKey_setnull_del")) {
+               del_rule_type = SQL_SET_NULL;
+           }           
+
+#if (ODBCVER >= 0x0300)
+           /* Set deferrability type */
+           if (!strcmp(trig_initdeferred, "y")) {
+               defer_type = SQL_INITIALLY_DEFERRED;
+           } else if (!strcmp(trig_deferrable, "y")) {
+               defer_type = SQL_INITIALLY_IMMEDIATE;
+           } else {
+               defer_type = SQL_NOT_DEFERRABLE;
+           }
+#endif /* ODBCVER >= 0x0300 */
+
+           mylog("Foreign Key Case#1: trig_nargs = %d, num_keys = %d\n", trig_nargs, num_keys);
+
+           /*  Get to first primary key */
+           pkey_ptr = trig_args;
+           for (i = 0; i < 5; i++)
+               pkey_ptr += strlen(pkey_ptr) + 1;
+
+
+           /*  Get to first foreign table */
+           fk_table = trig_args;
+           fk_table += strlen(fk_table) + 1;
+
+           /* Get to first foreign key */
+           fkey_ptr = trig_args;
+           for (k = 0; k < 4; k++) 
+               fkey_ptr += strlen(fkey_ptr) + 1;
+
+           for (k = 0; k < num_keys; k++) {
+
+               mylog("pkey_ptr = '%s', fk_table = '%s', fkey_ptr = '%s'\n", pkey_ptr, fk_table, fkey_ptr);
 
                    row = (TupleNode *)malloc(sizeof(TupleNode) + (result_cols - 1) * sizeof(TupleField));
 
-               mylog("pk_table_needed = '%s', pkey_ptr = '%s'\n", pk_table_needed, pkey_ptr);\r
+               mylog("pk_table_needed = '%s', pkey_ptr = '%s'\n", pk_table_needed, pkey_ptr);
                    set_tuplefield_null(&row->tuple[0]);
                    set_tuplefield_string(&row->tuple[1], "");
-               set_tuplefield_string(&row->tuple[2], pk_table_needed);\r
-               set_tuplefield_string(&row->tuple[3], pkey_ptr);\r
+               set_tuplefield_string(&row->tuple[2], pk_table_needed);
+               set_tuplefield_string(&row->tuple[3], pkey_ptr);
 
-               mylog("fk_table = '%s', fkey_ptr = '%s'\n", fk_table, fkey_ptr);\r
+               mylog("fk_table = '%s', fkey_ptr = '%s'\n", fk_table, fkey_ptr);
                    set_tuplefield_null(&row->tuple[4]);
                    set_tuplefield_string(&row->tuple[5], "");
                set_tuplefield_string(&row->tuple[6], fk_table);
-               set_tuplefield_string(&row->tuple[7], fkey_ptr);\r
+               set_tuplefield_string(&row->tuple[7], fkey_ptr);
 
-               set_tuplefield_int2(&row->tuple[8], (Int2) (k + 1));\r
+               set_tuplefield_int2(&row->tuple[8], (Int2) (k + 1));
 
-               mylog("upd_rule = %d, del_rule= %d", upd_rule_type, del_rule_type);\r
-               set_nullfield_int2(&row->tuple[9], (Int2) upd_rule_type);\r
-               set_nullfield_int2(&row->tuple[10], (Int2) del_rule_type);\r
+               mylog("upd_rule = %d, del_rule= %d", upd_rule_type, del_rule_type);
+               set_nullfield_int2(&row->tuple[9], (Int2) upd_rule_type);
+               set_nullfield_int2(&row->tuple[10], (Int2) del_rule_type);
 
                    set_tuplefield_null(&row->tuple[11]);
                    set_tuplefield_null(&row->tuple[12]);
 
-               set_tuplefield_string(&row->tuple[13], trig_args);\r
+               set_tuplefield_string(&row->tuple[13], trig_args);
 
-#if (ODBCVER >= 0x0300)\r
-               mylog("defer_type = '%s', defer_type);\r
-               set_tuplefield_int2(&row->tuple[14], defer_type);\r
-#endif /* ODBCVER >= 0x0300 */\r
+#if (ODBCVER >= 0x0300)
+               mylog("defer_type = '%s'", defer_type);
+               set_tuplefield_int2(&row->tuple[14], defer_type);
+#endif /* ODBCVER >= 0x0300 */
 
                QR_add_tuple(stmt->result, row);
 
                /*  next primary/foreign key */
-               for (j = 0; j < 2; j++) {\r
-                   pkey_ptr += strlen(pkey_ptr) + 1;\r
-                   fkey_ptr += strlen(fkey_ptr) + 1;\r
+               for (j = 0; j < 2; j++) {
+                   pkey_ptr += strlen(pkey_ptr) + 1;
+                   fkey_ptr += strlen(fkey_ptr) + 1;
                }
            }
 
index 7c7cfca3c5b165e3352b3ae8146a3bbfc3c6dd9d..8c0203a5ea3602447882735677637e38f77b5448 100644 (file)
@@ -24,7 +24,9 @@ typedef signed short      RETCODE;
 #   define SQL_API         EXPORT CALLBACK
 # endif
 
+#ifndef ODBCVER
 # define ODBCVER           0x0200
+#endif
 
 # define SQL_MAX_MESSAGE_LENGTH        512
 # define SQL_MAX_DSN_LENGTH        32
index aabded2a1c1e9a40f769fa17ca632b632cb46948..f565f5d877a177f044de81481443788e0da7b0ff 100644 (file)
@@ -34,7 +34,9 @@ typedef double SDOUBLE;
 typedef UInt4 Oid;
 
 /* Driver stuff */
+#ifndef ODBCVER
 #define ODBCVER                0x0250
+#endif
 #define DRIVER_ODBC_VER        "02.50"
 
 #define DRIVERNAME             "PostgreSQL ODBC"