Instead of copying the selected files and directories into the archive
manually, use git-archive to ensure that everything is in the archive.
And exclude the files and directories unwanted there by setting
export-ignore attribute for them.
Closes#1224.
There doesn't seem to be any reason to override the default and doing
this disables FK support which is enabled by default since 2a8abbe4
(Turn foreign keys on by default for SQLite tests, 2025-01-21).
We need to read the entire contents of the CLOB in Oracle backend and
not just the number of bytes corresponding to its length in characters
as returned by OCILobGetLength() because this may (and will) be strictly
less than its full size in bytes for any encoding using multiple bytes
per character, such as the de facto standard UTF-8.
Also make reading CLOBs more efficient by doing what Oracle
documentation suggests and using the LOB chunk size for reading.
Finally, add a unit test checking that using non-ASCII strings in UTF-8
(which had to be enabled for the CI) with CLOBs does work.
This commit is best viewed ignoring whitespace-only changes.
UBSAN gives nonsensical errors for the ODBC job running under Ubuntu
18.04, e.g. it complains that
src/core/session.cpp:246:16: runtime error: member call on address
0x607000000250 which does not point to an object of type
'session_backend'
1: 0x607000000250: note: object is of type 'soci::odbc_session_backend'
which doesn't make any sense because odbc_session_backend is an object
of type session_backend. But apparently something is broken in this
compiler version, so disable UBSAN for this job for now.
It used to be part of macos-12 image but is not present in the later
ones for whatever reason.
Installing postgresql formula using brew already initializes the
database cluster but does it in a non-default directory, so adjust
PGDATA definition accordingly and remove "pg_ctl init" which is not
needed any longer.
This hides any errors during download, making any issues difficult to
diagnose, so break the pipeline in parts in order to better see what is
going on.
The package already installed on the system results in build errors when
trying to use it:
In file included from /usr/include/sql.h:19:0,
from /usr/include/sqlext.h:43,
from /home/runner/work/soci/soci/include/soci/odbc/soci-odbc.h:25,
from /home/runner/work/soci/soci/src/backends/odbc/factory.cpp:9:
/usr/include/sqltypes.h:56:10: fatal error: unixodbc.h: No such file or directory
#include "unixodbc.h"
^~~~~~~~~~~~
so remove it before installing the Debian version.
See https://github.com/microsoft/linux-package-repositories/issues/36
Set Dpkg::Use-Pty=0 to avoid more useless output and use this function
in all CI scripts instead of specifying the same apt-get options in all
of them.
This script must be sourced from all the other ones, including
install.sh which is used to install bash under FreeBSD, so it can't rely
on bash being already available.
It doesn't make much sense to configure this outside of the installation
script when we can already just install it from the script itself.
No real changes.