summaryrefslogtreecommitdiffstats
path: root/src/freetds-1-fastforward.patch
diff options
context:
space:
mode:
authorMark Brand <mabrand@mabrand.nl>2011-03-30 14:57:14 (GMT)
committerMark Brand <mabrand@mabrand.nl>2011-03-30 14:57:14 (GMT)
commitf7ab5677d4a7c2e2810ef454cafee004055358f3 (patch)
tree2fe8a02a71b6fbfefdb6c79cae722cae58c015d7 /src/freetds-1-fastforward.patch
parentb90935489bdbdff6b60683ecdc8ca5f1a89686ef (diff)
downloadmxe-f7ab5677d4a7c2e2810ef454cafee004055358f3.zip
mxe-f7ab5677d4a7c2e2810ef454cafee004055358f3.tar.gz
mxe-f7ab5677d4a7c2e2810ef454cafee004055358f3.tar.bz2
upgrade package freetds to cvs
Diffstat (limited to 'src/freetds-1-fastforward.patch')
-rw-r--r--src/freetds-1-fastforward.patch188
1 files changed, 188 insertions, 0 deletions
diff --git a/src/freetds-1-fastforward.patch b/src/freetds-1-fastforward.patch
index 731e53b..7e79514 100644
--- a/src/freetds-1-fastforward.patch
+++ b/src/freetds-1-fastforward.patch
@@ -178385,3 +178385,191 @@ index 026b6e3..a0ebb12 100644
void tds_set_version(TDSLOGIN * tds_login, TDS_TINYINT major_ver, TDS_TINYINT minor_ver);
void tds_set_capabilities(TDSLOGIN * tds_login, unsigned char *capabilities, int size);
int tds_connect_and_login(TDSSOCKET * tds, TDSCONNECTION * connection);
+
+commit 0fb0f4a2b0734d2dbf56870566c0228ce71f1859
+Author: freddy77 <freddy77>
+Date: Wed Mar 30 11:29:34 2011 +0000
+
+ avoid unnecessary prepare and unprepare
+
+diff --git a/ChangeLog b/ChangeLog
+index 79e2ed8..73910cd 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,7 @@
++Wed Mar 30 13:29:15 CEST 2011 Frediano Ziglio <freddy77_A_gmail_D_com>
++ * include/tds.h src/odbc/odbc.c src/tds/query.c:
++ - avoid unnecessary prepare and unprepare
++
+ Sun Mar 27 12:34:23 EDT 2011 JK Lowden <jklowden@freetds.org>
+ * include/sybdb.h include/tds.h
+ - src/dblib/dblib.c src/tds/config.c src/tds/login.c
+@@ -3193,4 +3197,4 @@ Wed Jan 9 19:54:43 EST 2008 JK Lowden <jklowden@freetds.org>
+ * ChangeLog-0.82 added because of release
+
+ $FreeTDS$
+-$Id: ChangeLog,v 1.3204 2011/03/27 16:36:53 jklowden Exp $
++$Id: ChangeLog,v 1.3205 2011/03/30 11:29:34 freddy77 Exp $
+diff --git a/include/tds.h b/include/tds.h
+index a0ebb12..9486ebc 100644
+--- a/include/tds.h
++++ b/include/tds.h
+@@ -21,7 +21,7 @@
+ #ifndef _tds_h_
+ #define _tds_h_
+
+-/* $Id: tds.h,v 1.351 2011/03/27 16:36:53 jklowden Exp $ */
++/* $Id: tds.h,v 1.352 2011/03/30 11:29:34 freddy77 Exp $ */
+
+ #include <stdarg.h>
+ #include <stdio.h>
+@@ -1485,6 +1485,7 @@ int tds_submit_execute(TDSSOCKET * tds, TDSDYNAMIC * dyn);
+ int tds_send_cancel(TDSSOCKET * tds);
+ const char *tds_next_placeholder(const char *start);
+ int tds_count_placeholders(const char *query);
++int tds_needs_unprepare(TDSSOCKET * tds, TDSDYNAMIC * dyn);
+ int tds_submit_unprepare(TDSSOCKET * tds, TDSDYNAMIC * dyn);
+ int tds_submit_rpc(TDSSOCKET * tds, const char *rpc_name, TDSPARAMINFO * params);
+ int tds_submit_optioncmd(TDSSOCKET * tds, TDS_OPTION_CMD command, TDS_OPTION option, TDS_OPTION_ARG *param, TDS_INT param_size);
+diff --git a/src/odbc/odbc.c b/src/odbc/odbc.c
+index 0e57775..73a63ff 100644
+--- a/src/odbc/odbc.c
++++ b/src/odbc/odbc.c
+@@ -1,6 +1,6 @@
+ /* FreeTDS - Library of routines accessing Sybase and Microsoft databases
+ * Copyright (C) 1998, 1999, 2000, 2001 Brian Bruns
+- * Copyright (C) 2002-2010 Frediano Ziglio
++ * Copyright (C) 2002-2011 Frediano Ziglio
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+@@ -61,7 +61,7 @@
+ #include <dmalloc.h>
+ #endif
+
+-TDS_RCSID(var, "$Id: odbc.c,v 1.555 2010/12/28 14:37:10 freddy77 Exp $");
++TDS_RCSID(var, "$Id: odbc.c,v 1.556 2011/03/30 11:29:34 freddy77 Exp $");
+
+ static SQLRETURN _SQLAllocConnect(SQLHENV henv, SQLHDBC FAR * phdbc);
+ static SQLRETURN _SQLAllocEnv(SQLHENV FAR * phenv, SQLINTEGER odbc_version);
+@@ -500,17 +500,16 @@ odbc_prepare(TDS_STMT *stmt)
+ stmt->errs.lastrc = SQL_ERROR;
+ break;
+ }
+-
+- if (stmt->dbc->current_statement == stmt)
+- stmt->dbc->current_statement = NULL;
+- if (stmt->errs.lastrc == SQL_ERROR && !stmt->dyn->emulated) {
+- TDSDYNAMIC *dyn = stmt->dyn;
+- stmt->dyn = NULL;
+- tds_free_dynamic(tds, dyn);
+- }
+- ODBC_RETURN_(stmt);
++ break;
+ }
+
++ if (stmt->dbc->current_statement == stmt)
++ stmt->dbc->current_statement = NULL;
++ if (stmt->errs.lastrc == SQL_ERROR && !stmt->dyn->emulated) {
++ TDSDYNAMIC *dyn = stmt->dyn;
++ stmt->dyn = NULL;
++ tds_free_dynamic(tds, dyn);
++ }
+ stmt->need_reprepare = 0;
+ ODBC_RETURN_(stmt);
+ }
+@@ -7112,7 +7111,7 @@ odbc_free_dynamic(TDS_STMT * stmt)
+ TDSSOCKET *tds = stmt->dbc->tds_socket;
+
+ if (stmt->dyn) {
+- if (stmt->dyn->emulated) {
++ if (!tds_needs_unprepare(tds, stmt->dyn)) {
+ tds_free_dynamic(tds, stmt->dyn);
+ stmt->dyn = NULL;
+ } else if (tds_submit_unprepare(tds, stmt->dyn) == TDS_SUCCEED) {
+diff --git a/src/tds/query.c b/src/tds/query.c
+index 899bb09..3e1e608 100644
+--- a/src/tds/query.c
++++ b/src/tds/query.c
+@@ -46,7 +46,7 @@
+
+ #include <assert.h>
+
+-TDS_RCSID(var, "$Id: query.c,v 1.246 2011/01/12 09:21:11 freddy77 Exp $");
++TDS_RCSID(var, "$Id: query.c,v 1.247 2011/03/30 11:29:34 freddy77 Exp $");
+
+ static void tds_put_params(TDSSOCKET * tds, TDSPARAMINFO * info, int flags);
+ static void tds7_put_query_params(TDSSOCKET * tds, const char *query, size_t query_len);
+@@ -1900,6 +1900,22 @@ tds_put_params(TDSSOCKET * tds, TDSPARAMINFO * info, int flags)
+ }
+ }
+
++int
++tds_needs_unprepare(TDSSOCKET * tds, TDSDYNAMIC * dyn)
++{
++ CHECK_TDS_EXTRA(tds);
++ CHECK_DYNAMIC_EXTRA(dyn);
++
++ // check if statement is prepared
++ if (IS_TDS7_PLUS(tds) && !dyn->num_id)
++ return 0;
++
++ if (dyn->emulated)
++ return 0;
++
++ return 1;
++}
++
+ /**
+ * Send a unprepare request for a prepared query
+ * \param tds state information for the socket and the TDS protocol
+
+commit 1bf29e550aea989d29b9500ee4cc9e3e0594160b
+Author: freddy77 <freddy77>
+Date: Wed Mar 30 12:53:19 2011 +0000
+
+ future developing version!
+
+diff --git a/ChangeLog b/ChangeLog
+index 73910cd..b5aecf3 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,6 @@
++Wed Mar 30 14:53:04 CEST 2011 Frediano Ziglio <freddy77_A_gmail_D_com>
++ * configure.ac: future developing version!
++
+ Wed Mar 30 13:29:15 CEST 2011 Frediano Ziglio <freddy77_A_gmail_D_com>
+ * include/tds.h src/odbc/odbc.c src/tds/query.c:
+ - avoid unnecessary prepare and unprepare
+@@ -3197,4 +3200,4 @@ Wed Jan 9 19:54:43 EST 2008 JK Lowden <jklowden@freetds.org>
+ * ChangeLog-0.82 added because of release
+
+ $FreeTDS$
+-$Id: ChangeLog,v 1.3205 2011/03/30 11:29:34 freddy77 Exp $
++$Id: ChangeLog,v 1.3206 2011/03/30 12:53:19 freddy77 Exp $
+diff --git a/configure.ac b/configure.ac
+index 3d6b95b..e05146a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1,7 +1,7 @@
+ dnl Process this file with autoconf to produce a configure script.
+
+ dnl ------------------------------------------------------------
+-dnl $Id: configure.ac,v 1.60 2010/12/28 14:37:10 freddy77 Exp $
++dnl $Id: configure.ac,v 1.61 2011/03/30 12:53:19 freddy77 Exp $
+ dnl If you're trying to create a new configure test, try
+ dnl
+ dnl http://autogen.sourceforge.net/conftest.html
+@@ -12,10 +12,10 @@ dnl ------------------------------------------------------------
+ # ------------------------------------------------------------
+ # Initialization
+ # ------------------------------------------------------------
+-AC_INIT(FreeTDS, 0.83.dev.esyscmd(printf $(date +"%Y%m%d")))
++AC_INIT(FreeTDS, 0.92.dev.esyscmd(printf $(date +"%Y%m%d")))
+ AC_CONFIG_SRCDIR(src/dblib/dblib.c)
+ AC_PREREQ(2.53)
+-AC_REVISION($Revision: 1.60 $)
++AC_REVISION($Revision: 1.61 $)
+
+ AM_INIT_AUTOMAKE([dist-bzip2])
+ AC_CONFIG_HEADERS(include/config.h)