Hello community, here is the log from the commit of package sqliteodbc for openSUSE:Leap:15.2 checked in at 2020-05-11 08:39:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/sqliteodbc (Old) and /work/SRC/openSUSE:Leap:15.2/.sqliteodbc.new.2738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sqliteodbc" Mon May 11 08:39:02 2020 rev:11 rq:801790 version:0.9996 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/sqliteodbc/sqliteodbc.changes 2020-01-15 16:03:49.379938263 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.sqliteodbc.new.2738/sqliteodbc.changes 2020-05-11 08:39:32.879050381 +0200 @@ -1,0 +2,13 @@ +Mon May 4 11:18:46 UTC 2020 - Martin Pluskal <[email protected]> + +- Adjust scriplets to resolve boo#1171041 CVE-2020-12050 + +------------------------------------------------------------------- +Mon Mar 18 07:43:43 UTC 2019 - Tuukka Pasanen <[email protected]> + +- Update to version 0.9996 + * update to SQLite 3.22.0 + * fixes in handling DDL in SQLExecDirect() et.al., thanks Andre Mikulec for testing + * cleanup utf8/unicode conversion functions + +------------------------------------------------------------------- Old: ---- sqliteodbc-0.9995.tar.gz New: ---- sqliteodbc-0.9996.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sqliteodbc.spec ++++++ --- /var/tmp/diff_new_pack.TZIcrO/_old 2020-05-11 08:39:33.435051585 +0200 +++ /var/tmp/diff_new_pack.TZIcrO/_new 2020-05-11 08:39:33.435051585 +0200 @@ -1,7 +1,7 @@ # # spec file for package sqliteodbc # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,17 +12,17 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: sqliteodbc -Version: 0.9995 +Version: 0.9996 Release: 0 Summary: ODBC driver for SQLite License: BSD-2-Clause Group: Development/Libraries/C and C++ -Url: http://www.ch-werner.de/sqliteodbc +URL: http://www.ch-werner.de/sqliteodbc Source0: http://www.ch-werner.de/sqliteodbc/%{name}-%{version}.tar.gz # This is not typical shared library but plugin for unixODBC Source1: %{name}-rpmlintrc @@ -36,7 +36,6 @@ Requires: unixODBC Requires(post): unixODBC Requires(preun): unixODBC -BuildRoot: %{_tmppath}/%{name}-%{version}-build %description ODBC driver for SQLite interfacing SQLite 3.x using the @@ -63,7 +62,7 @@ %build %configure \ --enable-static=no -make %{?_smp_mflags} all doxy +%make_build all doxy dos2unix README %install @@ -72,44 +71,80 @@ find %{buildroot} -type f \( -name '*.a' -o -name '*.la' \) -delete -print %post +/sbin/ldconfig if [ -x %{_bindir}/odbcinst ] ; then - INST=/tmp/sqliteinst$$ + INST=$(%{_bindir}/mktemp) + + if [ -r %{_libdir}/libsqliteodbc.so ] ; then + %{_bindir}/cat > $INST <<- 'EOD' + [SQLITE] + Description=SQLite ODBC 2.X + Driver=%{_libdir}/libsqliteodbc.so + Setup=%{_libdir}/libsqliteodbc.so + Threading=2 + FileUsage=1 + EOD + + %{_bindir}/odbcinst -q -d -n SQLITE | %{_bindir}/grep '^\[SQLITE\]' >/dev/null || { + %{_bindir}/odbcinst -i -d -n SQLITE -f $INST || true + } + + %{_bindir}/cat > $INST <<- 'EOD' + [SQLite Datasource] + Driver=SQLITE + EOD + + %{_bindir}/odbcinst -q -s -n "SQLite Datasource" | \ + %{_bindir}/grep '^\[SQLite Datasource\]' >/dev/null || { + %{_bindir}/odbcinst -i -l -s -n "SQLite Datasource" -f $INST || true + } + fi + if [ -r %{_libdir}/libsqlite3odbc.so ] ; then - cat > $INST << 'EOD' -[SQLITE3] -Description=SQLite ODBC 3.X -Driver=%{_libdir}/libsqlite3odbc.so -Setup=%{_libdir}/libsqlite3odbc.so -Threading=2 -FileUsage=1 -EOD - %{_bindir}/odbcinst -q -d -n SQLITE3 | grep '^\[SQLITE3\]' >/dev/null || { + %{_bindir}/cat > $INST <<- 'EOD' + [SQLITE3] + Description=SQLite ODBC 3.X + Driver=%{_libdir}/libsqlite3odbc.so + Setup=%{_libdir}/libsqlite3odbc.so + Threading=2 + FileUsage=1 + EOD + + %{_bindir}/odbcinst -q -d -n SQLITE3 | %{_bindir}/grep '^\[SQLITE3\]' >/dev/null || { %{_bindir}/odbcinst -i -d -n SQLITE3 -f $INST || true } - cat > $INST << 'EOD' -[SQLite3 Datasource] -Driver=SQLITE3 -EOD + + %{_bindir}/cat > $INST <<- 'EOD' + [SQLite3 Datasource] + Driver=SQLITE3 + EOD + %{_bindir}/odbcinst -q -s -n "SQLite3 Datasource" | \ - grep '^\[SQLite3 Datasource\]' >/dev/null || { + %{_bindir}/grep '^\[SQLite3 Datasource\]' >/dev/null || { %{_bindir}/odbcinst -i -l -s -n "SQLite3 Datasource" -f $INST || true } fi - rm -f $INST || true + + %{_bindir}/rm -f $INST || true fi %preun if [ "$1" = "0" ] ; then test -x %{_bindir}/odbcinst && { + %{_bindir}/odbcinst -u -d -n SQLITE || true + %{_bindir}/odbcinst -u -l -s -n "SQLite Datasource" || true %{_bindir}/odbcinst -u -d -n SQLITE3 || true %{_bindir}/odbcinst -u -l -s -n "SQLite3 Datasource" || true } + true fi +%postun -p /sbin/ldconfig + %files -%defattr(-, root, root) -%doc README license.terms ChangeLog +%license license.terms +%doc README ChangeLog %{_libdir}/libsqlite3_mod_blobtoxy-%{version}.so %{_libdir}/libsqlite3_mod_blobtoxy.so %{_libdir}/libsqlite3_mod_csvtable-%{version}.so @@ -124,8 +159,8 @@ %{_libdir}/libsqlite3odbc.so %files doc -%defattr(-, root, root) -%doc README license.terms ChangeLog +%license license.terms +%doc README ChangeLog %doc html %changelog ++++++ sqliteodbc-0.9995.tar.gz -> sqliteodbc-0.9996.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqliteodbc-0.9995/ChangeLog new/sqliteodbc-0.9996/ChangeLog --- old/sqliteodbc-0.9995/ChangeLog 2016-12-01 06:41:00.000000000 +0100 +++ new/sqliteodbc-0.9996/ChangeLog 2018-02-24 10:29:38.000000000 +0100 @@ -1,6 +1,13 @@ SQLite ODBC Driver ------------------ +Sat Feb 24 2018 version 0.9996 released + + * update to SQLite 3.22.0 + * fixes in handling DDL in SQLExecDirect() et.al., thanks + Andre Mikulec for testing + * cleanup utf8/unicode conversion functions + Tue Dec 01 2016 version 0.9995 released * update to SQLite 3.15.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqliteodbc-0.9995/README new/sqliteodbc-0.9996/README --- old/sqliteodbc-0.9995/README 2016-12-01 06:14:16.000000000 +0100 +++ new/sqliteodbc-0.9996/README 2018-02-24 10:30:07.000000000 +0100 @@ -13,7 +13,7 @@ http://www.ch-werner.de/sqliteodbc/sqliteodbc.exe -The binaries were made with SQLite 2.8.17, SQLite 3.15.2, MingW +The binaries were made with SQLite 2.8.17, SQLite 3.22.0, MingW cross compiler and tested on Windows NT 4.0 with the query tool of MS Excel 97, with StarOffice 5.2 and OpenOffice 1.1 and 2.x. Execute the sqliteodbc.exe NSIS installer to unpack the necessary @@ -26,7 +26,7 @@ can be specified in the respective field. If empty a default value of 100000 milliseconds is used. -The Win64 installer (sqliteodbc_w64.exe) was made with SQLite 3.15.2, +The Win64 installer (sqliteodbc_w64.exe) was made with SQLite 3.22.0, MingW cross compiler and only rudimentary tested on Windows Vista 64. Other tests were made on Linux with the "isql" command line tool @@ -395,7 +395,7 @@ - improve documentation -2016-12-01 +2018-02-24 Christian Werner mailto:[email protected] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqliteodbc-0.9995/VERSION new/sqliteodbc-0.9996/VERSION --- old/sqliteodbc-0.9995/VERSION 2016-12-01 06:14:30.000000000 +0100 +++ new/sqliteodbc-0.9996/VERSION 2017-06-10 09:17:50.000000000 +0200 @@ -1 +1 @@ -0.9995 +0.9996 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqliteodbc-0.9995/debian/changelog new/sqliteodbc-0.9996/debian/changelog --- old/sqliteodbc-0.9995/debian/changelog 2016-12-01 06:41:38.000000000 +0100 +++ new/sqliteodbc-0.9996/debian/changelog 2018-02-24 10:30:57.000000000 +0100 @@ -1,6 +1,6 @@ -sqliteodbc (0.9995-1) unstable; urgency=low +sqliteodbc (0.9996-1) unstable; urgency=low * automatically recreated by configure - -- Christian Werner <[email protected]> Thu, 01 Dec 2016 06:41:36 +0100 + -- Christian Werner <[email protected]> Sat, 24 Feb 2018 10:30:55 +0100 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqliteodbc-0.9995/mingw-cross-build.sh new/sqliteodbc-0.9996/mingw-cross-build.sh --- old/sqliteodbc-0.9995/mingw-cross-build.sh 2016-12-01 02:11:08.000000000 +0100 +++ new/sqliteodbc-0.9996/mingw-cross-build.sh 2018-02-24 10:33:50.000000000 +0100 @@ -25,8 +25,8 @@ set -e VER2=2.8.17 -VER3=3.15.2 -VER3X=3150200 +VER3=3.22.0 +VER3X=3220000 VERZ=1.2.8 TCCVER=0.9.26 @@ -272,7 +272,7 @@ echo "Preparing sqlite3 ..." echo "=====================" test -r sqlite-src-${VER3X}.zip || \ - wget -c http://www.sqlite.org/2014/sqlite-src-${VER3X}.zip \ + wget -c http://www.sqlite.org/2018/sqlite-src-${VER3X}.zip \ --no-check-certificate test -r sqlite-src-${VER3X}.zip || exit 1 test -r extension-functions.c || @@ -290,6 +290,35 @@ unzip sqlite-src-${VER3X}.zip ln -sf sqlite-src-${VER3X} sqlite3 +test "$VER3" = "3.22.0" \ + && patch sqlite3/tool/mkshellc.tcl <<'EOD' +--- sqlite3.orig/tool/mksheelc.tcl 2018-01-22 19:57:25.000000000 +0100 ++++ sqlite3/tool/mksheelc.tcl 2018-02-21 19:25:44.000000000 +0100 +@@ -29,7 +29,7 @@ + ** edit the src/shell.c.in" and/or some of the other files that are included + ** by "src/shell.c.in", then rerun the tool/mkshellc.tcl script. + */} +-set in [open $topdir/src/shell.c.in rb] ++set in [open $topdir/src/shell.c.in r] + proc omit_redundant_typedefs {line} { + global typedef_seen + if {[regexp {^typedef .*;} $line]} { +@@ -46,7 +46,7 @@ + if {[regexp {^INCLUDE } $lx]} { + set cfile [lindex $lx 1] + puts $out "/************************* Begin $cfile ******************/" +- set in2 [open $topdir/src/$cfile rb] ++ set in2 [open $topdir/src/$cfile r] + while {![eof $in2]} { + set lx [omit_redundant_typedefs [gets $in2]] + if {[regexp {^#include "sqlite} $lx]} continue +EOD + +test -r sqlite3/tool/mkshellc.tcl && \ + sed -i -e 's/ rb/ r/g' sqlite3/tool/mkshellc.tcl +test -r sqlite3/src/shell.c.in && + ( cd sqlite3/src ; tclsh ../tool/mkshellc.tcl > shell.c ) + patch sqlite3/main.mk <<'EOD' --- sqlite3.orig/main.mk 2007-03-31 14:32:21.000000000 +0200 +++ sqlite3/main.mk 2007-04-02 11:04:50.000000000 +0200 @@ -380,7 +409,8 @@ -a "$VER3" != "3.9.1" -a "$VER3" != "3.9.2" -a "$VER3" != "3.10.0" \ -a "$VER3" != "3.10.2" -a "$VER3" != "3.12.2" -a "$VER3" != "3.13.0" \ -a "$VER3" != "3.14.0" -a "$VER3" != "3.14.1" -a "$VER3" != "3.15.0" \ - -a "$VER3" != "3.15.1" -a "$VER3" != "3.15.2" \ + -a "$VER3" != "3.15.1" -a "$VER3" != "3.15.2" -a "$VER3" != "3.19.3" \ + -a "$VER3" != "3.22.0" \ && patch sqlite3/src/libshell.c <<'EOD' --- sqlite3.orig/src/libshell.c 2007-01-08 23:40:05.000000000 +0100 +++ sqlite3/src/libshell.c 2007-01-10 18:35:43.000000000 +0100 @@ -563,8 +593,26 @@ #else EOD +test "$VER3" = "3.22.0" \ + && patch sqlite3/src/os_win.h <<'EOD' +--- sqlite3.orig/src/os_win.h 2018-01-22 19:57:25.000000000 +0100 ++++ sqlite3/src/os_win.h 2018-02-21 21:13:46.000000000 +0100 +@@ -22,8 +22,9 @@ + + #ifdef __CYGWIN__ + # include <sys/cygwin.h> +-# include <errno.h> /* amalgamator: dontcache */ + #endif ++#include <sys/stat.h> /* amalgamator: dontcache */ ++#include <errno.h> /* amalgamator: dontcache */ + + /* + ** Determine if we are dealing with Windows NT. +EOD + test "$VER3" = "3.13.0" -o "$VER3" = "3.14.0" -o "$VER3" = "3.14.1" \ -o "$VER3" = "3.15.0" -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.19.3" -o "$VER3" = "3.22.0" \ && patch sqlite3/src/libshell.c <<'EOD' --- sqlite3.orig/src/libshell.c.orig 2016-05-18 13:06:59.000000000 +0200 +++ sqlite3/src/libshell.c 2016-06-04 17:02:05.000000000 +0200 @@ -702,7 +750,8 @@ -a "$VER3" != "3.9.1" -a "$VER3" != "3.9.2" -a "$VER3" != "3.10.0" \ -a "$VER3" != "3.10.2" -a "$VER3" != "3.12.2" -a "$VER3" != "3.13.0" \ -a "$VER3" != "3.14.0" -a "$VER3" != "3.14.1" -a "$VER3" != "3.15.0" \ - -a "$VER3" != "3.15.1" -a "$VER3" != "3.15.2" \ + -a "$VER3" != "3.15.1" -a "$VER3" != "3.15.2" -a "$VER3" != "3.19.3" \ + -a "$VER3" != "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' diff -u sqlite3.orig/src/build.c sqlite3/src/build.c --- sqlite3.orig/src/build.c 2007-01-09 14:53:04.000000000 +0100 @@ -766,14 +815,14 @@ -a "$VER3" != "3.9.2" -a "$VER3" != "3.10.0" -a "$VER3" != "3.10.2" \ -a "$VER3" != "3.12.2" -a "$VER3" != "3.13.0" -a "$VER3" != "3.14.0" \ -a "$VER3" != "3.14.1" -a "$VER3" != "3.15.0" -a "$VER3" != "3.15.1" \ - -a "$VER3" != "3.15.2" \ + -a "$VER3" != "3.15.2" -a "$VER3" != "3.19.3" -a "$VER3" != "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' diff -u sqlite3.orig/src/tclsqlite.c sqlite3/src/tclsqlite.c --- sqlite3.orig/src/tclsqlite.c 2007-04-06 17:02:14.000000000 +0200 +++ sqlite3/src/tclsqlite.c 2007-04-10 07:47:49.000000000 +0200 @@ -14,6 +14,7 @@ ** - ** $Id: mingw-cross-build.sh,v 1.106 2016/12/01 01:11:03 chw Exp chw $ + ** $Id: mingw-cross-build.sh,v 1.107 2018/02/24 09:33:40 chw Exp chw $ */ +#ifndef NO_TCL /* Omit this whole file if TCL is unavailable */ #include "tcl.h" @@ -792,7 +841,7 @@ -o "$VER3" = "3.9.2" -o "$VER3" = "3.10.0" -o "$VER3" = "3.10.2" \ -o "$VER3" = "3.12.2" -o "$VER3" = "3.13.0" -o "$VER3" = "3.14.0" \ -o "$VER3" = "3.14.1" -o "$VER3" = "3.15.0" -o "$VER3" = "3.15.1" \ - -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.15.2" -o "$VER3" = "3.19.3" -o "$VER3" = "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/src/tclsqlite.c 2015-01-16 14:47:26.000000000 +0100 +++ sqlite3/src/tclsqlite.c 2015-01-19 17:56:26.517386413 +0100 @@ -964,7 +1013,8 @@ -a "$VER3" != "3.9.1" -a "$VER3" != "3.9.2" -a "$VER3" != "3.10.0" \ -a "$VER3" != "3.10.2" -a "$VER3" != "3.12.2" -a "$VER3" != "3.13.0" \ -a "$VER3" != "3.14.0" -a "$VER3" != "3.14.1" -a "$VER3" != "3.15.0" \ - -a "$VER3" != "3.15.1" -a "$VER3" != "3.15.2" \ + -a "$VER3" != "3.15.1" -a "$VER3" != "3.15.2" -a "$VER3" != "3.19.3" \ + -a "$VER3" != "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/ext/fts3/fts3.c 2008-02-02 17:24:34.000000000 +0100 +++ sqlite3/ext/fts3/fts3.c 2008-03-16 11:29:02.000000000 +0100 @@ -1062,6 +1112,7 @@ -a "$VER3" != "3.10.0" -a "$VER3" != "3.10.2" -a "$VER3" != "3.12.2" \ -a "$VER3" != "3.13.0" -a "$VER3" != "3.14.0" -a "$VER3" != "3.14.1" \ -a "$VER3" != "3.15.0" -a "$VER3" != "3.15.1" -a "$VER3" != "3.15.2" \ + -a "$VER3" != "3.19.3" -a "$VER3" != "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/ext/fts3/fts3_hash.c 2007-11-24 01:41:52.000000000 +0100 +++ sqlite3/ext/fts3/fts3_hash.c 2008-03-16 11:39:57.000000000 +0100 @@ -1409,7 +1460,8 @@ -a "$VER3" != "3.9.1" -a "$VER3" != "3.9.2" -a "$VER3" != "3.10.0" \ -a "$VER3" != "3.10.2" -a "$VER3" != "3.12.2" -a "$VER3" != "3.13.0" \ -a "$VER3" != "3.14.0" -a "$VER3" != "3.14.1" -a "$VER3" != "3.15.0" \ - -a "$VER3" != "3.15.1" -a "$VER3" != "3.15.2" \ + -a "$VER3" != "3.15.1" -a "$VER3" != "3.15.2" -a "$VER3" != "3.19.3" \ + -a "$VER3" != "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/ext/rtree/rtree.c 2008-07-16 16:43:35.000000000 +0200 +++ sqlite3/ext/rtree/rtree.c 2008-07-17 08:59:53.000000000 +0200 @@ -1491,7 +1543,8 @@ -o "$VER3" = "3.9.1" -o "$VER3" = "3.9.2" -o "$VER3" = "3.10.0" \ -o "$VER3" = "3.10.2" -o "$VER3" = "3.12.2" -o "$VER3" = "3.13.0" \ -o "$VER3" = "3.14.0" -o "$VER3" = "3.14.1" -o "$VER3" = "3.15.0" \ - -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" -o "$VER3" = "3.19.3" \ + -o "$VER3" = "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/ext/fts3/fts3_aux.c 2011-06-24 09:06:08.000000000 +0200 +++ sqlite3/ext/fts3/fts3_aux.c 2011-06-25 06:44:08.000000000 +0200 @@ -1546,6 +1599,7 @@ -o "$VER3" = "3.10.0" -o "$VER3" = "3.10.2" -o "$VER3" = "3.12.2" \ -o "$VER3" = "3.13.0" -o "$VER3" = "3.14.0" -o "$VER3" = "3.14.1" \ -o "$VER3" = "3.15.0" -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.19.3" -o "$VER3" = "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/ext/fts3/fts3.c 2011-09-19 20:46:52.000000000 +0200 +++ sqlite3/ext/fts3/fts3.c 2011-09-20 09:47:40.000000000 +0200 @@ -1584,7 +1638,8 @@ -o "$VER3" = "3.9.1" -o "$VER3" = "3.9.2" -o "$VER3" = "3.10.0" \ -o "$VER3" = "3.10.2" -o "$VER3" = "3.12.2" -o "$VER3" = "3.13.0" \ -o "$VER3" = "3.14.0" -o "$VER3" = "3.14.1" -o "$VER3" = "3.15.0" \ - -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" -o "$VER3" = "3.19.3" \ + -o "$VER3" = "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/ext/fts3/fts3_expr.c 2011-06-24 09:06:08.000000000 +0200 +++ sqlite3/ext/fts3/fts3_expr.c 2011-06-25 06:47:00.000000000 +0200 @@ -1744,7 +1799,8 @@ -o "$VER3" = "3.9.1" -o "$VER3" = "3.9.2" -o "$VER3" = "3.10.0" \ -o "$VER3" = "3.10.2" -o "$VER3" = "3.12.2" -o "$VER3" = "3.13.0" \ -o "$VER3" = "3.14.0" -o "$VER3" = "3.14.1" -o "$VER3" = "3.15.0" \ - -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" -o "$VER3" = "3.19.3" \ + -o "$VER3" = "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/src/loadext.c 2013-09-16 06:56:48.000000000 +0200 +++ sqlite3/src/loadext.c 2013-09-16 06:58:14.000000000 +0200 @@ -1773,6 +1829,7 @@ -o "$VER3" = "3.10.0" -o "$VER3" = "3.10.2" -o "$VER3" = "3.12.2" \ -o "$VER3" = "3.13.0" -o "$VER3" = "3.14.0" -o "$VER3" = "3.14.1" \ -o "$VER3" = "3.15.0" -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.19.3" -o "$VER3" = "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/ext/fts3/fts3.c 2014-03-26 10:26:28.000000000 +0100 +++ sqlite3/ext/fts3/fts3.c 2014-03-26 16:54:39.000000000 +0100 @@ -1793,7 +1850,8 @@ -o "$VER3" = "3.9.1" -o "$VER3" = "3.9.2" -o "$VER3" = "3.10.0" \ -o "$VER3" = "3.10.2" -o "$VER3" = "3.12.2" -o "$VER3" = "3.13.0" \ -o "$VER3" = "3.14.0" -o "$VER3" = "3.14.1" -o "$VER3" = "3.15.0" \ - -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" -o "$VER3" = "3.19.3" \ + -o "$VER3" = "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/src/threads.c 2014-10-17 13:38:27.000000000 +0200 +++ sqlite3/src/threads.c 2014-10-26 13:40:26.000000000 +0100 @@ -1812,6 +1870,7 @@ -o "$VER3" = "3.10.0" -o "$VER3" = "3.10.2" -o "$VER3" = "3.12.2" \ -o "$VER3" = "3.13.0" -o "$VER3" = "3.14.0" -o "$VER3" = "3.14.1" \ -o "$VER3" = "3.15.0" -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.19.3" -o "$VER3" = "3.22.0" \ && patch sqlite3/ext/fts5/tool/mkfts5c.tcl <<'EOD' --- mkfts5c.tcl.orig 2015-10-14 14:53:26.000000000 +0200 +++ mkfts5c.tcl 2015-10-15 08:19:25.000000000 +0200 @@ -1831,6 +1890,7 @@ test "$VER3" = "3.10.0" -o "$VER3" = "3.10.2" -o "$VER3" = "3.12.2" \ -o "$VER3" = "3.13.0" -o "$VER3" = "3.14.0" -o "$VER3" = "3.14.1" \ -o "$VER3" = "3.15.0" -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.19.3" -o "$VER3" = "3.22.0" \ && perl -pi -e 's/ rb\]/ r\]/g' sqlite3/tool/mkopcodec.tcl \ sqlite3/tool/tostr.tcl sqlite3/tool/addopcodes.tcl @@ -1914,7 +1974,7 @@ -o "$VER3" = "3.9.2" -o "$VER3" = "3.10.0" -o "$VER3" = "3.10.2" \ -o "$VER3" = "3.12.2" -o "$VER3" = "3.13.0" -o "$VER3" = "3.14.0" \ -o "$VER3" = "3.14.1" -o "$VER3" = "3.15.0" -o "$VER3" = "3.15.1" \ - -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.15.2" -o "$VER3" = "3.19.3" -o "$VER3" = "3.22.0" \ && patch sqlite3/sqlite3.c <<'EOD' --- sqlite3.c.orig 2015-09-18 17:17:58.000000000 +0200 +++ sqlite3.c 2015-09-18 17:50:01.000000000 +0200 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqliteodbc-0.9995/mingw64-cross-build.sh new/sqliteodbc-0.9996/mingw64-cross-build.sh --- old/sqliteodbc-0.9995/mingw64-cross-build.sh 2016-12-01 02:11:09.000000000 +0100 +++ new/sqliteodbc-0.9996/mingw64-cross-build.sh 2018-02-24 10:33:51.000000000 +0100 @@ -23,8 +23,8 @@ set -e VER2=2.8.17 -VER3=3.15.2 -VER3X=3150200 +VER3=3.22.0 +VER3X=3220000 VERZ=1.2.8 nov2=false @@ -261,7 +261,7 @@ echo "Preparing sqlite3 ..." echo "=====================" test -r sqlite-src-${VER3X}.zip || \ - wget -c http://www.sqlite.org/2014/sqlite-src-${VER3X}.zip \ + wget -c http://www.sqlite.org/2018/sqlite-src-${VER3X}.zip \ --no-check-certificate test -r sqlite-src-${VER3X}.zip || exit 1 test -r extension-functions.c || @@ -279,6 +279,35 @@ unzip sqlite-src-${VER3X}.zip ln -sf sqlite-src-${VER3X} sqlite3 +test "$VER3" = "3.22.0" \ + && patch sqlite3/tool/mkshellc.tcl <<'EOD' +--- sqlite3.orig/tool/mksheelc.tcl 2018-01-22 19:57:25.000000000 +0100 ++++ sqlite3/tool/mksheelc.tcl 2018-02-21 19:25:44.000000000 +0100 +@@ -29,7 +29,7 @@ + ** edit the src/shell.c.in" and/or some of the other files that are included + ** by "src/shell.c.in", then rerun the tool/mkshellc.tcl script. + */} +-set in [open $topdir/src/shell.c.in rb] ++set in [open $topdir/src/shell.c.in r] + proc omit_redundant_typedefs {line} { + global typedef_seen + if {[regexp {^typedef .*;} $line]} { +@@ -46,7 +46,7 @@ + if {[regexp {^INCLUDE } $lx]} { + set cfile [lindex $lx 1] + puts $out "/************************* Begin $cfile ******************/" +- set in2 [open $topdir/src/$cfile rb] ++ set in2 [open $topdir/src/$cfile r] + while {![eof $in2]} { + set lx [omit_redundant_typedefs [gets $in2]] + if {[regexp {^#include "sqlite} $lx]} continue +EOD + +test -r sqlite3/tool/mkshellc.tcl && \ + sed -i -e 's/ rb/ r/g' sqlite3/tool/mkshellc.tcl +test -r sqlite3/src/shell.c.in && + ( cd sqlite3/src ; tclsh ../tool/mkshellc.tcl > shell.c ) + patch sqlite3/main.mk <<'EOD' --- sqlite3.orig/main.mk 2007-03-31 14:32:21.000000000 +0200 +++ sqlite3/main.mk 2007-04-02 11:04:50.000000000 +0200 @@ -369,7 +398,8 @@ -a "$VER3" != "3.9.1" -a "$VER3" != "3.9.2" -a "$VER3" != "3.10.0" \ -a "$VER3" != "3.10.2" -a "$VER3" != "3.12.2" -a "$VER3" != "3.13.0" \ -a "$VER3" != "3.14.0" -a "$VER3" != "3.14.1" -a "$VER3" != "3.15.0" \ - -a "$VER3" != "3.15.1" -a "$VER3" != "3.15.2" \ + -a "$VER3" != "3.15.1" -a "$VER3" != "3.15.2" -a "$VER3" != "3.19.3" \ + -a "$VER3" != "3.22.0" \ && patch sqlite3/src/libshell.c <<'EOD' --- sqlite3.orig/src/libshell.c 2007-01-08 23:40:05.000000000 +0100 +++ sqlite3/src/libshell.c 2007-01-10 18:35:43.000000000 +0100 @@ -552,8 +582,26 @@ #else EOD +test "$VER3" = "3.22.0" \ + && patch sqlite3/src/os_win.h <<'EOD' +--- sqlite3.orig/src/os_win.h 2018-01-22 19:57:25.000000000 +0100 ++++ sqlite3/src/os_win.h 2018-02-21 21:13:46.000000000 +0100 +@@ -22,8 +22,9 @@ + + #ifdef __CYGWIN__ + # include <sys/cygwin.h> +-# include <errno.h> /* amalgamator: dontcache */ + #endif ++#include <sys/stat.h> /* amalgamator: dontcache */ ++#include <errno.h> /* amalgamator: dontcache */ + + /* + ** Determine if we are dealing with Windows NT. +EOD + test "$VER3" = "3.13.0" -o "$VER3" = "3.14.0" -o "$VER3" = "3.14.1" \ -o "$VER3" = "3.15.0" -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.19.3" -o "$VER3" = "3.22.0" \ && patch sqlite3/src/libshell.c <<'EOD' --- sqlite3.orig/src/libshell.c.orig 2016-05-18 13:06:59.000000000 +0200 +++ sqlite3/src/libshell.c 2016-06-04 17:02:05.000000000 +0200 @@ -691,7 +739,8 @@ -a "$VER3" != "3.9.1" -a "$VER3" != "3.9.2" -a "$VER3" != "3.10.0" \ -a "$VER3" != "3.10.2" -a "$VER3" != "3.12.2" -a "$VER3" != "3.13.0" \ -a "$VER3" != "3.14.0" -a "$VER3" != "3.14.1" -a "$VER3" != "3.15.0" \ - -a "$VER3" != "3.15.1" -a "$VER3" != "3.15.2" \ + -a "$VER3" != "3.15.1" -a "$VER3" != "3.15.2" -a "$VER3" != "3.19.3" \ + -a "$VER3" != "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' diff -u sqlite3.orig/src/build.c sqlite3/src/build.c --- sqlite3.orig/src/build.c 2007-01-09 14:53:04.000000000 +0100 @@ -755,14 +804,14 @@ -a "$VER3" != "3.9.2" -a "$VER3" != "3.10.0" -a "$VER3" != "3.10.2" \ -a "$VER3" != "3.12.2" -a "$VER3" != "3.13.0" -a "$VER3" != "3.14.0" \ -a "$VER3" != "3.14.1" -a "$VER3" != "3.15.0" -a "$VER3" != "3.15.1" \ - -a "$VER3" != "3.15.2" \ + -a "$VER3" != "3.15.2" -a "$VER3" != "3.19.3" -a "$VER3" != "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' diff -u sqlite3.orig/src/tclsqlite.c sqlite3/src/tclsqlite.c --- sqlite3.orig/src/tclsqlite.c 2007-04-06 17:02:14.000000000 +0200 +++ sqlite3/src/tclsqlite.c 2007-04-10 07:47:49.000000000 +0200 @@ -14,6 +14,7 @@ ** - ** $Id: mingw64-cross-build.sh,v 1.66 2016/12/01 01:11:03 chw Exp chw $ + ** $Id: mingw64-cross-build.sh,v 1.67 2018/02/24 09:33:40 chw Exp chw $ */ +#ifndef NO_TCL /* Omit this whole file if TCL is unavailable */ #include "tcl.h" @@ -781,7 +830,7 @@ -o "$VER3" = "3.9.2" -o "$VER3" = "3.10.0" -o "$VER3" = "3.10.2" \ -o "$VER3" = "3.12.2" -o "$VER3" = "3.13.0" -o "$VER3" = "3.14.0" \ -o "$VER3" = "3.14.1" -o "$VER3" = "3.15.0" -o "$VER3" = "3.15.1" \ - -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.15.2" -o "$VER3" = "3.19.3" -o "$VER3" = "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/src/tclsqlite.c 2015-01-16 14:47:26.000000000 +0100 +++ sqlite3/src/tclsqlite.c 2015-01-19 17:56:26.517386413 +0100 @@ -953,7 +1002,8 @@ -a "$VER3" != "3.9.1" -a "$VER3" != "3.9.2" -a "$VER3" != "3.10.0" \ -a "$VER3" != "3.10.2" -a "$VER3" != "3.12.2" -a "$VER3" != "3.13.0" \ -a "$VER3" != "3.14.0" -a "$VER3" != "3.14.1" -a "$VER3" != "3.15.0" \ - -a "$VER3" != "3.15.1" -a "$VER3" != "3.15.2" \ + -a "$VER3" != "3.15.1" -a "$VER3" != "3.15.2" -a "$VER3" != "3.19.3" \ + -a "$VER3" != "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/ext/fts3/fts3.c 2008-02-02 17:24:34.000000000 +0100 +++ sqlite3/ext/fts3/fts3.c 2008-03-16 11:29:02.000000000 +0100 @@ -1104,6 +1154,7 @@ -a "$VER3" != "3.10.0" -a "$VER3" != "3.10.2" -a "$VER3" != "3.12.2" \ -a "$VER3" != "3.13.0" -a "$VER3" != "3.14.0" -a "$VER3" != "3.14.1" \ -a "$VER3" != "3.15.0" -a "$VER3" != "3.15.1" -a "$VER3" != "3.15.2" \ + -a "$VER3" != "3.19.3" -a "$VER3" != "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/ext/fts3/fts3_hash.c 2007-11-24 01:41:52.000000000 +0100 +++ sqlite3/ext/fts3/fts3_hash.c 2008-03-16 11:39:57.000000000 +0100 @@ -1451,7 +1502,8 @@ -a "$VER3" != "3.9.1" -a "$VER3" != "3.9.2" -a "$VER3" != "3.10.0" \ -a "$VER3" != "3.10.2" -a "$VER3" != "3.12.2" -a "$VER3" != "3.13.0" \ -a "$VER3" != "3.14.0" -a "$VER3" != "3.14.1" -a "$VER3" != "3.15.0" \ - -a "$VER3" != "3.15.1" -a "$VER3" != "3.15.2" \ + -a "$VER3" != "3.15.1" -a "$VER3" != "3.15.2" -a "$VER3" != "3.19.3" \ + -a "$VER3" != "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/ext/rtree/rtree.c 2008-07-16 16:43:35.000000000 +0200 +++ sqlite3/ext/rtree/rtree.c 2008-07-17 08:59:53.000000000 +0200 @@ -1533,7 +1585,8 @@ -o "$VER3" = "3.9.1" -o "$VER3" = "3.9.2" -o "$VER3" = "3.10.0" \ -o "$VER3" = "3.10.2" -o "$VER3" = "3.12.2" -o "$VER3" = "3.13.0" \ -o "$VER3" = "3.14.0" -o "$VER3" = "3.14.1" -o "$VER3" = "3.15.0" \ - -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" -o "$VER3" = "3.19.3" \ + -o "$VER3" = "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/ext/fts3/fts3_aux.c 2011-06-24 09:06:08.000000000 +0200 +++ sqlite3/ext/fts3/fts3_aux.c 2011-06-25 06:44:08.000000000 +0200 @@ -1588,6 +1641,7 @@ -o "$VER3" = "3.10.0" -o "$VER3" = "3.10.2" -o "$VER3" = "3.12.2" \ -o "$VER3" = "3.13.0" -o "$VER3" = "3.14.0" -o "$VER3" = "3.14.1" \ -o "$VER3" = "3.15.0" -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.19.3" -o "$VER3" = "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/ext/fts3/fts3.c 2011-09-19 20:46:52.000000000 +0200 +++ sqlite3/ext/fts3/fts3.c 2011-09-20 09:47:40.000000000 +0200 @@ -1626,7 +1680,8 @@ -o "$VER3" = "3.9.1" -o "$VER3" = "3.9.2" -o "$VER3" = "3.10.0" \ -o "$VER3" = "3.10.2" -o "$VER3" = "3.12.2" -o "$VER3" = "3.13.0" \ -o "$VER3" = "3.14.0" -o "$VER3" = "3.14.1" -o "$VER3" = "3.15.0" \ - -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" -o "$VER3" = "3.19.3" \ + -o "$VER3" = "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/ext/fts3/fts3_expr.c 2011-06-24 09:06:08.000000000 +0200 +++ sqlite3/ext/fts3/fts3_expr.c 2011-06-25 06:47:00.000000000 +0200 @@ -1786,7 +1841,8 @@ -o "$VER3" = "3.9.1" -o "$VER3" = "3.9.2" -o "$VER3" = "3.10.0" \ -o "$VER3" = "3.10.2" -o "$VER3" = "3.12.2" -o "$VER3" = "3.13.0" \ -o "$VER3" = "3.14.0" -o "$VER3" = "3.14.1" -o "$VER3" = "3.15.0" \ - -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" -o "$VER3" = "3.19.3" \ + -o "$VER3" = "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/src/loadext.c 2013-09-16 06:56:48.000000000 +0200 +++ sqlite3/src/loadext.c 2013-09-16 06:58:14.000000000 +0200 @@ -1815,6 +1871,7 @@ -o "$VER3" = "3.10.0" -o "$VER3" = "3.10.2" -o "$VER3" = "3.12.2" \ -o "$VER3" = "3.13.0" -o "$VER3" = "3.14.0" -o "$VER3" = "3.14.1" \ -o "$VER3" = "3.15.0" -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.19.3" -o "$VER3" = "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/ext/fts3/fts3.c 2014-03-26 10:26:28.000000000 +0100 +++ sqlite3/ext/fts3/fts3.c 2014-03-26 16:54:39.000000000 +0100 @@ -1835,7 +1892,8 @@ -o "$VER3" = "3.9.1" -o "$VER3" = "3.9.2" -o "$VER3" = "3.10.0" \ -o "$VER3" = "3.10.2" -o "$VER3" = "3.12.2" -o "$VER3" = "3.13.0" \ -o "$VER3" = "3.14.0" -o "$VER3" = "3.14.1" -o "$VER3" = "3.15.0" \ - -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" -o "$VER3" = "3.19.3" \ + -o "$VER3" = "3.22.0" \ && patch -d sqlite3 -p1 <<'EOD' --- sqlite3.orig/src/threads.c 2014-10-17 13:38:27.000000000 +0200 +++ sqlite3/src/threads.c 2014-10-26 13:40:26.000000000 +0100 @@ -1854,6 +1912,7 @@ -o "$VER3" = "3.10.0" -o "$VER3" = "3.10.2" -o "$VER3" = "3.12.2" \ -o "$VER3" = "3.13.0" -o "$VER3" = "3.14.0" -o "$VER3" = "3.14.1" \ -o "$VER3" = "3.15.0" -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.19.3" -o "$VER3" = "3.22.0" \ && patch sqlite3/ext/fts5/tool/mkfts5c.tcl <<'EOD' --- mkfts5c.tcl.orig 2015-10-14 14:53:26.000000000 +0200 +++ mkfts5c.tcl 2015-10-15 08:19:25.000000000 +0200 @@ -1873,6 +1932,7 @@ test "$VER3" = "3.10.0" -o "$VER3" = "3.10.2" -o "$VER3" = "3.12.2" \ -o "$VER3" = "3.13.0" -o "$VER3" = "3.14.0" -o "$VER3" = "3.14.1" \ -o "$VER3" = "3.15.0" -o "$VER3" = "3.15.1" -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.19.3" -o "$VER3" = "3.22.0" \ && perl -pi -e 's/ rb\]/ r\]/g' sqlite3/tool/mkopcodec.tcl \ sqlite3/tool/tostr.tcl sqlite3/tool/addopcodes.tcl @@ -1954,7 +2014,7 @@ -o "$VER3" = "3.9.2" -o "$VER3" = "3.10.0" -o "$VER3" = "3.10.2" \ -o "$VER3" = "3.12.2" -o "$VER3" = "3.13.0" -o "$VER3" = "3.14.0" \ -o "$VER3" = "3.14.1" -o "$VER3" = "3.15.0" -o "$VER3" = "3.15.1" \ - -o "$VER3" = "3.15.2" \ + -o "$VER3" = "3.15.2" -o "$VER3" = "3.19.3" -o "$VER3" = "3.22.0" \ && patch sqlite3/sqlite3.c <<'EOD' --- sqlite3.c.orig 2015-09-18 17:17:58.000000000 +0200 +++ sqlite3.c 2015-09-18 17:50:01.000000000 +0200 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqliteodbc-0.9995/sqlite+tcc.c new/sqliteodbc-0.9996/sqlite+tcc.c --- old/sqliteodbc-0.9995/sqlite+tcc.c 2016-07-18 06:15:34.000000000 +0200 +++ new/sqliteodbc-0.9996/sqlite+tcc.c 2018-02-21 21:33:25.000000000 +0100 @@ -149,7 +149,11 @@ SYM(rollback_hook), SYM(set_authorizer), SYM(set_auxdata), +#if SQLITE_VERSION_NUMBER >= 3022000 + SYM2(snprintf, xsnprintf), +#else SYM(snprintf), +#endif SYM(step), SYM(table_column_metadata), SYM(thread_cleanup), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqliteodbc-0.9995/sqlite3odbc.c new/sqliteodbc-0.9996/sqlite3odbc.c --- old/sqliteodbc-0.9995/sqlite3odbc.c 2016-11-30 19:09:32.000000000 +0100 +++ new/sqliteodbc-0.9996/sqlite3odbc.c 2018-02-24 10:33:25.000000000 +0100 @@ -2,9 +2,9 @@ * @file sqlite3odbc.c * SQLite3 ODBC Driver main module. * - * $Id: sqlite3odbc.c,v 1.176 2016/11/20 19:00:52 chw Exp chw $ + * $Id: sqlite3odbc.c,v 1.177 2018/02/24 09:32:47 chw Exp chw $ * - * Copyright (c) 2004-2016 Christian Werner <[email protected]> + * Copyright (c) 2004-2018 Christian Werner <[email protected]> * * See the file "license.terms" for information on usage * and redistribution of this file and for a @@ -910,28 +910,6 @@ uc[i++] = c; ++str; } - } else if (c < 0xfc) { - if ((str[1] & 0xc0) == 0x80 && (str[2] & 0xc0) == 0x80 && - (str[3] & 0xc0) == 0x80 && (str[4] & 0xc0) == 0x80) { - unsigned long t = ((c & 0x01) << 24) | - ((str[1] & 0x3f) << 18) | ((str[2] & 0x3f) << 12) | - ((str[3] & 0x3f) << 6) | (str[4] & 0x3f); - - if (sizeof (SQLWCHAR) == 2 * sizeof (char) && - t >= 0x10000) { - t -= 0x10000; - uc[i++] = 0xd800 | ((t >> 10) & 0x3ff); - if (i >= ucLen) { - break; - } - t = 0xdc00 | (t & 0x3ff); - } - uc[i++] = t; - str += 5; - } else { - uc[i++] = c; - ++str; - } } else { /* ignore */ ++str; @@ -1024,24 +1002,11 @@ *cp++ = 0xe0 | ((c >> 12) & 0x0f); *cp++ = 0x80 | ((c >> 6) & 0x3f); *cp++ = 0x80 | (c & 0x3f); - } else if (c < 0x200000) { + } else if (c <= 0x10ffff) { *cp++ = 0xf0 | ((c >> 18) & 0x07); *cp++ = 0x80 | ((c >> 12) & 0x3f); *cp++ = 0x80 | ((c >> 6) & 0x3f); *cp++ = 0x80 | (c & 0x3f); - } else if (c < 0x4000000) { - *cp++ = 0xf8 | ((c >> 24) & 0x03); - *cp++ = 0x80 | ((c >> 18) & 0x3f); - *cp++ = 0x80 | ((c >> 12) & 0x3f); - *cp++ = 0x80 | ((c >> 6) & 0x3f); - *cp++ = 0x80 | (c & 0x3f); - } else if (c < 0x80000000) { - *cp++ = 0xfc | ((c >> 31) & 0x01); - *cp++ = 0x80 | ((c >> 24) & 0x3f); - *cp++ = 0x80 | ((c >> 18) & 0x3f); - *cp++ = 0x80 | ((c >> 12) & 0x3f); - *cp++ = 0x80 | ((c >> 6) & 0x3f); - *cp++ = 0x80 | (c & 0x3f); } } *cp = '\0'; @@ -2497,6 +2462,54 @@ } /** + * Check if query is a DDL statement. + * @param sql query string + * @result true or false + */ + +static int +checkddl(char *sql) +{ + int isddl = 0; + + while (*sql && ISSPACE(*sql)) { + ++sql; + } + if (*sql && *sql != ';') { + int i, size; + static const struct { + int len; + const char *str; + } ddlstr[] = { + { 5, "alter" }, + { 7, "analyze" }, + { 6, "attach" }, + { 5, "begin" }, + { 6, "commit" }, + { 6, "create" }, + { 6, "detach" }, + { 4, "drop" }, + { 3, "end" }, + { 7, "reindex" }, + { 7, "release" }, + { 8, "rollback" }, + { 9, "savepoint" }, + { 6, "vacuum" } + }; + + size = strlen(sql); + for (i = 0; i < array_size(ddlstr); i++) { + if (size >= ddlstr[i].len && + strncasecmp(sql, ddlstr[i].str, ddlstr[i].len) == 0) { + isddl = 1; + break; + } + } + } + return isddl; +} + +/** * Fixup query string with optional parameter markers. * @param sql original query string * @param sqlLen length of query string or SQL_NTS @@ -2569,46 +2582,7 @@ case ';': if (!inq) { if (isddl < 0) { - char *qq = out; - - while (*qq && ISSPACE(*qq)) { - ++qq; - } - if (*qq && *qq != ';') { - int i; - static const struct { - int len; - const char *str; - } ddlstr[] = { - { 5, "alter" }, - { 7, "analyze" }, - { 6, "attach" }, - { 5, "begin" }, - { 6, "commit" }, - { 6, "create" }, - { 6, "detach" }, - { 4, "drop" }, - { 3, "end" }, - { 7, "reindex" }, - { 7, "release" }, - { 8, "rollback" }, - { 9, "savepoint" }, - { 6, "vacuum" } - }; - - size = strlen(qq); - for (i = 0; i < array_size(ddlstr); i++) { - if (size >= ddlstr[i].len && - strncasecmp(qq, ddlstr[i].str, ddlstr[i].len) - == 0) { - isddl = 1; - break; - } - } - if (isddl != 1) { - isddl = 0; - } - } + isddl = checkddl(out); } if (isddl == 0) { char *qq = q; @@ -2715,6 +2689,9 @@ *nparam = np; } if (isselect) { + if (isddl < 0) { + isddl = checkddl(out); + } if (isddl > 0) { *isselect = 2; } else { @@ -8403,10 +8380,21 @@ #endif switch (attr) { case SQL_ATTR_CONNECTION_POOLING: - ret = SQL_ERROR; + if (val) { + *((SQLINTEGER *) val) = e->pool ? + SQL_CP_ONE_PER_DRIVER : SQL_CP_OFF; + } + if (lenp) { + *lenp = sizeof (SQLINTEGER); + } + ret = SQL_SUCCESS; break; case SQL_ATTR_CP_MATCH: - ret = SQL_NO_DATA; + *((SQLINTEGER *) val) = SQL_CP_RELAXED_MATCH; + if (lenp) { + *lenp = sizeof (SQLINTEGER); + } + ret = SQL_SUCCESS; break; case SQL_ATTR_OUTPUT_NTS: if (val) { @@ -8460,10 +8448,16 @@ #endif switch (attr) { case SQL_ATTR_CONNECTION_POOLING: - ret = SQL_SUCCESS; + if (val == (SQLPOINTER) SQL_CP_ONE_PER_DRIVER) { + e->pool = 1; + ret = SQL_SUCCESS; + } else if (val == (SQLPOINTER) SQL_CP_OFF) { + e->pool = 0; + ret = SQL_SUCCESS; + } break; case SQL_ATTR_CP_MATCH: - ret = SQL_NO_DATA; + ret = SQL_SUCCESS; break; case SQL_ATTR_OUTPUT_NTS: if (val == (SQLPOINTER) SQL_TRUE) { @@ -8477,8 +8471,7 @@ if (val == (SQLPOINTER) SQL_OV_ODBC2) { e->ov3 = 0; ret = SQL_SUCCESS; - } - if (val == (SQLPOINTER) SQL_OV_ODBC3) { + } else if (val == (SQLPOINTER) SQL_OV_ODBC3) { e->ov3 = 1; ret = SQL_SUCCESS; } @@ -11704,6 +11697,7 @@ } e->magic = ENV_MAGIC; e->ov3 = 0; + e->pool = 0; #if defined(_WIN32) || defined(_WIN64) InitializeCriticalSection(&e->cs); #else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqliteodbc-0.9995/sqlite3odbc.h new/sqliteodbc-0.9996/sqlite3odbc.h --- old/sqliteodbc-0.9995/sqlite3odbc.h 2016-08-14 12:08:37.000000000 +0200 +++ new/sqliteodbc-0.9996/sqlite3odbc.h 2018-02-24 10:33:26.000000000 +0100 @@ -15,9 +15,9 @@ * @file sqlite3odbc.h * Header file for SQLite3 ODBC driver. * - * $Id: sqlite3odbc.h,v 1.48 2016/08/14 10:08:33 chw Exp chw $ + * $Id: sqlite3odbc.h,v 1.49 2018/02/24 09:32:47 chw Exp chw $ * - * Copyright (c) 2004-2016 Christian Werner <[email protected]> + * Copyright (c) 2004-2018 Christian Werner <[email protected]> * * See the file "license.terms" for information on usage * and redistribution of this file and for a @@ -96,6 +96,7 @@ typedef struct { int magic; /**< Magic cookie */ int ov3; /**< True for SQL_OV_ODBC3 */ + int pool; /**< True for SQL_CP_ONE_PER_DRIVER */ #if defined(_WIN32) || defined(_WIN64) CRITICAL_SECTION cs; /**< For serializing most APIs */ #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqliteodbc-0.9995/sqlite4odbc.c new/sqliteodbc-0.9996/sqlite4odbc.c --- old/sqliteodbc-0.9995/sqlite4odbc.c 2016-11-30 19:09:33.000000000 +0100 +++ new/sqliteodbc-0.9996/sqlite4odbc.c 2018-02-24 10:33:28.000000000 +0100 @@ -2,9 +2,9 @@ * @file sqlite4odbc.c * SQLite4 ODBC Driver main module. * - * $Id: sqlite4odbc.c,v 1.21 2016/11/20 19:00:52 chw Exp chw $ + * $Id: sqlite4odbc.c,v 1.22 2018/02/24 09:32:47 chw Exp chw $ * - * Copyright (c) 2014-2016 Christian Werner <[email protected]> + * Copyright (c) 2014-2018 Christian Werner <[email protected]> * * See the file "license.terms" for information on usage * and redistribution of this file and for a @@ -883,31 +883,6 @@ uc[i++] = c; ++str; } - } else if (c < 0xfc) { - if ((str[1] & 0xc0) == 0x80 && (str[2] & 0xc0) == 0x80 && - (str[3] & 0xc0) == 0x80 && (str[4] & 0xc0) == 0x80) { - unsigned long t = ((c & 0x01) << 24) | - ((str[1] & 0x3f) << 18) | ((str[2] & 0x3f) << 12) | - ((str[3] & 0x3f) << 6) | (str[4] & 0x3f); - - if (sizeof (SQLWCHAR) == 2 * sizeof (char) && - t >= 0x10000) { - t -= 0x10000; - uc[i++] = 0xd800 | ((t >> 10) & 0x3ff); - if (i >= ucLen) { - break; - } - t = 0xdc00 | (t & 0x3ff); - } - uc[i++] = t; - str += 5; - } else { - uc[i++] = c; - ++str; - } - } else { - /* ignore */ - ++str; } } if (i < ucLen) { @@ -997,24 +972,11 @@ *cp++ = 0xe0 | ((c >> 12) & 0x0f); *cp++ = 0x80 | ((c >> 6) & 0x3f); *cp++ = 0x80 | (c & 0x3f); - } else if (c < 0x200000) { + } else if (c <= 0x10ffff) { *cp++ = 0xf0 | ((c >> 18) & 0x07); *cp++ = 0x80 | ((c >> 12) & 0x3f); *cp++ = 0x80 | ((c >> 6) & 0x3f); *cp++ = 0x80 | (c & 0x3f); - } else if (c < 0x4000000) { - *cp++ = 0xf8 | ((c >> 24) & 0x03); - *cp++ = 0x80 | ((c >> 18) & 0x3f); - *cp++ = 0x80 | ((c >> 12) & 0x3f); - *cp++ = 0x80 | ((c >> 6) & 0x3f); - *cp++ = 0x80 | (c & 0x3f); - } else if (c < 0x80000000) { - *cp++ = 0xfc | ((c >> 31) & 0x01); - *cp++ = 0x80 | ((c >> 24) & 0x3f); - *cp++ = 0x80 | ((c >> 18) & 0x3f); - *cp++ = 0x80 | ((c >> 12) & 0x3f); - *cp++ = 0x80 | ((c >> 6) & 0x3f); - *cp++ = 0x80 | (c & 0x3f); } } *cp = '\0'; @@ -2482,6 +2444,54 @@ } /** + * Check if query is a DDL statement. + * @param sql query string + * @result true or false + */ + +static int +checkddl(char *sql) +{ + int isddl = 0; + + while (*sql && ISSPACE(*sql)) { + ++sql; + } + if (*sql && *sql != ';') { + int i, size; + static const struct { + int len; + const char *str; + } ddlstr[] = { + { 5, "alter" }, + { 7, "analyze" }, + { 6, "attach" }, + { 5, "begin" }, + { 6, "commit" }, + { 6, "create" }, + { 6, "detach" }, + { 4, "drop" }, + { 3, "end" }, + { 7, "reindex" }, + { 7, "release" }, + { 8, "rollback" }, + { 9, "savepoint" }, + { 6, "vacuum" } + }; + + size = strlen(sql); + for (i = 0; i < array_size(ddlstr); i++) { + if (size >= ddlstr[i].len && + strncasecmp(sql, ddlstr[i].str, ddlstr[i].len) == 0) { + isddl = 1; + break; + } + } + } + return isddl; +} + +/** * Fixup query string with optional parameter markers. * @param sql original query string * @param sqlLen length of query string or SQL_NTS @@ -2552,46 +2562,7 @@ case ';': if (!inq) { if (isddl < 0) { - char *qq = out; - - while (*qq && ISSPACE(*qq)) { - ++qq; - } - if (*qq && *qq != ';') { - int i; - static const struct { - int len; - const char *str; - } ddlstr[] = { - { 5, "alter" }, - { 7, "analyze" }, - { 6, "attach" }, - { 5, "begin" }, - { 6, "commit" }, - { 6, "create" }, - { 6, "detach" }, - { 4, "drop" }, - { 3, "end" }, - { 7, "reindex" }, - { 7, "release" }, - { 8, "rollback" }, - { 9, "savepoint" }, - { 6, "vacuum" } - }; - - size = strlen(qq); - for (i = 0; i < array_size(ddlstr); i++) { - if (size >= ddlstr[i].len && - strncasecmp(qq, ddlstr[i].str, ddlstr[i].len) - == 0) { - isddl = 1; - break; - } - } - if (isddl != 1) { - isddl = 0; - } - } + isddl = checkddl(out); } if (isddl == 0) { char *qq = q; @@ -2698,6 +2669,9 @@ *nparam = np; } if (isselect) { + if (isddl < 0) { + isddl = checkddl(out); + } if (isddl > 0) { *isselect = 2; } else { @@ -7956,10 +7930,21 @@ #endif switch (attr) { case SQL_ATTR_CONNECTION_POOLING: - ret = SQL_ERROR; + if (val) { + *((SQLINTEGER *) val) = e->pool ? + SQL_CP_ONE_PER_DRIVER : SQL_CP_OFF; + } + if (lenp) { + *lenp = sizeof (SQLINTEGER); + } + ret = SQL_SUCCESS; break; case SQL_ATTR_CP_MATCH: - ret = SQL_NO_DATA; + *((SQLINTEGER *) val) = SQL_CP_RELAXED_MATCH; + if (lenp) { + *lenp = sizeof (SQLINTEGER); + } + ret = SQL_SUCCESS; break; case SQL_ATTR_OUTPUT_NTS: if (val) { @@ -8013,10 +7998,16 @@ #endif switch (attr) { case SQL_ATTR_CONNECTION_POOLING: - ret = SQL_SUCCESS; + if (val == (SQLPOINTER) SQL_CP_ONE_PER_DRIVER) { + e->pool = 1; + ret = SQL_SUCCESS; + } else if (val == (SQLPOINTER) SQL_CP_OFF) { + e->pool = 0; + ret = SQL_SUCCESS; + } break; case SQL_ATTR_CP_MATCH: - ret = SQL_NO_DATA; + ret = SQL_SUCCESS; break; case SQL_ATTR_OUTPUT_NTS: if (val == (SQLPOINTER) SQL_TRUE) { @@ -8030,8 +8021,7 @@ if (val == (SQLPOINTER) SQL_OV_ODBC2) { e->ov3 = 0; ret = SQL_SUCCESS; - } - if (val == (SQLPOINTER) SQL_OV_ODBC3) { + } else if (val == (SQLPOINTER) SQL_OV_ODBC3) { e->ov3 = 1; ret = SQL_SUCCESS; } @@ -11086,6 +11076,7 @@ } e->magic = ENV_MAGIC; e->ov3 = 0; + e->pool = 0; #if defined(_WIN32) || defined(_WIN64) InitializeCriticalSection(&e->cs); #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqliteodbc-0.9995/sqlite4odbc.h new/sqliteodbc-0.9996/sqlite4odbc.h --- old/sqliteodbc-0.9995/sqlite4odbc.h 2016-08-14 12:08:37.000000000 +0200 +++ new/sqliteodbc-0.9996/sqlite4odbc.h 2018-02-24 10:33:29.000000000 +0100 @@ -15,9 +15,9 @@ * @file sqlite4odbc.h * Header file for SQLite4 ODBC driver. * - * $Id: sqlite4odbc.h,v 1.7 2016/08/14 10:08:33 chw Exp chw $ + * $Id: sqlite4odbc.h,v 1.8 2018/02/24 09:32:47 chw Exp chw $ * - * Copyright (c) 2013-2016 Christian Werner <[email protected]> + * Copyright (c) 2013-2018 Christian Werner <[email protected]> * * See the file "license.terms" for information on usage * and redistribution of this file and for a @@ -96,6 +96,7 @@ typedef struct { int magic; /**< Magic cookie */ int ov3; /**< True for SQL_OV_ODBC3 */ + int pool; /**< True for SQL_CP_ONE_PER_DRIVER */ #if defined(_WIN32) || defined(_WIN64) CRITICAL_SECTION cs; /**< For serializing most APIs */ #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqliteodbc-0.9995/sqliteodbc.c new/sqliteodbc-0.9996/sqliteodbc.c --- old/sqliteodbc-0.9995/sqliteodbc.c 2016-11-30 19:09:33.000000000 +0100 +++ new/sqliteodbc-0.9996/sqliteodbc.c 2018-02-24 10:33:27.000000000 +0100 @@ -2,9 +2,9 @@ * @file sqliteodbc.c * SQLite ODBC Driver main module. * - * $Id: sqliteodbc.c,v 1.222 2016/11/20 19:00:52 chw Exp chw $ + * $Id: sqliteodbc.c,v 1.223 2018/02/24 09:32:47 chw Exp chw $ * - * Copyright (c) 2001-2016 Christian Werner <[email protected]> + * Copyright (c) 2001-2018 Christian Werner <[email protected]> * OS/2 Port Copyright (c) 2004 Lorne R. Sunley <[email protected]> * * See the file "license.terms" for information on usage @@ -546,28 +546,6 @@ uc[i++] = c; ++str; } - } else if (c < 0xfc) { - if ((str[1] & 0xc0) == 0x80 && (str[2] & 0xc0) == 0x80 && - (str[3] & 0xc0) == 0x80 && (str[4] & 0xc0) == 0x80) { - unsigned long t = ((c & 0x01) << 24) | - ((str[1] & 0x3f) << 18) | ((str[2] & 0x3f) << 12) | - ((str[3] & 0x3f) << 6) | (str[4] & 0x3f); - - if (sizeof (SQLWCHAR) == 2 * sizeof (char) && - t >= 0x10000) { - t -= 0x10000; - uc[i++] = 0xd800 | ((t >> 10) & 0x3ff); - if (i >= ucLen) { - break; - } - t = 0xdc00 | (t & 0x3ff); - } - uc[i++] = t; - str += 5; - } else { - uc[i++] = c; - ++str; - } } else { /* ignore */ ++str; @@ -660,24 +638,11 @@ *cp++ = 0xe0 | ((c >> 12) & 0x0f); *cp++ = 0x80 | ((c >> 6) & 0x3f); *cp++ = 0x80 | (c & 0x3f); - } else if (c < 0x200000) { + } else if (c <= 0x10ffff) { *cp++ = 0xf0 | ((c >> 18) & 0x07); *cp++ = 0x80 | ((c >> 12) & 0x3f); *cp++ = 0x80 | ((c >> 6) & 0x3f); *cp++ = 0x80 | (c & 0x3f); - } else if (c < 0x4000000) { - *cp++ = 0xf8 | ((c >> 24) & 0x03); - *cp++ = 0x80 | ((c >> 18) & 0x3f); - *cp++ = 0x80 | ((c >> 12) & 0x3f); - *cp++ = 0x80 | ((c >> 6) & 0x3f); - *cp++ = 0x80 | (c & 0x3f); - } else if (c < 0x80000000) { - *cp++ = 0xfc | ((c >> 31) & 0x01); - *cp++ = 0x80 | ((c >> 24) & 0x3f); - *cp++ = 0x80 | ((c >> 18) & 0x3f); - *cp++ = 0x80 | ((c >> 12) & 0x3f); - *cp++ = 0x80 | ((c >> 6) & 0x3f); - *cp++ = 0x80 | (c & 0x3f); } } *cp = '\0'; @@ -1651,6 +1616,49 @@ return type; } + /** + * Check if query is a DDL statement. + * @param sql query string + * @result true or false + */ + +static int +checkddl(char *sql) +{ + int isddl = 0; + + while (*sql && ISSPACE(*sql)) { + ++sql; + } + if (*sql && *sql != ';') { + int i, size; + static const struct { + int len; + const char *str; + } ddlstr[] = { + { 6, "attach" }, + { 5, "begin" }, + { 6, "commit" }, + { 6, "create" }, + { 6, "detach" }, + { 4, "drop" }, + { 3, "end" }, + { 8, "rollback" }, + { 6, "vacuum" } + }; + + size = strlen(sql); + for (i = 0; i < array_size(ddlstr); i++) { + if (size >= ddlstr[i].len && + strncasecmp(sql, ddlstr[i].str, ddlstr[i].len) == 0) { + isddl = 1; + break; + } + } + } + return isddl; +} + /** * Fixup query string with optional parameter markers. * @param sql original query string @@ -1755,41 +1763,7 @@ case ';': if (!inq) { if (isddl < 0) { - char *qq = out; - - while (*qq && ISSPACE(*qq)) { - ++qq; - } - if (*qq && *qq != ';') { - int i; - static const struct { - int len; - const char *str; - } ddlstr[] = { - { 6, "attach" }, - { 5, "begin" }, - { 6, "commit" }, - { 6, "create" }, - { 6, "detach" }, - { 4, "drop" }, - { 3, "end" }, - { 8, "rollback" }, - { 6, "vacuum" } - }; - - size = strlen(qq); - for (i = 0; i < array_size(ddlstr); i++) { - if (size >= ddlstr[i].len && - strncasecmp(qq, ddlstr[i].str, ddlstr[i].len) - == 0) { - isddl = 1; - break; - } - } - if (isddl != 1) { - isddl = 0; - } - } + isddl = checkddl(out); } if (isddl == 0) { char *qq = q; @@ -1884,6 +1858,9 @@ *nparam = np; } if (isselect) { + if (isddl < 0) { + isddl = checkddl(out); + } if (isddl > 0) { *isselect = 2; } else { @@ -6647,10 +6624,21 @@ #endif switch (attr) { case SQL_ATTR_CONNECTION_POOLING: - ret = SQL_ERROR; + if (val) { + *((SQLINTEGER *) val) = e->pool ? + SQL_CP_ONE_PER_DRIVER : SQL_CP_OFF; + } + if (lenp) { + *lenp = sizeof (SQLINTEGER); + } + ret = SQL_SUCCESS; break; case SQL_ATTR_CP_MATCH: - ret = SQL_NO_DATA; + *((SQLINTEGER *) val) = SQL_CP_RELAXED_MATCH; + if (lenp) { + *lenp = sizeof (SQLINTEGER); + } + ret = SQL_SUCCESS; break; case SQL_ATTR_OUTPUT_NTS: if (val) { @@ -6704,10 +6692,16 @@ #endif switch (attr) { case SQL_ATTR_CONNECTION_POOLING: - ret = SQL_SUCCESS; + if (val == (SQLPOINTER) SQL_CP_ONE_PER_DRIVER) { + e->pool = 1; + ret = SQL_SUCCESS; + } else if (val == (SQLPOINTER) SQL_CP_OFF) { + e->pool = 0; + ret = SQL_SUCCESS; + } break; case SQL_ATTR_CP_MATCH: - ret = SQL_NO_DATA; + ret = SQL_SUCCESS; break; case SQL_ATTR_OUTPUT_NTS: if (val == (SQLPOINTER) SQL_TRUE) { @@ -6722,8 +6716,7 @@ if (val == (SQLPOINTER) SQL_OV_ODBC2) { e->ov3 = 0; ret = SQL_SUCCESS; - } - if (val == (SQLPOINTER) SQL_OV_ODBC3) { + } else if (val == (SQLPOINTER) SQL_OV_ODBC3) { e->ov3 = 1; ret = SQL_SUCCESS; } @@ -8691,6 +8684,7 @@ } e->magic = ENV_MAGIC; e->ov3 = 0; + e->pool = 0; #if defined(_WIN32) || defined(_WIN64) InitializeCriticalSection(&e->cs); #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqliteodbc-0.9995/sqliteodbc.h new/sqliteodbc-0.9996/sqliteodbc.h --- old/sqliteodbc-0.9995/sqliteodbc.h 2016-08-14 12:08:38.000000000 +0200 +++ new/sqliteodbc-0.9996/sqliteodbc.h 2018-02-24 10:33:27.000000000 +0100 @@ -15,9 +15,9 @@ * @file sqliteodbc.h * Header file for SQLite ODBC driver. * - * $Id: sqliteodbc.h,v 1.64 2016/08/14 10:08:33 chw Exp chw $ + * $Id: sqliteodbc.h,v 1.65 2018/02/24 09:32:47 chw Exp chw $ * - * Copyright (c) 2001-2016 Christian Werner <[email protected]> + * Copyright (c) 2001-2018 Christian Werner <[email protected]> * * See the file "license.terms" for information on usage * and redistribution of this file and for a @@ -111,6 +111,7 @@ typedef struct { int magic; /**< Magic cookie */ int ov3; /**< True for SQL_OV_ODBC3 */ + int pool; /**< True for SQL_CP_ONE_PER_DRIVER */ #if defined(_WIN32) || defined(_WIN64) CRITICAL_SECTION cs; /**< For serializing most APIs */ #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqliteodbc-0.9995/sqliteodbc.spec new/sqliteodbc-0.9996/sqliteodbc.spec --- old/sqliteodbc-0.9995/sqliteodbc.spec 2016-12-01 06:41:38.000000000 +0100 +++ new/sqliteodbc-0.9996/sqliteodbc.spec 2018-02-24 10:30:57.000000000 +0100 @@ -1,5 +1,5 @@ %define name sqliteodbc -%define version 0.9995 +%define version 0.9996 %define release 1 Name: %{name} @@ -102,5 +102,5 @@ %{_libdir}/*.so* %changelog -* Thu Dec 01 2016 ... +* Sat Feb 24 2018 ... - automatically recreated by configure ...
