From fc13e2b476e0f80878a94442d8c6e931a8630b3f Mon Sep 17 00:00:00 2001 From: zhaowenhao <545612025@qq.com> Date: Tue, 25 May 2021 17:05:16 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E9=87=8D=E6=9E=84=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E5=87=8F=E5=B0=91=E5=86=97=E4=BD=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- odbc-test-gauss/odbc_sm3.c | 42 +++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/odbc-test-gauss/odbc_sm3.c b/odbc-test-gauss/odbc_sm3.c index dcf9193..821a3fd 100644 --- a/odbc-test-gauss/odbc_sm3.c +++ b/odbc-test-gauss/odbc_sm3.c @@ -28,6 +28,21 @@ char *buf = "Mike"; char *buf1 = "haha"; int value = 3; +static inline void SM3SQLFreeHandle() +{ + SQLFreeHandle(SQL_HANDLE_STMT,V_OD_hstmt); + SQLFreeHandle(SQL_HANDLE_DBC,V_OD_hdbc); + SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env); +} + +static inline void SM3SQLFreeHandleAndFreeConnect() +{ + SQLFreeHandle(SQL_HANDLE_STMT,V_OD_hstmt); + SQLDisconnect(V_OD_hdbc); + SQLFreeHandle(SQL_HANDLE_DBC,V_OD_hdbc); + SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env); +} + int main(int argc,char *argv[]) { @@ -95,9 +110,7 @@ int main(int argc,char *argv[]) printf("Error in drop %d\n",V_OD_erg); SQLGetDiagRec(SQL_HANDLE_DBC, V_OD_hdbc,1, V_OD_stat,&V_OD_err,V_OD_msg,100,&V_OD_mlen); printf("%s (%d)\n",V_OD_msg,V_OD_err); - SQLFreeHandle(SQL_HANDLE_STMT,V_OD_hstmt); - SQLFreeHandle(SQL_HANDLE_DBC,V_OD_hdbc); - SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env); + SM3SQLFreeHandle(); return -1; } @@ -108,9 +121,7 @@ int main(int argc,char *argv[]) printf("Error in create %d\n",V_OD_erg); SQLGetDiagRec(SQL_HANDLE_DBC, V_OD_hdbc,1, V_OD_stat,&V_OD_err,V_OD_msg,100,&V_OD_mlen); printf("%s (%d)\n",V_OD_msg,V_OD_err); - SQLFreeHandle(SQL_HANDLE_STMT,V_OD_hstmt); - SQLFreeHandle(SQL_HANDLE_DBC,V_OD_hdbc); - SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env); + SM3SQLFreeHandle(); return -1; } @@ -123,9 +134,7 @@ int main(int argc,char *argv[]) printf("Error in Select %d\n",V_OD_erg); SQLGetDiagRec(SQL_HANDLE_DBC, V_OD_hdbc,1, V_OD_stat,&V_OD_err,V_OD_msg,100,&V_OD_mlen); printf("%s (%d)\n",V_OD_msg,V_OD_err); - SQLFreeHandle(SQL_HANDLE_STMT,V_OD_hstmt); - SQLFreeHandle(SQL_HANDLE_DBC,V_OD_hdbc); - SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env); + SM3SQLFreeHandle(); return -1; } @@ -133,10 +142,7 @@ int main(int argc,char *argv[]) V_OD_erg=SQLNumResultCols(V_OD_hstmt,&V_OD_colanz); if ((V_OD_erg != SQL_SUCCESS) && (V_OD_erg != SQL_SUCCESS_WITH_INFO)) { - SQLFreeHandle(SQL_HANDLE_STMT,V_OD_hstmt); - SQLDisconnect(V_OD_hdbc); - SQLFreeHandle(SQL_HANDLE_DBC,V_OD_hdbc); - SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env); + SM3SQLFreeHandleAndFreeConnect(); return -1; } printf("SQLNumResultCols ---- Number of Columns %d\n",V_OD_colanz); @@ -146,10 +152,7 @@ int main(int argc,char *argv[]) if ((V_OD_erg != SQL_SUCCESS) && (V_OD_erg != SQL_SUCCESS_WITH_INFO)) { printf("Number of RowCount %d\n",V_OD_erg); - SQLFreeHandle(SQL_HANDLE_STMT,V_OD_hstmt); - SQLDisconnect(V_OD_hdbc); - SQLFreeHandle(SQL_HANDLE_DBC,V_OD_hdbc); - SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env); + SM3SQLFreeHandleAndFreeConnect(); return -1; } printf("SQLRowCount ----- Number of Rows %d\n",V_OD_rowanz); @@ -165,10 +168,7 @@ int main(int argc,char *argv[]) }; - SQLFreeHandle(SQL_HANDLE_STMT,V_OD_hstmt); - SQLDisconnect(V_OD_hdbc); - SQLFreeHandle(SQL_HANDLE_DBC,V_OD_hdbc); - SQLFreeHandle(SQL_HANDLE_ENV, V_OD_Env); + SM3SQLFreeHandleAndFreeConnect(); return(0); } From 255028fe1ecfb09292dd2521f8e1947a18ff25b2 Mon Sep 17 00:00:00 2001 From: zhaowenhao <545612025@qq.com> Date: Tue, 25 May 2021 18:32:07 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=87=8D=E6=9E=84=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BC=96=E8=AF=91=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- odbc-test-gauss/Makefile | 4 ++-- odbc-test-gauss/dataatexecution-test.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/odbc-test-gauss/Makefile b/odbc-test-gauss/Makefile index 3cd0d87..1f3297d 100644 --- a/odbc-test-gauss/Makefile +++ b/odbc-test-gauss/Makefile @@ -25,6 +25,7 @@ ifndef cases odbc_nvarchar2_10_manycol \ odbc_nvarchar2_11_out \ odbc_sha256 \ + odbc_sm3 \ odbc_smalldatetime_01_SQLPrimaryKeys \ odbc_smalldatetime_02_SQLColumn \ odbc_smalldatetime_03_SQLBindParameter \ @@ -79,14 +80,13 @@ ifndef cases cvtnulldate-test \ stmthandles-test \ odbc_batch_insert \ - odbc_connection_info \ odbc_DTS2019070108437 \ odbc_transaction_for_extension_connector \ odbc_DTS2019071815351 endif -all: $(cases) +all:$(deps) $(cases) %: %.c $(CC) -l odbc -O0 -g -o $@ $< $(deps) diff --git a/odbc-test-gauss/dataatexecution-test.c b/odbc-test-gauss/dataatexecution-test.c index 00ce3f0..9f8f225 100644 --- a/odbc-test-gauss/dataatexecution-test.c +++ b/odbc-test-gauss/dataatexecution-test.c @@ -3,7 +3,7 @@ #include #include "common.h" - +#define VOID void int main(int argc, char **argv) { SQLRETURN rc;