13 Commits

Author SHA1 Message Date
Fabrízio de Royes Mello
2a3a471bb7 Silence codespell check 2024-05-25 02:11:23 -03:00
Alexander Kuzmenkov
864da20cee Build on Ubuntu 22.04
It has newer GCC which should detect more warnings.
2022-10-26 23:32:05 +04:00
Aleksander Alekseev
454d32539c Fix "nm: unknown argument -defined-only" error on MacOS
On MacOS Monterey with LLVM 13.0.1 when executing export_prefix_check.sh
we get an error:

/usr/local/opt/llvm/bin/nm: error: : unknown argument '-defined-only',
did you mean '--defined-only'?

This patch adds a better check of which flag does `nm` expect.
2022-02-08 20:07:19 +03:00
Alexander Kuzmenkov
4a17d4c402 Add shellcheck to CI
Writing a shell script correctly can be hard even for a skilled
programmer. shellcheck is a static analysis tool that helps catch
common errors in shell scripts. We now have 36 executable scripts in
our repository, for which shellcheck reports 126 errors (calculated
like find . -type f -executable -exec bash -c '[ "$(file --brief
--mime-type "$1")" == "text/x-shellscript" ]' sh {} \; -exec shellcheck
-f gcc --exclude=SC2086 {} \; | cut -d: -f1 | sort | uniq | wc -l).
This commit fixes these warnings and adds a GitHub actions workflow
that runs shellcheck on all the executable shell scripts in the
repository. The warning SC2086: Double quote to prevent globbing and
word splitting is disabled globally, because it has little practical
consequences, sometimes leads to false positives, and is general is too
widespread because people forget to quote.
2021-11-15 14:54:14 +03:00
Markos Fountoulakis
59d868bdf1 Run sanitizer tests on PG12
Change sanitizer test to run on PG12 and make it use the same
infrastructure as the other linux regression tests.

Co-authored-by: Sven Klemm <sven@timescale.com>
2021-06-22 11:42:48 +03:00
Sven Klemm
f18d9bf38b Add mangle_path to ignored symbols
When building timescaledb on Ubuntu 20.04 mangle_path is present
as exported symbol in binaries, making the export prefix check fail.
This patch changes the export prefix check to ignore mangle_path.
2021-03-22 12:42:58 +01:00
Sven Klemm
32ed2c02d5 Adjust export prefix check for MacOS 2020-06-19 00:05:37 +02:00
Sven Klemm
129aa47987 Adjust export prefix check to work with clang
This patch changes the export prefix check to ignore symbols
present in clang builds.
2020-06-15 00:56:33 +02:00
Sven Klemm
835ec5af10 Change export prefix check to work with gcov
This patch adjusts the export prefix check to exclude some symbols
present when using older toolchain and also includes gcov symbols
so export prefix check can be used on coverage enabled builds.
2020-06-10 15:09:31 +02:00
Erik Nordström
176b616e37 Refactor insert and copy paths
The INSERT and COPY paths have been refactored to better handle
differences between PostgreSQL versions. In particular, PostgreSQL 12
introduced the new table access mangement (AM) API which ties tuple
table slots to specific table AM implementations, requiring more
careful management of those data structures.

The code tries to adopt the new (PG12) API to the extent possible,
providing compatibility layers and functions for older PostgreSQL
versions where needed.
2020-04-14 23:12:15 +02:00
Sven Klemm
81d5db662a Fix export_prefix_check script
The export_prefix_check script would not set proper exit code
depending on the found exported functions.
2019-10-15 14:42:02 +02:00
Joshua Lockerman
a7b54b159b Have prefix check verify all functions in headers and clean up missings
This commit makes four changes:
1. Adds the ts_ prefix to some functions that were missed in the last
   pass
2. Adds static to some variables that were confined to a single file but
   missing it
3. Adds the ability to disable using "hidden" visibility by default by
   setting the USE_DEFAULT_VISIBILITY variable
4. Switches the prefix-check in travis to use the flag defined in 3 so
   that the checker now checks all non-static symbols we define
2018-12-12 17:22:24 -05:00
Joshua Lockerman
bb6efbef0d Check that functions start with the ts_ prefix in travis 2018-12-11 17:02:00 -05:00