Hello community, here is the log from the commit of package psqlODBC for openSUSE:Factory checked in at 2019-06-01 09:51:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/psqlODBC (Old) and /work/SRC/openSUSE:Factory/.psqlODBC.new.5148 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "psqlODBC" Sat Jun 1 09:51:47 2019 rev:25 rq:706223 version:11.01.0000 Changes: -------- --- /work/SRC/openSUSE:Factory/psqlODBC/psqlODBC.changes 2019-03-26 22:33:25.397691291 +0100 +++ /work/SRC/openSUSE:Factory/.psqlODBC.new.5148/psqlODBC.changes 2019-06-01 09:51:48.779276902 +0200 @@ -1,0 +2,24 @@ +Mon May 27 06:10:16 UTC 2019 - [email protected] + +- Cleanup with spec-cleaner +- Update to 11.01.0000: + * Correct the rgbInfoValue returned by + SQLGetInfo(SQL_TIMEDATE_FUNCTIONS, ..). + * Because the field 'relhasoids' was dropped in PG12, psqlodbc + drivers would have some troubles with PG12 servers. + * Register drivers {PostgreSQL ANSI} and {PostgreSQL Unicode} + during installation on 64bit Windows so that users could use + the same connection strings in both x86 and x64 environments. + * Correct the rgbInfoValue returned b + SQLGetInfo(SQL_LIKE_ESCAPE_CLAUSE, ..). + * Fix a typo in SQLForeignKeys-ResultSet-Column. 'deferrablity' + should be 'DEFERRABILITY'. + * Correct the rgbInfoValue returned by + SQLGetInfo(.., SQL_NUMERIC_FUNCTIONS(SQL_SYSTEM_FUNCTIONS + or SQL_STRING_FUNCTIONS, ..). + * Bug fix: don't forget to set parameter numbers while handling + escaped ODBC functions. + * ix test_connection() in setup.c so that settings of + conn_settings and pqopt option are reflected properly. + +------------------------------------------------------------------- Old: ---- psqlodbc-11.00.0000.tar.gz New: ---- psqlodbc-11.01.0000.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ psqlODBC.spec ++++++ --- /var/tmp/diff_new_pack.SvMxrc/_old 2019-06-01 09:51:49.431276680 +0200 +++ /var/tmp/diff_new_pack.SvMxrc/_new 2019-06-01 09:51:49.435276678 +0200 @@ -12,33 +12,32 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# Please submit bugfixes or comments via http://bugs.opensuse.org/ # +%define tarname psqlodbc Name: psqlODBC +Version: 11.01.0000 +Release: 0 +Summary: ODBC Driver for PostgreSQL +License: LGPL-2.1-or-later +Group: Productivity/Databases/Clients +URL: https://odbc.postgresql.org/ +Source0: https://ftp.postgresql.org/pub/odbc/versions/src/%{tarname}-%{version}.tar.gz +Patch0: psqlODBC-internal.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool BuildRequires: openssl-devel BuildRequires: postgresql-devel BuildRequires: unixODBC-devel -Url: https://odbc.postgresql.org/ -%define tarname psqlodbc -Summary: ODBC Driver for PostgreSQL -License: LGPL-2.1-or-later -Group: Productivity/Databases/Clients -Version: 11.00.0000 -Release: 0 -Source0: https://ftp.postgresql.org/pub/odbc/versions/src/%tarname-%{version}.tar.gz -Patch0: psqlODBC-internal.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-build -PreReq: /usr/bin/odbcinst -Obsoletes: pg_odbc < %version-%release -Obsoletes: postgresql-odbc < %version-%release -Provides: pg_iface:/usr/lib/pgsql/odbcinst.ini -Provides: pg_odbc = %version-%release -Provides: postgresql-odbc = %version-%release +PreReq: %{_bindir}/odbcinst +Obsoletes: pg_odbc < %{version}-%{release} +Obsoletes: postgresql-odbc < %{version}-%{release} +Provides: pg_iface:%{_prefix}/lib/pgsql/odbcinst.ini +Provides: pg_odbc = %{version}-%{release} +Provides: postgresql-odbc = %{version}-%{release} %description This package contains the ODBC (Open DataBase Connectivity) driver and @@ -46,29 +45,29 @@ PostgreSQL database using ODBC. %prep -%setup -q -n %tarname-%version -%patch0 -p0 +%setup -q -n %{tarname}-%{version} +%patch0 %build export CPPFLAGS="-I/usr/include/pgsql" %configure --with-unixodbc -make +make %{?_smp_mflags} %install -make DESTDIR=%buildroot install -rm -f %buildroot%_libdir/*.la +%make_install +find %{buildroot} -type f -name "*.la" -delete -print %post /sbin/ldconfig # odbcinst uses reference counting, so we don't # need to take care for the update case here. -odbcinst -i -l -d %_libdir/psqlodbcw.so -r <<EOF +odbcinst -i -l -d %{_libdir}/psqlodbcw.so -r <<EOF [PSQL] Description = PostgreSQL %ifarch x86_64 ppc64 ia64 s390x -Driver64 = %_libdir/psqlodbcw.so +Driver64 = %{_libdir}/psqlodbcw.so %else -Driver = %_libdir/psqlodbcw.so +Driver = %{_libdir}/psqlodbcw.so %endif EOF @@ -76,11 +75,10 @@ /sbin/ldconfig # odbcinst uses reference counting, so we don't # need to take care for the update case here. -odbcinst -u -l -d %_libdir/psqlodbcw.so -n PSQL +odbcinst -u -l -d %{_libdir}/psqlodbcw.so -n PSQL %files -%defattr(-,root,root,-) %doc *.txt docs/* -%_libdir/psql* +%{_libdir}/psql* %changelog ++++++ psqlodbc-11.00.0000.tar.gz -> psqlodbc-11.01.0000.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-11.00.0000/configure new/psqlodbc-11.01.0000/configure --- old/psqlodbc-11.00.0000/configure 2018-11-17 14:04:36.000000000 +0100 +++ new/psqlodbc-11.01.0000/configure 2019-05-24 15:44:44.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 11.00.0000. +# Generated by GNU Autoconf 2.69 for psqlodbc 11.01.0000. # # Report bugs to <[email protected]>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='psqlodbc' PACKAGE_TARNAME='psqlodbc' -PACKAGE_VERSION='11.00.0000' -PACKAGE_STRING='psqlodbc 11.00.0000' +PACKAGE_VERSION='11.01.0000' +PACKAGE_STRING='psqlodbc 11.01.0000' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='' @@ -1325,7 +1325,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 11.00.0000 to adapt to many kinds of systems. +\`configure' configures psqlodbc 11.01.0000 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1395,7 +1395,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of psqlodbc 11.00.0000:";; + short | recursive ) echo "Configuration of psqlodbc 11.01.0000:";; esac cat <<\_ACEOF @@ -1510,7 +1510,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -psqlodbc configure 11.00.0000 +psqlodbc configure 11.01.0000 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2162,7 +2162,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 11.00.0000, which was +It was created by psqlodbc $as_me 11.01.0000, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3026,7 +3026,7 @@ # Define the identity of the package. PACKAGE='psqlodbc' - VERSION='11.00.0000' + VERSION='11.01.0000' cat >>confdefs.h <<_ACEOF @@ -4471,7 +4471,7 @@ if test "$with_libpq" != yes; then if test -d "$with_libpq"; then - PATH="$PATH:$with_libpq/bin" + PATH="$with_libpq/bin:$PATH" CPPFLAGS="$CPPFLAGS -I$with_libpq/include -I$with_libpq/include/postgresql/internal" LDFLAGS="$LDFLAGS -L$with_libpq/lib" else @@ -13808,7 +13808,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 11.00.0000, which was +This file was extended by psqlodbc $as_me 11.01.0000, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -13874,7 +13874,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 11.00.0000 +psqlodbc config.status 11.01.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-11.00.0000/configure.ac new/psqlodbc-11.01.0000/configure.ac --- old/psqlodbc-11.00.0000/configure.ac 2018-11-17 13:59:54.000000000 +0100 +++ new/psqlodbc-11.01.0000/configure.ac 2019-05-24 15:32:39.000000000 +0200 @@ -1,5 +1,5 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(psqlodbc, 11.00.0000, [[email protected]]) +AC_INIT(psqlodbc, 11.01.0000, [[email protected]]) AC_PREREQ(2.57) AC_CONFIG_AUX_DIR(config) AM_INIT_AUTOMAKE @@ -152,7 +152,7 @@ if test "$with_libpq" != yes; then if test -d "$with_libpq"; then - PATH="$PATH:$with_libpq/bin" + PATH="$with_libpq/bin:$PATH" CPPFLAGS="$CPPFLAGS -I$with_libpq/include -I$with_libpq/include/postgresql/internal" LDFLAGS="$LDFLAGS -L$with_libpq/lib" else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-11.00.0000/convert.c new/psqlodbc-11.01.0000/convert.c --- old/psqlodbc-11.00.0000/convert.c 2018-11-17 13:35:37.000000000 +0100 +++ new/psqlodbc-11.01.0000/convert.c 2019-05-24 15:18:40.000000000 +0200 @@ -5769,6 +5769,7 @@ if (SQL_ERROR != retval) { qb->param_number = nqb.param_number; + qb->dollar_number = nqb.dollar_number; qb->flags = nqb.flags; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-11.00.0000/docs/release.html new/psqlodbc-11.01.0000/docs/release.html --- old/psqlodbc-11.00.0000/docs/release.html 2018-11-17 13:58:11.000000000 +0100 +++ new/psqlodbc-11.01.0000/docs/release.html 2019-05-24 15:31:05.000000000 +0200 @@ -9,6 +9,25 @@ <h1>psqlODBC release notes</h1> <hr> +<h2><a id="11.01.0000">psqlODBC 11.01.0000 Release</a></h2> +Changes:<br /> +<ol type="1"> +<li>Correct the rgbInfoValue returned by SQLGetInfo(SQL_TIMEDATE_FUNCTIONS, ..).</li> +Pointed out by Song X. Gao. +<li>Because the field 'relhasoids' was dropped in PG12, psqlodbc drivers would have some troubles with PG12 servers.</li> +Report and patch by Vladimir Kokovic. +<li>Register drivers {PostgreSQL ANSI} and {PostgreSQL Unicode} during installation on 64bit Windows so that users could use the same connection strings in both x86 and x64 environments.</li> +Per report from Grant Shirreffs. +<li>Correct the rgbInfoValue returned by SQLGetInfo(SQL_LIKE_ESCAPE_CLAUSE, ..).</li> +Pointed out by Grant Shirreffs. +<li>Fix a typo in SQLForeignKeys-ResultSet-Column. 'deferrablity' should be 'DEFERRABILITY'.</li> +Report from Alexander Roskamp. +<li>Correct the rgbInfoValue returned by SQLGetInfo(.., SQL_NUMERIC_FUNCTIONS(SQL_SYSTEM_FUNCTIONS or SQL_STRING_FUNCTIONS, ..).</li> +Pointed out by Grant Shirreffs. +<li>Bug fix: don't forget to set parameter numbers while handling escaped ODBC functions.</li> +Report and patch by Grant Shirreiffs. +<li>ix test_connection() in setup.c so that settings of conn_settings and pqopt option are reflected properly.</li> +</ol><br /> <h2><a id="11.00.0000">psqlODBC 11.00.0000 Release</a></h2> Changes:<br /> <ol type="1"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-11.00.0000/info.c new/psqlodbc-11.01.0000/info.c --- old/psqlodbc-11.00.0000/info.c 2018-11-17 13:35:37.000000000 +0100 +++ new/psqlodbc-11.01.0000/info.c 2019-05-24 15:18:41.000000000 +0200 @@ -307,12 +307,7 @@ break; case SQL_LIKE_ESCAPE_CLAUSE: /* ODBC 2.0 */ - - /* - * is there a character that escapes '%' and '_' in a LIKE - * clause? not as far as I can tell - */ - p = "N"; + p = "Y"; break; case SQL_LOCK_TYPES: /* ODBC 2.0 */ @@ -459,7 +454,12 @@ case SQL_NUMERIC_FUNCTIONS: /* ODBC 1.0 */ len = 4; - value = 0; + value = SQL_FN_NUM_ABS | SQL_FN_NUM_ACOS | SQL_FN_NUM_ASIN | SQL_FN_NUM_ATAN | + SQL_FN_NUM_ATAN2 | SQL_FN_NUM_CEILING | SQL_FN_NUM_COS | SQL_FN_NUM_COT | + SQL_FN_NUM_DEGREES | SQL_FN_NUM_EXP | SQL_FN_NUM_FLOOR | SQL_FN_NUM_LOG | + SQL_FN_NUM_LOG10 | SQL_FN_NUM_MOD | SQL_FN_NUM_PI | SQL_FN_NUM_POWER | + SQL_FN_NUM_RADIANS | SQL_FN_NUM_RAND | SQL_FN_NUM_ROUND | SQL_FN_NUM_SIGN | + SQL_FN_NUM_SIN | SQL_FN_NUM_SQRT | SQL_FN_NUM_TAN | SQL_FN_NUM_TRUNCATE; break; case SQL_ODBC_API_CONFORMANCE: /* ODBC 1.0 */ @@ -618,14 +618,11 @@ case SQL_STRING_FUNCTIONS: /* ODBC 1.0 */ len = 4; - value = (SQL_FN_STR_CONCAT | - SQL_FN_STR_LCASE | - SQL_FN_STR_LENGTH | - SQL_FN_STR_LOCATE | - SQL_FN_STR_LTRIM | - SQL_FN_STR_RTRIM | - SQL_FN_STR_SUBSTRING | - SQL_FN_STR_UCASE); + value = SQL_FN_STR_ASCII | SQL_FN_STR_CHAR | SQL_FN_STR_CONCAT | + SQL_FN_STR_INSERT | SQL_FN_STR_LCASE | SQL_FN_STR_LEFT | + SQL_FN_STR_LENGTH | SQL_FN_STR_LOCATE | SQL_FN_STR_LOCATE_2 | + SQL_FN_STR_LTRIM | SQL_FN_STR_REPEAT | SQL_FN_STR_RIGHT | + SQL_FN_STR_RTRIM | SQL_FN_STR_SPACE | SQL_FN_STR_SUBSTRING | SQL_FN_STR_UCASE; break; case SQL_SUBQUERIES: /* ODBC 2.0 */ @@ -639,7 +636,7 @@ case SQL_SYSTEM_FUNCTIONS: /* ODBC 1.0 */ len = 4; - value = 0; + value = SQL_FN_SYS_IFNULL | SQL_FN_SYS_USERNAME; break; case SQL_TABLE_TERM: /* ODBC 1.0 */ @@ -658,7 +655,12 @@ case SQL_TIMEDATE_FUNCTIONS: /* ODBC 1.0 */ len = 4; - value = (SQL_FN_TD_NOW); + value = SQL_FN_TD_NOW | SQL_FN_TD_CURRENT_DATE | SQL_FN_TD_CURRENT_TIME + | SQL_FN_TD_CURRENT_TIMESTAMP | SQL_FN_TD_CURDATE | SQL_FN_TD_CURTIME + | SQL_FN_TD_DAYNAME | SQL_FN_TD_DAYOFMONTH | SQL_FN_TD_DAYOFWEEK + | SQL_FN_TD_DAYOFYEAR | SQL_FN_TD_HOUR | SQL_FN_TD_MINUTE + | SQL_FN_TD_MONTH | SQL_FN_TD_MONTHNAME | SQL_FN_TD_NOW + | SQL_FN_TD_QUARTER | SQL_FN_TD_SECOND | SQL_FN_TD_WEEK | SQL_FN_TD_YEAR; break; case SQL_TXN_CAPABLE: /* ODBC 1.0 */ @@ -2341,9 +2343,11 @@ "t.typname, a.attnum, a.attlen, a.atttypmod, a.attnotnull, " "c.relhasrules, c.relkind, c.oid, pg_get_expr(d.adbin, d.adrelid), " "case t.typtype when 'd' then t.typbasetype else 0 end, t.typtypmod, " - "c.relhasoids, %s, c.relhassubclass " + "%s, %s, c.relhassubclass " "from (((pg_catalog.pg_class c " - "inner join pg_catalog.pg_namespace n on n.oid = c.relnamespace", PG_VERSION_GE(conn, 10.0) ? "attidentity" : "''"); + "inner join pg_catalog.pg_namespace n on n.oid = c.relnamespace", + PG_VERSION_GE(conn, 12.0) ? "0" : "c.relhasoids", + PG_VERSION_GE(conn, 10.0) ? "attidentity" : "''"); if (search_by_ids) appendPQExpBuffer(&columns_query, " and c.oid = %u", reloid); else @@ -2857,7 +2861,11 @@ /* * Create the query to find out if this is a view or not... */ - appendPQExpBufferStr(&columns_query, "select c.relhasrules, c.relkind, c.relhasoids"); + appendPQExpBufferStr(&columns_query, "select c.relhasrules, c.relkind"); + if (PG_VERSION_LT(conn, 12.0)) + appendPQExpBufferStr(&columns_query, ", c.relhasoids"); + else + appendPQExpBufferStr(&columns_query, ", 0 as relhasoids"); appendPQExpBufferStr(&columns_query, " from pg_catalog.pg_namespace u," " pg_catalog.pg_class c where " "u.oid = c.relnamespace"); @@ -3246,7 +3254,7 @@ initPQExpBuffer(&index_query); printfPQExpBuffer(&index_query, "select c.relname, i.indkey, i.indisunique" ", i.indisclustered, a.amname, c.relhasrules, n.nspname" - ", c.oid, d.relhasoids, %s" + ", c.oid, %s, %s" " from pg_catalog.pg_index i, pg_catalog.pg_class c," " pg_catalog.pg_class d, pg_catalog.pg_am a," " pg_catalog.pg_namespace n" @@ -3256,6 +3264,7 @@ " and d.oid = i.indrelid" " and i.indexrelid = c.oid" " and c.relam = a.oid order by" + , PG_VERSION_LT(conn, 12.0) ? "d.relhasoids" : "0" , PG_VERSION_GE(conn, 8.3) ? "i.indoption" : "0" , eq_string, escTableName, eq_string, escSchemaName); appendPQExpBufferStr(&index_query, " i.indisprimary desc,"); @@ -5816,31 +5825,31 @@ #define return DONT_CALL_RETURN_FROM_HERE??? printfPQExpBuffer(&tables_query, "select" - " %s as PKTABLE_CAT" - ",\n %s as PKTABLE_SCHEM" - ",\n c2.relname as PKTABLE_NAME" - ",\n a2.attname as PKCOLUMN_NAME" - ",\n %s as FKTABLE_CAT" - ",\n %s as FKTABLE_SCHEM" - ",\n c1.relname as FKTABLE_NAME" - ",\n a1.attname as FKCOLUMN_NAME" - ",\n i::int2 as KEY_SEQ" + " %s as \"PKTABLE_CAT\"" + ",\n %s as \"PKTABLE_SCHEM\"" + ",\n c2.relname as \"PKTABLE_NAME\"" + ",\n a2.attname as \"PKCOLUMN_NAME\"" + ",\n %s as \"FKTABLE_CAT\"" + ",\n %s as \"FKTABLE_SCHEM\"" + ",\n c1.relname as \"FKTABLE_NAME\"" + ",\n a1.attname as \"FKCOLUMN_NAME\"" + ",\n i::int2 as \"KEY_SEQ\"" ",\n case ref.confupdtype" "\n when 'c' then %d::int2" "\n when 'n' then %d::int2" "\n when 'd' then %d::int2" "\n when 'r' then %d::int2" "\n else %d::int2" - "\n end as UPDATE_RULE" + "\n end as \"UPDATE_RULE\"" ",\n case ref.confdeltype" "\n when 'c' then %d::int2" "\n when 'n' then %d::int2" "\n when 'd' then %d::int2" "\n when 'r' then %d::int2" "\n else %d::int2" - "\n end as DELETE_RULE" - ",\n ref.conname as FK_NAME" - ",\n cn.conname as PK_NAME" + "\n end as \"DELETE_RULE\"" + ",\n ref.conname as \"FK_NAME\"" + ",\n cn.conname as \"PK_NAME\"" ",\n case" "\n when ref.condeferrable then" "\n case" @@ -5848,7 +5857,7 @@ "\n else %d::int2" "\n end" "\n else %d::int2" - "\n end as DEFERRABLITY" + "\n end as \"DEFERRABILITY\"" "\n from" "\n (((((((" " (select cn.oid, conrelid, conkey, confrelid, confkey" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-11.00.0000/installer/psqlodbcm_cpu.wxs new/psqlodbc-11.01.0000/installer/psqlodbcm_cpu.wxs --- old/psqlodbc-11.00.0000/installer/psqlodbcm_cpu.wxs 2018-11-17 13:35:37.000000000 +0100 +++ new/psqlodbc-11.01.0000/installer/psqlodbcm_cpu.wxs 2019-05-24 15:18:41.000000000 +0200 @@ -143,6 +143,8 @@ <?if $(var.Platform) = x64 ?> <ODBCDriver Id="Psqlodbc_9.0_Driver_ANSI" Name="PostgreSQL ANSI($(var.Platform))" File="psqlodbc30a.dll" /> <ODBCDriver Id="Psqlodbc_9.0_Driver" Name="PostgreSQL Unicode($(var.Platform))" File="psqlodbc35w.dll" /> + <ODBCDriver Id="Psqlodbc_11_newid_Driver_ANSI" Name="PostgreSQL ANSI" File="psqlodbc30a.dll" /> + <ODBCDriver Id="Psqlodbc_11_newid_Driver" Name="PostgreSQL Unicode" File="psqlodbc35w.dll" /> <?else?> <RegistryValue Id="psqlodbc30a.reg.1" Root="HKLM" Key="SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers" Name="PostgreSQL ANSI" Type="string" Value="Installed" /> <RegistryValue Id="psqlodbc30a.reg.2" Root="HKLM" Key="SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL ANSI" Name="APILevel" Type="string" Value="1" /> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-11.00.0000/parse.c new/psqlodbc-11.01.0000/parse.c --- old/psqlodbc-11.00.0000/parse.c 2018-11-17 13:35:38.000000000 +0100 +++ new/psqlodbc-11.01.0000/parse.c 2019-05-24 15:18:41.000000000 +0200 @@ -474,6 +474,8 @@ TABLE_INFO *ti; MYLOG(0, "Entering\n"); + if (PG_VERSION_GE(conn, 12.0)) + return FALSE; if (0 != SC_checked_hasoids(stmt)) return TRUE; if (!stmt->ti || !stmt->ti[0]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-11.00.0000/setup.c new/psqlodbc-11.01.0000/setup.c --- old/psqlodbc-11.00.0000/setup.c 2018-11-17 13:35:38.000000000 +0100 +++ new/psqlodbc-11.01.0000/setup.c 2019-05-24 15:18:41.000000000 +0200 @@ -472,6 +472,10 @@ dsn_1st = ci->dsn[0]; ci->dsn[0] = '\0'; + if (NAME_IS_VALID(ci->conn_settings)) + ci->conn_settings_in_str = TRUE; + if (NAME_IS_VALID(ci->pqopt)) + ci->pqopt_in_str = TRUE; makeConnectString(out_conn, ci, sizeof(out_conn)); MYLOG(0, "conn_string=%s\n", out_conn); #ifdef UNICODE_SUPPORT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-11.00.0000/test/expected/catalogfunctions.out new/psqlodbc-11.01.0000/test/expected/catalogfunctions.out --- old/psqlodbc-11.00.0000/test/expected/catalogfunctions.out 2018-11-17 13:35:38.000000000 +0100 +++ new/psqlodbc-11.01.0000/test/expected/catalogfunctions.out 2019-05-24 15:18:41.000000000 +0200 @@ -128,20 +128,20 @@ contrib_regression public testtab1 id 1 testtab1_pkey Check for SQLForeignKeys Result set metadata: -pktable_cat: VARCHAR(63) digits: 0, nullable -pktable_schem: VARCHAR(63) digits: 0, not nullable -pktable_name: VARCHAR(63) digits: 0, not nullable -pkcolumn_name: VARCHAR(63) digits: 0, not nullable -fktable_cat: VARCHAR(63) digits: 0, nullable -fktable_schem: VARCHAR(63) digits: 0, not nullable -fktable_name: VARCHAR(63) digits: 0, not nullable -fkcolumn_name: VARCHAR(63) digits: 0, not nullable -key_seq: SMALLINT(5) digits: 0, nullable -update_rule: SMALLINT(5) digits: 0, nullable -delete_rule: SMALLINT(5) digits: 0, nullable -fk_name: VARCHAR(63) digits: 0, not nullable -pk_name: VARCHAR(63) digits: 0, not nullable -deferrablity: SMALLINT(5) digits: 0, nullable +PKTABLE_CAT: VARCHAR(63) digits: 0, nullable +PKTABLE_SCHEM: VARCHAR(63) digits: 0, not nullable +PKTABLE_NAME: VARCHAR(63) digits: 0, not nullable +PKCOLUMN_NAME: VARCHAR(63) digits: 0, not nullable +FKTABLE_CAT: VARCHAR(63) digits: 0, nullable +FKTABLE_SCHEM: VARCHAR(63) digits: 0, not nullable +FKTABLE_NAME: VARCHAR(63) digits: 0, not nullable +FKCOLUMN_NAME: VARCHAR(63) digits: 0, not nullable +KEY_SEQ: SMALLINT(5) digits: 0, nullable +UPDATE_RULE: SMALLINT(5) digits: 0, nullable +DELETE_RULE: SMALLINT(5) digits: 0, nullable +FK_NAME: VARCHAR(63) digits: 0, not nullable +PK_NAME: VARCHAR(63) digits: 0, not nullable +DEFERRABILITY: SMALLINT(5) digits: 0, nullable Result set: contrib_regression public testtab1 id contrib_regression public testtab_fk id 1 3 3 testtab_fk_id_fkey testtab1_pkey 7 Check for SQLProcedures diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-11.00.0000/test/expected/odbc-escapes.out new/psqlodbc-11.01.0000/test/expected/odbc-escapes.out --- old/psqlodbc-11.00.0000/test/expected/odbc-escapes.out 2018-11-17 13:35:38.000000000 +0100 +++ new/psqlodbc-11.01.0000/test/expected/odbc-escapes.out 2019-05-24 15:18:41.000000000 +0200 @@ -14,6 +14,12 @@ Result set: 11 +Query: SELECT {fn LOCATE({fn SUBSTRING(?, 2, 4)}, {fn SUBSTRING(?, 3)}, 3) } +Param 1: needle +Param 2: this is a needle in an ol' haystack +Result set: +10 + Query: SELECT 'x' || {fn SPACE(10) } || 'x' Result set: x x @@ -79,6 +85,12 @@ Result set: 11 +Query: SELECT {fn LOCATE({fn SUBSTRING(?, 2, 4)}, {fn SUBSTRING(?, 3)}, 3) } +Param 1: needle +Param 2: this is a needle in an ol' haystack +Result set: +10 + Query: SELECT 'x' || {fn SPACE(10) } || 'x' Result set: x x diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-11.00.0000/test/src/odbc-escapes-test.c new/psqlodbc-11.01.0000/test/src/odbc-escapes-test.c --- old/psqlodbc-11.00.0000/test/src/odbc-escapes-test.c 2018-11-17 13:35:38.000000000 +0100 +++ new/psqlodbc-11.01.0000/test/src/odbc-escapes-test.c 2019-05-24 15:18:41.000000000 +0200 @@ -100,6 +100,13 @@ bindParamString(hstmt, 2, "this is a needle in an ol' haystack"); executeQuery(hstmt); + /* LOCATE(SUBSTRING, SUBSTRING) */ + prepareQuery(hstmt, "SELECT {fn LOCATE({fn SUBSTRING(?, 2, 4)}, {fn SUBSTRING(?, 3)}, 3) }"); + /* using the same parameters */ + bindParamString(hstmt, 1, "needle"); + bindParamString(hstmt, 2, "this is a needle in an ol' haystack"); + executeQuery(hstmt); + /* SPACE */ prepareQuery(hstmt, "SELECT 'x' || {fn SPACE(10) } || 'x'"); executeQuery(hstmt); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psqlodbc-11.00.0000/version.h new/psqlodbc-11.01.0000/version.h --- old/psqlodbc-11.00.0000/version.h 2018-11-17 13:59:27.000000000 +0100 +++ new/psqlodbc-11.01.0000/version.h 2019-05-24 15:20:42.000000000 +0200 @@ -14,13 +14,13 @@ * and PG_DRVFILE_VERSION via winbuild/psqlodbc.vcxproj. */ #ifndef POSTGRESDRIVERVERSION -#define POSTGRESDRIVERVERSION "11.00.0000" +#define POSTGRESDRIVERVERSION "11.01.0000" #endif #ifndef POSTGRES_RESOURCE_VERSION #define POSTGRES_RESOURCE_VERSION POSTGRESDRIVERVERSION #endif #ifndef PG_DRVFILE_VERSION -#define PG_DRVFILE_VERSION 11,0,00,00 +#define PG_DRVFILE_VERSION 11,1,00,00 #endif #endif
