Репозитории ALT
S: | 1.3.16-alt1 |
5.1: | 0.82-alt2 |
4.1: | 0.64-alt3 |
4.0: | 0.63-alt1.1.0 |
3.0: | 0.63-alt1 |
Другие репозитории
Upstream: | 0.64 |
Группа :: Система/Библиотеки
Пакет: freetds
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: freetds-alt-revert-dblib-fix-TDS_DONE_RESULT-empty-rowsets.patch
Скачать
Скачать
From 6fb9bbd3cbb7618399b29e20c73059a7b3d0a0c2 Mon Sep 17 00:00:00 2001
From: Aleksei Nikiforov <darktemplar@altlinux.org>
Date: Tue, 15 Dec 2020 18:10:55 +0300
Subject: [PATCH] Revert "dblib: fix TDS_DONE_RESULT empty rowsets:"
This reverts commit 9058123f9e7fd9cc4c3adf8caf3ace2e2a2d50bc.
---
src/dblib/dblib.c | 4 +-
src/dblib/unittests/.gitignore | 1 -
src/dblib/unittests/CMakeLists.txt | 3 +-
src/dblib/unittests/Makefile.am | 4 +-
src/dblib/unittests/empty_rowsets.c | 69 ---------------------------
src/dblib/unittests/empty_rowsets.sql | 5 --
6 files changed, 3 insertions(+), 83 deletions(-)
delete mode 100644 src/dblib/unittests/empty_rowsets.c
delete mode 100644 src/dblib/unittests/empty_rowsets.sql
diff --git a/src/dblib/dblib.c b/src/dblib/dblib.c
index 207e9cab..2ad922b9 100644
--- a/src/dblib/dblib.c
+++ b/src/dblib/dblib.c
@@ -1760,10 +1760,8 @@ _dbresults(DBPROCESS * dbproc)
dbproc->dbresults_state = _DB_RES_NEXT_RESULT;
if (done_flags & TDS_DONE_ERROR)
return FAIL;
- if (result_type == TDS_DONE_RESULT) {
- tds_free_all_results(tds);
+ if (result_type == TDS_DONE_RESULT)
return SUCCEED;
- }
break;
case _DB_RES_RESULTSET_EMPTY:
diff --git a/src/dblib/unittests/CMakeLists.txt b/src/dblib/unittests/CMakeLists.txt
index 1d437bff..fa1c3bd8 100644
--- a/src/dblib/unittests/CMakeLists.txt
+++ b/src/dblib/unittests/CMakeLists.txt
@@ -5,7 +5,7 @@ foreach(target t0001 t0002 t0003 t0004 t0005 t0006 t0007 t0008 t0009
dbsafestr t0022 t0023 rpc dbmorecmds bcp thread text_buffer
done_handling timeout hang null null2 setnull numeric pending
cancel spid canquery batch_stmt_ins_sel batch_stmt_ins_upd bcp_getl
- empty_rowsets string_bind colinfo bcp2)
+ string_bind colinfo bcp2)
add_executable(d_${target} EXCLUDE_FROM_ALL ${target}.c)
set_target_properties(d_${target} PROPERTIES OUTPUT_NAME ${target})
target_link_libraries(d_${target} d_common sybdb replacements tdsutils ${lib_NETWORK} ${lib_BASE})
diff --git a/src/dblib/unittests/Makefile.am b/src/dblib/unittests/Makefile.am
index cd5a633b..cb11cd1e 100644
--- a/src/dblib/unittests/Makefile.am
+++ b/src/dblib/unittests/Makefile.am
@@ -40,7 +40,6 @@ TESTS = \
batch_stmt_ins_sel$(EXEEXT) \
batch_stmt_ins_upd$(EXEEXT) \
bcp_getl$(EXEEXT) \
- empty_rowsets$(EXEEXT) \
string_bind$(EXEEXT) \
colinfo$(EXEEXT) \
bcp2$(EXEEXT)
@@ -94,7 +93,6 @@ canquery_SOURCES= canquery.c canquery.sql
batch_stmt_ins_sel_SOURCES = batch_stmt_ins_sel.c batch_stmt_ins_sel.sql
batch_stmt_ins_upd_SOURCES = batch_stmt_ins_upd.c batch_stmt_ins_upd.sql
bcp_getl_SOURCES= bcp_getl.c
-empty_rowsets_SOURCES = empty_rowsets.c empty_rowsets.sql
string_bind_SOURCES = string_bind.c
colinfo_SOURCES = colinfo.c colinfo.sql
bcp2_SOURCES = bcp2.c bcp2.sql
diff --git a/src/dblib/unittests/empty_rowsets.c b/src/dblib/unittests/empty_rowsets.c
deleted file mode 100644
index 25c88746..00000000
--- a/src/dblib/unittests/empty_rowsets.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Purpose: Test handling of empty rowsets
- * Functions: dbcmd dbdata dbdatlen dbnextrow dbresults dbsqlexec
- */
-
-#include "common.h"
-
-static int failed = 0;
-static void set_failed(int line)
-{
- failed = 1;
- fprintf(stderr, "Failed check at line %d\n", line);
-}
-#define set_failed() set_failed(__LINE__)
-
-int
-main(int argc, char *argv[])
-{
- LOGINREC *login;
- DBPROCESS *dbproc;
- int ret_code;
- int num_cols;
- int num_res;
-
- set_malloc_options();
-
- read_login_info(argc, argv);
- printf("Starting %s\n", argv[0]);
- dbinit();
-
- dberrhandle(syb_err_handler);
- dbmsghandle(syb_msg_handler);
-
- printf("About to logon\n");
-
- login = dblogin();
- DBSETLPWD(login, PASSWORD);
- DBSETLUSER(login, USER);
- DBSETLAPP(login, "t0012");
-
- dbproc = dbopen(login, SERVER);
- if (strlen(DATABASE)) {
- dbuse(dbproc, DATABASE);
- }
- dbloginfree(login);
- printf("After logon\n");
-
- /* select */
- sql_cmd(dbproc);
- dbsqlexec(dbproc);
-
- num_res = 0;
- while ((ret_code = dbresults(dbproc)) == SUCCEED) {
- num_cols = dbnumcols(dbproc);
- printf("Result %d has %d columns\n", num_res, num_cols);
- if (!(num_res % 2) && num_cols)
- set_failed();
- while(dbnextrow(dbproc) != NO_MORE_ROWS) {};
- num_res++;
- }
- if (ret_code == FAIL)
- set_failed();
-
- dbclose(dbproc);
- dbexit();
-
- printf("%s %s\n", __FILE__, (failed ? "failed!" : "OK"));
- return failed ? 1 : 0;
-}
diff --git a/src/dblib/unittests/empty_rowsets.sql b/src/dblib/unittests/empty_rowsets.sql
deleted file mode 100644
index d6ad7a29..00000000
--- a/src/dblib/unittests/empty_rowsets.sql
+++ /dev/null
@@ -1,5 +0,0 @@
-set arithabort on
-select 1
-set arithabort on
-select 2
-go
--
2.25.4