Recommended update for psqlODBC

Announcement ID: SUSE-RU-2020:1520-1
Rating: moderate
Affected Products:
  • Basesystem Module 15-SP1
  • SUSE Linux Enterprise Desktop 15 SP1
  • SUSE Linux Enterprise High Performance Computing 15 SP1
  • SUSE Linux Enterprise Real Time 15 SP1
  • SUSE Linux Enterprise Server 15 SP1
  • SUSE Linux Enterprise Server 15 SP1 Business Critical Linux 15-SP1
  • SUSE Linux Enterprise Server for SAP Applications 15 SP1
  • SUSE Manager Proxy 4.0
  • SUSE Manager Retail Branch Server 4.0
  • SUSE Manager Server 4.0

An update that has one fix can now be installed.


This update for psqlODBC provides the following fixes:

  • Update to 12.01.0000:
  • Fix the bug that causes "Error : A parameter cannot be found that matches parameter name".
    • Enclose the command part * Find_VSDir $vc_ver * with parentheses so that the subsequent * -ne "" * isn't considered to be a parameter.
  • Cope with the removal of pg_class.relhasoids in PG12 correctly when retrieving updatable cursors.
  • Changes in 12.00.0000:
  • Fix the bug that SQLGetDescField() for Field SQL_DESC_COUNT returns SQLINTEGER value which should be of type SQLSMALLINT.
  • SQLGetTypeInfo() filters SQL_TYPE_DATE, SQL_TYPE_TIME and SQL_TYPE_TIMESTAMP for ODBC 2.x applications.
  • Added support for scalar functions TIMESTAMPADD(), TIMESTAMPDIFF() and EXTRACT().
  • The macro IS_NOT_SPACE() is used for not pointers but integers.
  • Fix a crash bug when SQLProcedureColumns() handles satisfies_hash_partition(). The proargmodes column of satisfies_hash_partition()'s pg_proc entry is not null but the proallargtypes column is null.

  • Changes in 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 problems 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 by 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: do not forget to set parameter numbers while handling escaped ODBC functions.
  • Fix test_connection() in setup.c so that settings of conn_settings and pqopt option are reflected properly.

  • Changes in 11.00.0000:

  • Remove obsolete maps pointed out.
  • Remove connSettings option and/or pqopt option from the OutConnectionString parameter of SQLDriverConnect() when each option doesn't exist in InConnectionString parameter.
  • The parameters should be cast because parameters of concat() function are variadic "any".
  • Add an alias DX of Database keyword for connection strings to aviod the use of "database" keyword which has a special meaning in some apps or middlewares.
  • Numeric items without precision are unlimited and there's no natural map between SQL data types. Add an option Numeric(without precision) as
  • Fix a bug that SQLSpecialColumns() returns oid/xmin incorrectly when a table does not exist.
  • Fix build with PostgreSQL 11 that does not have pg_config in the regular devel package anymore. (bsc#1166821)

  • Changes in 10.03.0000:

  • Put back the handling of lock_CC_for_rb variable. The variable lock_CC_for_rb should be held per connection.
  • Fix SQLGetTypeInfo() so that it filters SQL_TYPE_DATE, SQL_TYPE_TIME or SQL_TYPE_TIMESTAMP for ODBC 2.x applications.
  • Revise ConfigDSN() so that it handles the 4th parameter(lpszAttribues) correctly.
  • Fix a crash bug when handling error messages. Also modified some error messages.
  • Let SQLTables() or SQLTablePrivileges() show partition tables.
  • Fix build on Solaris defined(__SUNPRO_C) using Solaris Studio.
  • Reduce DB access to pg_class or pg_index by caching relhasoids, relhassubclass etc. It would improve the performance of SQLSetPos() or SQLBulkOperations() very much in some cases.

  • Changes in 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().

Patch Instructions:

To install this SUSE update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:

  • Basesystem Module 15-SP1
    zypper in -t patch SUSE-SLE-Module-Basesystem-15-SP1-2020-1520=1

Package List:

  • Basesystem Module 15-SP1 (aarch64 ppc64le s390x x86_64)
    • psqlODBC-12.01.0000-3.6.1
    • psqlODBC-debugsource-12.01.0000-3.6.1
    • psqlODBC-debuginfo-12.01.0000-3.6.1