Hello community, here is the log from the commit of package psqlODBC for openSUSE:Factory checked in at 2018-04-06 17:47:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/psqlODBC (Old) and /work/SRC/openSUSE:Factory/.psqlODBC.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "psqlODBC" Fri Apr 6 17:47:41 2018 rev:22 rq:593788 version:10.02.0000 Changes: -------- --- /work/SRC/openSUSE:Factory/psqlODBC/psqlODBC.changes 2018-02-22 15:03:56.830758437 +0100 +++ /work/SRC/openSUSE:Factory/.psqlODBC.new/psqlODBC.changes 2018-04-06 17:47:49.519221590 +0200 @@ -1,0 +2,13 @@ +Thu Apr 5 13:03:05 UTC 2018 - mvet...@suse.com + +- Update to version 10.02.0000: + * It's safer to call setlocale(LC_CTYPE, "") than calling setlocale(LC_ALL, "") + * Avoid replacing effective notice messages. + * Handle MALLOC/REALLOC errors while fetching tuples more effectively. + * Make SQLSetPos(SQL_DELETE/SQL_REFRESH) more effective. Because queries calling currtid(2) like + select .. from .. where ctid=currtid2(.., ..) cause Seq Scan, their execution may be very slow. + It is better to execute queries using subqueries like + select .. from .. where ctid=(select currtid2(.., ..)) because they cause Tid Scan. + * Fix a crash bug in AddDeleted(). + +------------------------------------------------------------------- Old: ---- psqlodbc-10.01.0000.tar.gz New: ---- psqlodbc-10.02.0000.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ psqlODBC.spec ++++++ --- /var/tmp/diff_new_pack.RCuNFx/_old 2018-04-06 17:47:51.467151182 +0200 +++ /var/tmp/diff_new_pack.RCuNFx/_new 2018-04-06 17:47:51.467151182 +0200 @@ -28,7 +28,7 @@ Summary: ODBC Driver for PostgreSQL License: LGPL-2.1+ Group: Productivity/Databases/Clients -Version: 10.01.0000 +Version: 10.02.0000 Release: 0 Source0: https://ftp.postgresql.org/pub/odbc/versions/src/%tarname-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ psqlodbc-10.01.0000.tar.gz -> psqlodbc-10.02.0000.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/Makefile.am new/psqlodbc-10.02.0000/Makefile.am --- old/psqlodbc-10.01.0000/Makefile.am 2017-12-27 14:03:33.000000000 +0100 +++ new/psqlodbc-10.02.0000/Makefile.am 2018-03-30 15:35:01.000000000 +0200 @@ -98,7 +98,6 @@ test/tests \ test/win.mak \ test/expected \ - test/Makefile \ test/src MAINTAINERCLEANFILES = \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/Makefile.in new/psqlodbc-10.02.0000/Makefile.in --- old/psqlodbc-10.01.0000/Makefile.in 2017-12-27 14:10:47.000000000 +0100 +++ new/psqlodbc-10.02.0000/Makefile.in 2018-03-30 15:51:38.000000000 +0200 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -467,7 +467,6 @@ test/tests \ test/win.mak \ test/expected \ - test/Makefile \ test/src MAINTAINERCLEANFILES = \ @@ -957,7 +956,7 @@ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir @@ -983,7 +982,7 @@ @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir @@ -1001,7 +1000,7 @@ distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ @@ -1011,7 +1010,7 @@ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/aclocal.m4 new/psqlodbc-10.02.0000/aclocal.m4 --- old/psqlodbc-10.01.0000/aclocal.m4 2017-12-27 14:10:44.000000000 +0100 +++ new/psqlodbc-10.02.0000/aclocal.m4 2018-03-30 15:51:32.000000000 +0200 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.15 -*- Autoconf -*- +# generated automatically by aclocal 1.15.1 -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -20,7 +20,7 @@ If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# Copyright (C) 2002-2014 Free Software Foundation, Inc. +# Copyright (C) 2002-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -35,7 +35,7 @@ [am__api_version='1.15' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.15], [], +m4_if([$1], [1.15.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -51,14 +51,14 @@ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.15])dnl +[AM_AUTOMAKE_VERSION([1.15.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -110,7 +110,7 @@ # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# Copyright (C) 1997-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -141,7 +141,7 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -332,7 +332,7 @@ # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -408,7 +408,7 @@ # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -605,7 +605,7 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -626,7 +626,7 @@ fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2014 Free Software Foundation, Inc. +# Copyright (C) 2003-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -648,7 +648,7 @@ # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -683,7 +683,7 @@ # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -733,7 +733,7 @@ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# Copyright (C) 1997-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -774,7 +774,7 @@ # Obsolete and "removed" macros, that must however still report explicit # error messages when used, to smooth transition. # -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -801,7 +801,7 @@ # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -830,7 +830,7 @@ AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -877,7 +877,7 @@ # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -896,7 +896,7 @@ # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -977,7 +977,7 @@ rm -f conftest.file ]) -# Copyright (C) 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1037,7 +1037,7 @@ _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1065,7 +1065,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2014 Free Software Foundation, Inc. +# Copyright (C) 2006-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1084,7 +1084,7 @@ # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2014 Free Software Foundation, Inc. +# Copyright (C) 2004-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/config/compile new/psqlodbc-10.02.0000/config/compile --- old/psqlodbc-10.01.0000/config/compile 2017-12-27 14:10:47.000000000 +0100 +++ new/psqlodbc-10.02.0000/config/compile 2018-03-30 15:51:37.000000000 +0200 @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2012-10-14.11; # UTC +scriptversion=2016-01-11.22; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -255,7 +255,8 @@ echo "compile $scriptversion" exit $? ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac @@ -342,6 +343,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/config/config.sub new/psqlodbc-10.02.0000/config/config.sub --- old/psqlodbc-10.01.0000/config/config.sub 2017-12-27 14:10:47.000000000 +0100 +++ new/psqlodbc-10.02.0000/config/config.sub 2018-03-30 15:51:37.000000000 +0200 @@ -300,7 +300,7 @@ | ns16k | ns32k \ | open8 | or1k | or1knd | or32 \ | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ + | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ | pyramid \ | riscv32 | riscv64 \ | rl78 | rx \ @@ -426,7 +426,7 @@ | or1k*-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | powerpcspe-* \ | pyramid-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/config/depcomp new/psqlodbc-10.02.0000/config/depcomp --- old/psqlodbc-10.01.0000/config/depcomp 2017-12-27 14:10:47.000000000 +0100 +++ new/psqlodbc-10.02.0000/config/depcomp 2018-03-30 15:51:37.000000000 +0200 @@ -1,9 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2013-05-30.07; # UTC +scriptversion=2016-01-11.22; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -786,6 +786,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/config/install-sh new/psqlodbc-10.02.0000/config/install-sh --- old/psqlodbc-10.01.0000/config/install-sh 2017-12-27 14:10:47.000000000 +0100 +++ new/psqlodbc-10.02.0000/config/install-sh 2018-03-30 15:51:37.000000000 +0200 @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2013-12-25.23; # UTC +scriptversion=2016-01-11.22; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -496,6 +496,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/config/missing new/psqlodbc-10.02.0000/config/missing --- old/psqlodbc-10.01.0000/config/missing 2017-12-27 14:10:47.000000000 +0100 +++ new/psqlodbc-10.02.0000/config/missing 2018-03-30 15:51:37.000000000 +0200 @@ -1,9 +1,9 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2013-10-28.13; # UTC +scriptversion=2016-01-11.22; # UTC -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify @@ -210,6 +210,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/configure new/psqlodbc-10.02.0000/configure --- old/psqlodbc-10.01.0000/configure 2017-12-27 14:10:45.000000000 +0100 +++ new/psqlodbc-10.02.0000/configure 2018-03-30 15:51:36.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for psqlodbc 10.01.0000. +# Generated by GNU Autoconf 2.69 for psqlodbc 10.02.0000. # # Report bugs to <pgsql-o...@postgresql.org>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='psqlodbc' PACKAGE_TARNAME='psqlodbc' -PACKAGE_VERSION='10.01.0000' -PACKAGE_STRING='psqlodbc 10.01.0000' +PACKAGE_VERSION='10.02.0000' +PACKAGE_STRING='psqlodbc 10.02.0000' PACKAGE_BUGREPORT='pgsql-o...@postgresql.org' PACKAGE_URL='' @@ -1324,7 +1324,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures psqlodbc 10.01.0000 to adapt to many kinds of systems. +\`configure' configures psqlodbc 10.02.0000 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1394,7 +1394,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of psqlodbc 10.01.0000:";; + short | recursive ) echo "Configuration of psqlodbc 10.02.0000:";; esac cat <<\_ACEOF @@ -1509,7 +1509,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -psqlodbc configure 10.01.0000 +psqlodbc configure 10.02.0000 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2161,7 +2161,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by psqlodbc $as_me 10.01.0000, which was +It was created by psqlodbc $as_me 10.02.0000, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3025,7 +3025,7 @@ # Define the identity of the package. PACKAGE='psqlodbc' - VERSION='10.01.0000' + VERSION='10.02.0000' cat >>confdefs.h <<_ACEOF @@ -13759,7 +13759,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by psqlodbc $as_me 10.01.0000, which was +This file was extended by psqlodbc $as_me 10.02.0000, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -13825,7 +13825,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -psqlodbc config.status 10.01.0000 +psqlodbc config.status 10.02.0000 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/configure.ac new/psqlodbc-10.02.0000/configure.ac --- old/psqlodbc-10.01.0000/configure.ac 2017-12-27 14:07:47.000000000 +0100 +++ new/psqlodbc-10.02.0000/configure.ac 2018-03-30 15:43:31.000000000 +0200 @@ -1,5 +1,5 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(psqlodbc, 10.01.0000, [pgsql-o...@postgresql.org]) +AC_INIT(psqlodbc, 10.02.0000, [pgsql-o...@postgresql.org]) AC_PREREQ(2.57) AC_CONFIG_AUX_DIR(config) AM_INIT_AUTOMAKE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/connection.c new/psqlodbc-10.02.0000/connection.c --- old/psqlodbc-10.01.0000/connection.c 2017-12-27 14:03:33.000000000 +0100 +++ new/psqlodbc-10.02.0000/connection.c 2018-03-30 15:35:01.000000000 +0200 @@ -894,7 +894,7 @@ { if (QR_command_successful(res)) QR_set_rstatus(res, PORES_NONFATAL_ERROR); /* notice or warning */ - QR_set_notice(res, errmsg); /* will dup this string */ + QR_add_notice(res, errmsg); /* will dup this string */ } goto cleanup; } @@ -1601,7 +1601,7 @@ return FALSE; q += 3; while (isspace(*q)) q++; - for (; *q; q++) + for (; *q;) { if (IS_NOT_SPACE(*q)) { @@ -1611,6 +1611,8 @@ while (IS_NOT_SPACE(*q)) q++; } + else + q++; } return FALSE; } @@ -1748,6 +1750,7 @@ discard_next_savepoint = FALSE, discard_next_release = FALSE, consider_rollback; + BOOL discardTheRest = FALSE; int func_cs_count = 0; PQExpBufferData query_buf = {0}; size_t query_len; @@ -1920,6 +1923,8 @@ { int status = PQresultStatus(pgres); + if (discardTheRest) + continue; switch (status) { case PGRES_COMMAND_OK: @@ -2086,15 +2091,16 @@ if (cursor && cursor[0]) QR_set_synchronize_keys(res); } - if (!CC_from_PGresult(res, stmt, self, cursor, &pgres)) + if (CC_from_PGresult(res, stmt, self, cursor, &pgres)) + query_completed = TRUE; + else { + aborted = TRUE; if (QR_command_maybe_successful(res)) retres = NULL; else retres = cmdres; - aborted = TRUE; } - query_completed = TRUE; } else { /* next fetch, so reuse an existing result */ @@ -2115,6 +2121,20 @@ { QR_set_rstatus(res, PORES_NONFATAL_ERROR); } + else if (PORES_NO_MEMORY_ERROR == QR_get_rstatus(res)) + { + PGcancel *cancel; + char dummy[8]; + + discardTheRest = TRUE; + if (cancel = PQgetCancel(self->pqconn)) + { + PQcancel(cancel, dummy, sizeof(dummy)); + PQfreeCancel(cancel); + } + else + goto cleanup; + } break; case PGRES_COPY_OUT: /* XXX: We used to read from stdin here. Does that make any sense? */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/docs/release.html new/psqlodbc-10.02.0000/docs/release.html --- old/psqlodbc-10.01.0000/docs/release.html 2017-12-27 14:05:56.000000000 +0100 +++ new/psqlodbc-10.02.0000/docs/release.html 2018-03-30 15:40:56.000000000 +0200 @@ -9,6 +9,30 @@ <h1>psqlODBC release notes</h1> <hr> +<h2><a id="10.02.0000">psqlODBC 10.02.0000 Release</a></h2> +Changes:<br /> +<ol type="1"> +<li>It's safer to call setlocale(LC_CTYPE, "") than calling setlocale(LC_ALL, "").</li> +Report and patch by Mario De Frutos. +<li>Avoid replacing effective notice messages.</li> +Report from Wolfgang Apolinarski. <br /> +Patch by Clemens Ladisch. +<li>Handle MALLOC/REALLOC errors while fetching tuples more effectively.</li> +Per report from Haruka Takatsuka. +<li>Make SQLSetPos(SQL_DELETE/SQL_REFRESH) more effective. +Because queries calling currtid(2) like<br /> +select .. from .. where ctid=currtid2(.., ..)<br /> +cause Seq Scan, their execution may be very slow.<br /> +It is better to execute queries using subqueries like<br /> +select .. from .. where ctid=(select currtid2(.., ..))<br /> +because they cause Tid Scan.<br /> +Report and changes by Tsunakawa Takayuki. +<li>Fix a crash bug in AddDeleted().</li> +Report and patch by Takayuki Tsunakawa. +</ol><br /> + +<h1>psqlODBC release notes</h1> +<hr> <h2><a id="10.01.0000">psqlODBC 10.01.0000 Release</a></h2> Changes:<br /> <ol type="1"> @@ -17,7 +41,7 @@ <li>Add add an option -NoPDB to buildInstallers.ps1.</li> The switch option can be specified so as to exclude PDB files from the installers. <li>Fix a bug in pgdebug_realloc().</li> -<li>Free any data at exec params before the statement is executed again or the next set of parameters is processed. If not, then there will be a memory leak when the next SQLParamData/SQLPutData is called.>/li> +<li>Free any data at exec params before the statement is executed again or the next set of parameters is processed. If not, then there will be a memory leak when the next SQLParamData/SQLPutData is called.</li> Per report from Mihai Giurgeanu <li>Review the level of MYLOG, QLOG.</li> Divide *level 1(detail)* log into *level 1(tuple level)* log and *level 2(detail)* log. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/multibyte.c new/psqlodbc-10.02.0000/multibyte.c --- old/psqlodbc-10.01.0000/multibyte.c 2017-12-27 14:03:33.000000000 +0100 +++ new/psqlodbc-10.02.0000/multibyte.c 2018-03-30 15:35:01.000000000 +0200 @@ -494,7 +494,7 @@ /* * Derive the encoding from the codeset part of the current locale. */ - loc = setlocale(LC_ALL, ""); + loc = setlocale(LC_CTYPE, ""); if (loc && (ptr = strchr(loc, '.'))) { int enc_no; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/psqlodbc.c new/psqlodbc-10.02.0000/psqlodbc.c --- old/psqlodbc-10.01.0000/psqlodbc.c 2017-12-27 14:03:33.000000000 +0100 +++ new/psqlodbc-10.02.0000/psqlodbc.c 2018-03-30 15:35:01.000000000 +0200 @@ -178,7 +178,6 @@ BOOL _init(void) { - getExeName(); initialize_global_cs(); return TRUE; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/results.c new/psqlodbc-10.02.0000/results.c --- old/psqlodbc-10.01.0000/results.c 2017-12-27 14:03:33.000000000 +0100 +++ new/psqlodbc-10.02.0000/results.c 2018-03-30 15:35:01.000000000 +0200 @@ -2404,7 +2404,7 @@ res->dl_alloc = new_alloc; } /* sort deleted indexes in ascending order */ - for (i = 0, deleted = res->deleted, deleted_keyset = res->deleted_keyset; i < dl_count; i++, deleted++, deleted_keyset += num_fields) + for (i = 0, deleted = res->deleted, deleted_keyset = res->deleted_keyset; i < dl_count; i++, deleted++, deleted_keyset++) { if (index < *deleted) break; @@ -3040,7 +3040,7 @@ if (latest) { printfPQExpBuffer(&selstr, - "%.*sfrom %s where ctid = currtid2('%s', '%s')", + "%.*sfrom %s where ctid = (select currtid2('%s', '%s'))", (int) from_pos, load_stmt, quoted_table, quoted_table, @@ -3050,7 +3050,7 @@ printfPQExpBuffer(&selstr, "%.*sfrom %s where ctid = '%s'", (int) from_pos, load_stmt, quoted_table, tidval); } else if ((flag & USE_INSERTED_TID) != 0) - printfPQExpBuffer(&selstr, "%.*sfrom %s where ctid = currtid(0, '(0,0)')", (int) from_pos, load_stmt, quoted_table); + printfPQExpBuffer(&selstr, "%.*sfrom %s where ctid = (select currtid(0, '(0,0)'))", (int) from_pos, load_stmt, quoted_table); /* else if (bestitem && oidint) { @@ -3074,7 +3074,7 @@ char table_fqn[256]; printfPQExpBuffer(&selstr, - "%s where ctid = currtid2('%s', '%s')", + "%s where ctid = (select currtid2('%s', '%s'))", load_stmt, ti_quote(stmt, 0, table_fqn, sizeof(table_fqn)), tidval); @@ -3083,7 +3083,7 @@ printfPQExpBuffer(&selstr, "%s where ctid = '%s'", load_stmt, tidval); } else if ((flag & USE_INSERTED_TID) != 0) - printfPQExpBuffer(&selstr, "%s where ctid = currtid(0, '(0,0)')", load_stmt); + printfPQExpBuffer(&selstr, "%s where ctid = (select currtid(0, '(0,0)'))", load_stmt); else if (bestqual) { andExist = FALSE; @@ -3202,6 +3202,9 @@ /* old oid & tid */ if (idx_exist) { + UInt4 blocknum; + UInt2 offset; + if (!(oidint = getOid(res, kres_ridx))) { if (!strcmp(SAFE_NAME(stmt->ti[0]->bestitem), OID_NAME)) @@ -3210,6 +3213,8 @@ return SQL_SUCCESS_WITH_INFO; } } + getTid(res, kres_ridx, &blocknum, &offset); + SPRINTF_FIXED(tidval, "(%u, %u)", blocknum, offset); } res_cols = getNumResultCols(res); if (keyset) /* after or update */ @@ -4640,7 +4645,10 @@ } } if (tuple_reload) - SC_pos_reload(stmt, global_ridx, (UInt2 *) 0, 0); + { + if (!SQL_SUCCEEDED(ret = SC_pos_reload(stmt, global_ridx, (UInt2 *) 0, 0))) + return ret; + } stmt->bind_row = irow; ret = SC_fetch(stmt); /* restore the last_fetch_count */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/test/Makefile new/psqlodbc-10.02.0000/test/Makefile --- old/psqlodbc-10.01.0000/test/Makefile 2017-12-27 14:11:18.000000000 +0100 +++ new/psqlodbc-10.02.0000/test/Makefile 1970-01-01 01:00:00.000000000 +0100 @@ -1,92 +0,0 @@ -# The list of test is stored in a separate file, so that it can be shared with -# the Windows makefile, win.mak. - -origdir = . - -vpath %.c $(origdir) -vpath %.sh $(origdir) - -include $(origdir)/tests - -# The included file defined variable TESTBINS, which is a list of program -# names in format exe/<testname>-test. Extract the base test names from it. -TESTNAMES = $(patsubst exe/%-test,%, $(TESTBINS)) - -# Set by autoconf -LDFLAGS = -L/usr/local/lib -L/usr/lib -CFLAGS = -g -O2 -Wall -CPPFLAGS = -I/usr/local/include -I/usr/include -I/usr/include/postgresql/internal -ODBC_CONFIG = /usr/local/bin/odbc_config -PROVE = prove - -LIBODBC := $(shell $(ODBC_CONFIG) --libs) - -all: $(TESTBINS) runsuite reset-db - -odbc.ini: - $(origdir)/odbcini-gen.sh $(odbc_ini_extras) - -installcheck: all odbc.ini reset-db runsuite - rm -f regression.diffs - @if test ! -d results; then mkdir -p results; fi - ODBCSYSINI=. ODBCINSTINI=./odbcinst.ini ODBCINI=./odbc.ini ./reset-db < $(origdir)/sampletables.sql -# If the perl 'prove' test running utility is available, use it. It produces -# nice output. But otherwise just run the plain suite, it's usable as is too. -ifdef PROVE - prove -e ./runsuite $(TESTNAMES) :: --inputdir=$(origdir) -else - ./runsuite $(TESTNAMES) --inputdir=$(origdir) -endif - -override CFLAGS += -Wno-pointer-sign $(CFLAGS_ADD) - -runsuite: runsuite.c - -reset-db: reset-db.c exe/common.o - $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(LIBODBC) - -exe/common.o: src/common.c - @if test ! -d exe; then mkdir -p exe; fi - $(COMPILE.c) -c $< -o $@ - -$(origdir)/src/wchar-char-test.c: $(wildcard $(origdir)/src/wchar-char-test-*.c) - @touch -c $@ - -# For each test, compile the .c file. -exe/%-test: src/%-test.c exe/common.o - $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $^ -o exe/$*-test $(LIBODBC) - -# This target runs the regression tests with all combinations of -# UseDeclareFetch, UseServerSidePrepare and Protocol options. -installcheck-all: - rm -f odbc.ini odbcinst.ini - $(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=0 UseServerSidePrepare=1 Protocol=7.4-2" - rm -f odbc.ini odbcinst.ini - $(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=0 UseServerSidePrepare=1 Protocol=7.4-1" - rm -f odbc.ini odbcinst.ini - $(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=0 UseServerSidePrepare=1 Protocol=7.4-0" - - rm -f odbc.ini odbcinst.ini - $(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=0 UseServerSidePrepare=0 Protocol=7.4-2" - rm -f odbc.ini odbcinst.ini - $(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=0 UseServerSidePrepare=0 Protocol=7.4-1" - rm -f odbc.ini odbcinst.ini - $(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=0 UseServerSidePrepare=0 Protocol=7.4-0" - - rm -f odbc.ini odbcinst.ini - $(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=1 UseServerSidePrepare=1 Protocol=7.4-2" - rm -f odbc.ini odbcinst.ini - $(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=1 UseServerSidePrepare=1 Protocol=7.4-1" - rm -f odbc.ini odbcinst.ini - $(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=1 UseServerSidePrepare=1 Protocol=7.4-0" - - rm -f odbc.ini odbcinst.ini - $(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=1 UseServerSidePrepare=0 Protocol=7.4-2" - rm -f odbc.ini odbcinst.ini - $(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=1 UseServerSidePrepare=0 Protocol=7.4-1" - rm -f odbc.ini odbcinst.ini - $(MAKE) installcheck odbc_ini_extras="UseDeclareFetch=1 UseServerSidePrepare=0 Protocol=7.4-0" - -clean: - rm -f $(TESTBINS) exe/*.o runsuite reset-db - rm -f results/* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/test/expected/positioned-update.out new/psqlodbc-10.02.0000/test/expected/positioned-update.out --- old/psqlodbc-10.01.0000/test/expected/positioned-update.out 2017-12-27 14:03:34.000000000 +0100 +++ new/psqlodbc-10.02.0000/test/expected/positioned-update.out 2018-03-30 15:35:01.000000000 +0200 @@ -1,6 +1,7 @@ connected Creating test table pos_update_test Opening a cursor for update, and fetching 10 rows +exec cursor_type=3 1 1 2 2 3 3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/test/expected/positioned-update_1.out new/psqlodbc-10.02.0000/test/expected/positioned-update_1.out --- old/psqlodbc-10.01.0000/test/expected/positioned-update_1.out 1970-01-01 01:00:00.000000000 +0100 +++ new/psqlodbc-10.02.0000/test/expected/positioned-update_1.out 2018-03-30 15:35:01.000000000 +0200 @@ -0,0 +1,31 @@ +connected +Creating test table pos_update_test +Opening a cursor for update, and fetching 10 rows +exec cursor_type=1 +1 1 +2 2 +3 3 +4 4 +5 5 + +Updating result set + +Re-fetching the rows in the result set +NULL NULL +105 5 +4 4 + +Querying the table again +Result set: +1 1 +2 2 +3 3 +4 4 +105 5 +7 7 +8 8 +9 9 +10 10 + +Opening a cursor for update, and fetching 5000 rows +disconnecting diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/test/src/positioned-update-test.c new/psqlodbc-10.02.0000/test/src/positioned-update-test.c --- old/psqlodbc-10.01.0000/test/src/positioned-update-test.c 2017-12-27 14:03:34.000000000 +0100 +++ new/psqlodbc-10.02.0000/test/src/positioned-update-test.c 2018-03-30 15:35:01.000000000 +0200 @@ -32,6 +32,7 @@ int rc; HSTMT hstmt = SQL_NULL_HSTMT; int i; + SQLUINTEGER cursor_type; SQLINTEGER colvalue; SQLLEN indColvalue; @@ -48,7 +49,7 @@ * Initialize a table with some test data. */ printf("Creating test table pos_update_test\n"); - rc = SQLExecDirect(hstmt, (SQLCHAR *) "CREATE TEMPORARY TABLE pos_update_test(i int4, orig int4)", SQL_NTS); + rc = SQLExecDirect(hstmt, (SQLCHAR *) "CREATE TEMPORARY TABLE pos_update_test(i int4, orig int4 primary key)", SQL_NTS); CHECK_STMT_RESULT(rc, "SQLExecDirect failed", hstmt); rc = SQLExecDirect(hstmt, (SQLCHAR *) "INSERT INTO pos_update_test SELECT g, g FROM generate_series(1, 10) g", SQL_NTS); CHECK_STMT_RESULT(rc, "SQLExecDirect failed", hstmt); @@ -71,6 +72,9 @@ rc = SQLExecDirect(hstmt, (SQLCHAR *) "SELECT * FROM pos_update_test ORDER BY orig", SQL_NTS); CHECK_STMT_RESULT(rc, "SQLExecDirect failed", hstmt); + rc = SQLGetStmtAttr(hstmt, SQL_ATTR_CURSOR_TYPE, (SQLPOINTER) &cursor_type, 0, NULL); + printf("exec cursor_type=%d\n", cursor_type); + for (i = 0; i < 5; i++) { rc = SQLFetch(hstmt); @@ -100,6 +104,9 @@ rc = SQLFetch(hstmt); CHECK_STMT_RESULT(rc, "SQLFetch failed", hstmt); + rc = SQLSetPos(hstmt, 1, SQL_REFRESH, SQL_LOCK_NO_CHANGE); + CHECK_STMT_RESULT(rc, "SQLSetPos REFRESH failed", hstmt); + rc = SQLSetPos(hstmt, 1, SQL_DELETE, SQL_LOCK_NO_CHANGE); CHECK_STMT_RESULT(rc, "SQLSetPos DELETE failed", hstmt); @@ -136,7 +143,8 @@ * * There was a bug in the reallocation in old driver versions. */ - rc = SQLExecDirect(hstmt, (SQLCHAR *) "INSERT INTO pos_update_test SELECT g, g FROM generate_series(1, 5000) g", SQL_NTS); + rc = SQLExecDirect(hstmt, (SQLCHAR *) "INSERT INTO pos_update_test SELECT g, g FROM generate_series(100, 5000) g", SQL_NTS); + CHECK_STMT_RESULT(rc, "SQLExecDirect failed", hstmt); rc = SQLFreeStmt(hstmt, SQL_CLOSE); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/version.h new/psqlodbc-10.02.0000/version.h --- old/psqlodbc-10.01.0000/version.h 2017-12-27 14:07:28.000000000 +0100 +++ new/psqlodbc-10.02.0000/version.h 2018-03-30 15:42:11.000000000 +0200 @@ -14,13 +14,13 @@ * and PG_DRVFILE_VERSION via winbuild/psqlodbc.vcxproj. */ #ifndef POSTGRESDRIVERVERSION -#define POSTGRESDRIVERVERSION "10.01.0000" +#define POSTGRESDRIVERVERSION "10.02.0000" #endif #ifndef POSTGRES_RESOURCE_VERSION #define POSTGRES_RESOURCE_VERSION POSTGRESDRIVERVERSION #endif #ifndef PG_DRVFILE_VERSION -#define PG_DRVFILE_VERSION 10,1,00,00 +#define PG_DRVFILE_VERSION 10,2,00,00 #endif #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-10.01.0000/winbuild/Psqlodbc-config.psm1 new/psqlodbc-10.02.0000/winbuild/Psqlodbc-config.psm1 --- old/psqlodbc-10.01.0000/winbuild/Psqlodbc-config.psm1 2017-12-27 14:03:34.000000000 +0100 +++ new/psqlodbc-10.02.0000/winbuild/Psqlodbc-config.psm1 2018-03-30 15:35:01.000000000 +0200 @@ -60,7 +60,7 @@ $configInfo.save($savePath) } -function unifyNodes([xml]$node1, [xml]$node2) +function unifyNodes($node1, $node2) { $attributes2 = $node2.get_Attributes() if ($attributes2.Count -gt 0)