pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/databases/soci



Module Name:    pkgsrc
Committed By:   adam
Date:           Thu Mar 16 07:50:16 UTC 2023

Modified Files:
        pkgsrc/databases/soci: Makefile PLIST distinfo options.mk
Removed Files:
        pkgsrc/databases/soci/patches: patch-CMakeLists.txt
            patch-backends_postgresql_statement.cpp
            patch-cmake_SociConfig.cmake

Log Message:
soci: updated to 4.0.3

Version 4.0.3 (99e2d567) differs from 4.0.2 in the following ways:

Changes affecting all or multiple backends:
 - Fix opening sessions from pool
 - Fix default backend search path
 - Fix build with latest glibc versions where SIGSTKSZ is not constant
 - Document using SOCI as a CMake subdirectory
 - Document using SOCI with Conan

Backend-specific changes:

- MySQL
 - Implement get_table_names() for MySQL
 - Fix MySQL backend build with MySQL >= 8
 - Fix mysql_library_end() in multithreaded environment
 - Make mysql_soci_error::get_error_category() more useful

- ODBC
 - Fix several bugs in vector into code
 - Fix memory leaks in case of SQLNumResultCols() failure.
 - Export odbc_session_backend::get_database_product() from DLL.

- Oracle
 - Add support for detecting Oracle 20 and 21 to CMake

- PostgreSQL
 - Fix compilation when "free" is redefined somewhere else.

- SQLite3
 - Fix bulk operations with vectors of size 1 in SQLite3 backend

- Firebird
 - Suppress FB memory leaks

---
Version 4.0.2 differs from 4.0.1 in the following ways:

Changes affecting all or multiple backends:

 - Fix using SOCI from CMake projects using find_package()
 - Always set indicator to i_null when no data is read from the database
 - Add support for building SOCI with LTO
 - Enable ELF visibility support
 - Fix building tests under macOS on ARM 64
 - Fix using custom types with an explicitly null indicator
 - Fix using vectors of custom types for DB/2, ODBC and Oracle
 - Fix vectors of XML and CLOB values for DB/2, Firebird, ODBC and Oracle
 - Don't return i_truncated for empty strings in a vector for DB/2, ODBC.
 - Make unloading dynamic backends safer by delaying it if necessary
 - Migrate most Linux CI builds to GitHub Actions from Travis CI
 - Fix rare deadlock in session::reconnect()
 - Fix all warnings in MSVS build

Backend-specific changes:

- MySQL
 - Add "reconnect" option

- ODBC
 - Don't show interactive ODBC dialogs when reconnecting.
 - Fix session::get_last_insert_id() for empty tables with SQL Server.

- Oracle
 - Implement session::get_next_sequence_value().
 - Fix using default NUMBER type with rowset API
 - Handle reading from CLOBs that can't be read all at once.
 - Fix another memory leak in CLOB handling code.

- PostgreSQL
 - Fix use of quoted identifiers with colons
 - Fix tests compilation under macOS
 - Fix tests with PostgreSQL 12 or later.

- SQLite3
 - Fix getting doubles from non-numeric columns.
 - Fix using uninitialized sqlite3_column member

---
Version 4.0.1 differs from 4.0.0 in the following ways:

- Add session::is_connected()
- Fix DST adjustment when reading dates from the database
- Make dynamic_backends::search_paths() actually available
- Fix using std::vector<boost::optional<>> in query arguments
- Allow using dt_blob and dt_xml with rowset API too
- Fix or work around many compilation warnings with newer compilers.

- DB2
 - Fix memory leak.

- ODBC
 - Fix bug with handling of strings of exactly ODBC_MAX_COL_SIZE length
 - Fix opening connections when using connection pooling.

- Oracle
 - Improve detection for newer Oracle versions
 - Use bigger buffer for Oracle connection string length
 - Fix memory leak in Oracle backend when using CLOBs (XML or long strings).

- PostgreSQL
 - Fix reconnect() to use the correct connection parameters
 - Improve error message returned on connection loss
 - Fix use of uninitialized connection variable on connection failure
 - Fix inadvertently broken use of single row mode
 - Fix handling of identifiers with colons

- SQLite
 - Add support for "vfs" and "readonly" connection options
 - Fix std::tm handling
 - Fix "big int" detection

---
Version 4.0.0 differs from 3.2.3 in the following ways:

NOTICE: This is probably the last release compatible with C++98.

- Added support for C++11 and C++17 compilation modes.
- Added RELEASING.md how-to and scripts/release.sh helper for release managers.
- Added context of the failure in soci_error::what() which now returns a
  longer and more useful message. Use the new get_error_message() method to get
  just the brief error message which used to be returned by what().
- Added logger class to allow customizing SOCI logging operations
- Added helper for generating portable DDL and DML statements
- Added portable column info and other metadata queries
- Added helper exchange_type_cast<>() template function as better static_cast
- Added values::get_number_of_columns() as convenient accessor.
- Added public macro SOCI_NORETURN and use it in declaration.
- Added handling of dt_unsigned_long_long to the simple interface.
- Added new data type dt_blob with accompanying simple-interface support
- Added basic support for error categories.
- Added failover_callback interface
- Added bulk iterators interface
- Added basic package exporting to CMake configuration
- Added bigstring (XML and CLOB) support
- Added CMake option SOCI_POSTGRESQL_NOSINLGEROWMODE with default value OFF
- Adopted new layout of the source tree
- Although the build configuration is based on CMake 2.8,
  numerous improvements have been applied to the CMake scripts.
- Converted all tests to use the Catch framework.
- Fixed issues with throwing from soci_error copy constructor and assignment operator
- Fixed backends loading in case SOCI is built with CMAKE_DEBUG_POSTFIX set
- Fixed deadlock in soci::connection_pool::try_lease function.
- Fixed numerous compilation warnings using various compilers.
- Fixed non-copyability of connection_pool
- Fixed uniform offset for BLOB read/write operations
- Fixed memory leak when reusing into and use elements.
- Fixed deduction of reference in boost::fusion::for_each
- Added empty_blob() and nvl() to portable utilities.
- Improved handling and conversions of time and timezone information values
- Improved diagnostics with included query parameter names in error messages
- Improve CMake configuration for integrating SOCI as subproject
- Improved locale-independent conversions of floating-point numbers to string.
- Include all public headers using soci/ prefix inside SOCI itself
- Migrated documentation content from HTML to Markdown
- Provided error context in exceptions and richer diagnostics
- Replaced assertion with raising exception in case of connection_pool::lease() failure.
- Remove use of std::unary_function and std::ptr_fun deprecated in C++11/17
- Split statement::clean_up into two operations bind_clean_up and clean_up
- Updated the backend documentation.
- Use 64-bit integer for next sequence and last insert ID values

- DB2
-- Fixed ambiguous error handling during statement execution
-- Fixed handling of NULL for strings during bulk querying
-- Replaced SQLConnect with SQLDriverConnect to establish database session

- Firebird
-- Added SOCI_FIREBIRD_EMBEDDED option to allow building with embedded library.
-- Added possibility to build the backend using embedded library (libfbembed).
-- Added CLOB and XML support
-- Fixed too eager start of implicit transaction
-- Fixed bug with writing BLOB values
-- Replaced truncation of too long VARCHAR columns values with throwing exception.

- MySQL
-- Added MySQL 8 to tested versions.
-- Added get_last_insert_id function
-- Added timeout support
-- Fixed bug whe nusing get_affected_rows() and user defined types
-- Replace throwing generic soci_error with mysql_soci_error

- ODBC
-- Added support for ODBC driver for DB2 which is not compliant to ODBC spec
-- Fixed inserting strings of length greater than 8000 bytes into database
-- Fixed get_affected_rows() when using FreeTDS driver.
-- Fixed reading from unallocated memory (driver bug?) in ODBC with MySQL
-- Fixed handling of NULL for strings during bulk querying
-- Fixed memory leak of internal odbc_standard_use_type_backend buffer

- Oracle
-- Added oraocci12 name to Oracle client look-up by CMake.
-- Added NLS support for connection parameters.
-- Added Oracle wallet authentication.
-- Added (partial) handling of OCI_SUCCESS_WITH_INFO.
-- Added handling of more error codes for error categories.
-- Added failover_callback interface implementation
-- Added bulk iterators interface implementation
-- Added bigstring (XML and CLOB) support
-- Added lazy initialization of the temporary LOB objects for Oracle.
-- Fixed uniform offset for BLOB read/write operations
-- Fixed connection parameters parsing to allow spaces in values
-- Fixed handling of BINARY_DOUBLE in dynamic row.
-- Use SQLT_BDOUBLE for floating point values instead of SQLT_FLT.

- PostgreSQL
-- Added singlerows mode for PostgreSQL
-- Added failover_callback interface implementation
-- Added bulk iterators interface implementation
-- Added test for the uuid data type
-- Added bigstring (XML and CLOB) support
-- Dropped support for PostgreSQL 7.x
-- Fixed defining SOCI_POSTGRESQL_NOSINLGEROWMODE for PostgreSQL < 9
-- Fixed string to floating-point number conversions assuming "C" locale
-- Fixed support for bytea across PostgreSQL versions older than 9
-- Fixed timestamp handling in UTC
-- Fixed uniform offset for BLOB read/write operations
-- Explicitly set extra_float_digits to 3 when using PostgreSQL >=9 in ODBC for consistency.
-- Improve string to floating-point number conversion to be exact.

- SQLite3
-- Added get_last_insert_id function
-- Fixed clean up on error to enable getting detailed diagnostics
-- Fixed issue numerous calls to fetch by better control when backend calls sqlite3_step
-- Fixed memory leak in sqlite3_session_backend
-- Fixed closing connection after obtaining error diagnostics
-- Fixed affected rows count when reusing prepared statements


To generate a diff of this commit:
cvs rdiff -u -r1.52 -r1.53 pkgsrc/databases/soci/Makefile
cvs rdiff -u -r1.2 -r1.3 pkgsrc/databases/soci/PLIST \
    pkgsrc/databases/soci/options.mk
cvs rdiff -u -r1.10 -r1.11 pkgsrc/databases/soci/distinfo
cvs rdiff -u -r1.2 -r0 pkgsrc/databases/soci/patches/patch-CMakeLists.txt
cvs rdiff -u -r1.1 -r0 \
    pkgsrc/databases/soci/patches/patch-backends_postgresql_statement.cpp \
    pkgsrc/databases/soci/patches/patch-cmake_SociConfig.cmake

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/databases/soci/Makefile
diff -u pkgsrc/databases/soci/Makefile:1.52 pkgsrc/databases/soci/Makefile:1.53
--- pkgsrc/databases/soci/Makefile:1.52 Sun Jan 22 16:28:22 2023
+++ pkgsrc/databases/soci/Makefile      Thu Mar 16 07:50:16 2023
@@ -1,8 +1,6 @@
-# $NetBSD: Makefile,v 1.52 2023/01/22 16:28:22 ryoon Exp $
-#
+# $NetBSD: Makefile,v 1.53 2023/03/16 07:50:16 adam Exp $
 
-DISTNAME=      soci-3.2.2
-PKGREVISION=   45
+DISTNAME=      soci-4.0.3
 CATEGORIES=    databases
 MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=soci/}
 
@@ -11,11 +9,16 @@ HOMEPAGE=    http://soci.sourceforge.net/
 COMMENT=       C++ database access library
 LICENSE=       boost-license
 
-USE_CMAKE=     yes
 USE_LANGUAGES= c gnu++11
 
 CMAKE_ARGS+=   -DSOCI_LIBDIR=lib
 CMAKE_ARGS+=   -DCMAKE_CXX_FLAGS=${CXXFLAGS:Q}
+CMAKE_ARGS+=   -DWITH_ODBC=OFF
+CMAKE_ARGS+=   -DWITH_ORACLE=OFF
+CMAKE_ARGS+=   -DWITH_FIREBIRD=OFF
+CMAKE_ARGS+=   -DWITH_DB2=OFF
 
 .include "options.mk"
+
+.include "../../devel/cmake/build.mk"
 .include "../../mk/bsd.pkg.mk"

Index: pkgsrc/databases/soci/PLIST
diff -u pkgsrc/databases/soci/PLIST:1.2 pkgsrc/databases/soci/PLIST:1.3
--- pkgsrc/databases/soci/PLIST:1.2     Wed Sep 11 12:22:33 2013
+++ pkgsrc/databases/soci/PLIST Thu Mar 16 07:50:16 2023
@@ -1,11 +1,14 @@
-@comment $NetBSD: PLIST,v 1.2 2013/09/11 12:22:33 joerg Exp $
+@comment $NetBSD: PLIST,v 1.3 2023/03/16 07:50:16 adam Exp $
 include/soci/backend-loader.h
+include/soci/bind-values.h
 include/soci/blob-exchange.h
 include/soci/blob.h
 include/soci/boost-fusion.h
 include/soci/boost-gregorian-date.h
 include/soci/boost-optional.h
 include/soci/boost-tuple.h
+include/soci/callbacks.h
+include/soci/column-info.h
 include/soci/connection-parameters.h
 include/soci/connection-pool.h
 include/soci/empty/soci-empty.h
@@ -13,10 +16,10 @@ include/soci/error.h
 include/soci/exchange-traits.h
 include/soci/into-type.h
 include/soci/into.h
-${PLIST.mysql}include/soci/mysql/common.h
+include/soci/logger.h
 ${PLIST.mysql}include/soci/mysql/soci-mysql.h
+include/soci/noreturn.h
 include/soci/once-temp-type.h
-${PLIST.pgsql}include/soci/postgresql/common.h
 ${PLIST.pgsql}include/soci/postgresql/soci-postgresql.h
 include/soci/prepare-temp-type.h
 include/soci/procedure.h
@@ -34,7 +37,6 @@ include/soci/soci-config.h
 include/soci/soci-platform.h
 include/soci/soci-simple.h
 include/soci/soci.h
-${PLIST.sqlite}include/soci/sqlite3/common.h
 ${PLIST.sqlite}include/soci/sqlite3/soci-sqlite3.h
 include/soci/statement.h
 include/soci/transaction.h
@@ -42,29 +44,34 @@ include/soci/type-conversion-traits.h
 include/soci/type-conversion.h
 include/soci/type-holder.h
 include/soci/type-ptr.h
+include/soci/type-wrappers.h
 include/soci/unsigned-types.h
 include/soci/use-type.h
 include/soci/use.h
 include/soci/values-exchange.h
 include/soci/values.h
 include/soci/version.h
+lib/cmake/SOCI/SOCIConfig.cmake
+lib/cmake/SOCI/SOCIConfigVersion.cmake
+lib/cmake/SOCI/SOCITargets-noconfig.cmake
+lib/cmake/SOCI/SOCITargets.cmake
 lib/libsoci_core.a
 lib/libsoci_core.so
-lib/libsoci_core.so.3.2
 lib/libsoci_core.so.${PKGVERSION}
+lib/libsoci_core.so.4.0
 lib/libsoci_empty.a
 lib/libsoci_empty.so
-lib/libsoci_empty.so.3.2
 lib/libsoci_empty.so.${PKGVERSION}
+lib/libsoci_empty.so.4.0
 ${PLIST.mysql}lib/libsoci_mysql.a
 ${PLIST.mysql}lib/libsoci_mysql.so
-${PLIST.mysql}lib/libsoci_mysql.so.3.2
 ${PLIST.mysql}lib/libsoci_mysql.so.${PKGVERSION}
+${PLIST.mysql}lib/libsoci_mysql.so.4.0
 ${PLIST.pgsql}lib/libsoci_postgresql.a
 ${PLIST.pgsql}lib/libsoci_postgresql.so
-${PLIST.pgsql}lib/libsoci_postgresql.so.3.2
 ${PLIST.pgsql}lib/libsoci_postgresql.so.${PKGVERSION}
+${PLIST.pgsql}lib/libsoci_postgresql.so.4.0
 ${PLIST.sqlite}lib/libsoci_sqlite3.a
 ${PLIST.sqlite}lib/libsoci_sqlite3.so
-${PLIST.sqlite}lib/libsoci_sqlite3.so.3.2
 ${PLIST.sqlite}lib/libsoci_sqlite3.so.${PKGVERSION}
+${PLIST.sqlite}lib/libsoci_sqlite3.so.4.0
Index: pkgsrc/databases/soci/options.mk
diff -u pkgsrc/databases/soci/options.mk:1.2 pkgsrc/databases/soci/options.mk:1.3
--- pkgsrc/databases/soci/options.mk:1.2        Wed May 21 01:20:23 2014
+++ pkgsrc/databases/soci/options.mk    Thu Mar 16 07:50:16 2023
@@ -1,45 +1,40 @@
-# $NetBSD: options.mk,v 1.2 2014/05/21 01:20:23 joerg Exp $
+# $NetBSD: options.mk,v 1.3 2023/03/16 07:50:16 adam Exp $
 
 PKG_OPTIONS_VAR=       PKG_OPTIONS.soci
-PKG_SUPPORTED_OPTIONS= mysql pgsql sqlite boost
+PKG_SUPPORTED_OPTIONS= boost mysql pgsql sqlite
 PKG_SUGGESTED_OPTIONS= pgsql
 
 .include "../../mk/bsd.options.mk"
 
-PLIST_VARS+=   ${PKG_SUPPORTED_OPTIONS}
-
-CMAKE_ARGS+=   -DWITH_ODBC=off -DWITH_ORACLE=off \
-               -DWITH_FIREBIRD=off -DWITH_DB2=off
-
 PLIST_VARS+=   mysql pgsql sqlite
 
 .if !empty(PKG_OPTIONS:Mmysql)
 .include "../../mk/mysql.buildlink3.mk"
-CMAKE_ARGS+=   -DWITH_MYSQL=on
+CMAKE_ARGS+=   -DWITH_MYSQL=ON
 PLIST.mysql=   yes
 .else
-CMAKE_ARGS+=   -DWITH_MYSQL=off
+CMAKE_ARGS+=   -DWITH_MYSQL=OFF
 .endif
 
 .if !empty(PKG_OPTIONS:Mpgsql)
 .include "../../mk/pgsql.buildlink3.mk"
-CMAKE_ARGS+=   -DWITH_POSTGRESQL=on
+CMAKE_ARGS+=   -DWITH_POSTGRESQL=ON
 PLIST.pgsql=   yes
 .else
-CMAKE_ARGS+=   -DWITH_POSTGRESQL=off
+CMAKE_ARGS+=   -DWITH_POSTGRESQL=OFF
 .endif
 
 .if !empty(PKG_OPTIONS:Msqlite)
 .include "../../databases/sqlite3/buildlink3.mk"
-CMAKE_ARGS+=   -DWITH_SQLITE3=on
+CMAKE_ARGS+=   -DWITH_SQLITE3=ON
 PLIST.sqlite=  yes
 .else
-CMAKE_ARGS+=   -DWITH_SQLITE3=off
+CMAKE_ARGS+=   -DWITH_SQLITE3=OFF
 .endif
 
-.if !empty(PKG_OPTIONS:Msqlite)
+.if !empty(PKG_OPTIONS:Mboost)
 .include "../../devel/boost-libs/buildlink3.mk"
-CMAKE_ARGS+=    -DWITH_BOOST=on
+CMAKE_ARGS+=    -DWITH_BOOST=ON
 .else
-CMAKE_ARGS+=    -DWITH_BOOST=off
+CMAKE_ARGS+=    -DWITH_BOOST=OFF
 .endif

Index: pkgsrc/databases/soci/distinfo
diff -u pkgsrc/databases/soci/distinfo:1.10 pkgsrc/databases/soci/distinfo:1.11
--- pkgsrc/databases/soci/distinfo:1.10 Tue Oct 26 10:10:05 2021
+++ pkgsrc/databases/soci/distinfo      Thu Mar 16 07:50:16 2023
@@ -1,8 +1,5 @@
-$NetBSD: distinfo,v 1.10 2021/10/26 10:10:05 nia Exp $
+$NetBSD: distinfo,v 1.11 2023/03/16 07:50:16 adam Exp $
 
-BLAKE2s (soci-3.2.2.tar.gz) = a6e71ef945941b3d56c5ff1db4a063f84f9a8cb95806869be2e60cc6fa326082
-SHA512 (soci-3.2.2.tar.gz) = b18b82f5bb24072852cc02cece311d1d5ddb9cb9a029a2925b9e834905b20eb3ceaa3089f2aaf547771dc3c50eea87c351d2f172041116d1710138fa3b2fb1bf
-Size (soci-3.2.2.tar.gz) = 354047 bytes
-SHA1 (patch-CMakeLists.txt) = 589fed2101a09637cb3f052bf7915dd2bccf0385
-SHA1 (patch-backends_postgresql_statement.cpp) = d8c9fc32b9866eb3756e7f6f684255840462ac56
-SHA1 (patch-cmake_SociConfig.cmake) = d9b7585b4fe82058f70928e4a57058fa03273385
+BLAKE2s (soci-4.0.3.tar.gz) = 4e048690280bdf602fc9c852001e5773f3dd5019281de4af5e63bfb3f2671c74
+SHA512 (soci-4.0.3.tar.gz) = 1a3a00b8656a95d0e47256fe5ce5a26bc3fc6379b8cadfb12d4e604fb0168724d6cd7090b6b47ee329822593089386a59bdd040b081d873fcc31ad3555031bc6
+Size (soci-4.0.3.tar.gz) = 1213452 bytes



Home | Main Index | Thread Index | Old Index