1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00
Commit Graph

72 Commits

Author SHA1 Message Date
d0ee5dae32 Added the support for pkgconf when finding system thrift
as fedora uses pkgconf to help locate the thrift files during
compilation instead of a Thrift.cmake file. I have added this logic in
such a way that the existing logic should not be affected. Therefore
enabling the use of system thrift even without pkgconf.
2025-07-16 22:28:30 +04:00
25c364a520 MCOL-6090
do not install anything unconditionally
before checking whether the target exists
2025-07-12 19:40:47 +04:00
6eeb948ad2 MCOL-6069: update thrift for gcc-15 2025-07-04 15:58:10 +04:00
576f4fb81c chore(packaging): add requires of snappy, ps awk and jemalloc required 2025-06-13 13:45:06 +01:00
aa7e0fb9b4 Deep build refactoring phase 1 (#3562)
* configcpp refactored
* logging and datatypes refactored

* more dataconvert
* chore(build): massive removals, auto add files to debian install file
* chore(codemanagement): nodeps headers, potentioal library
* chore(build): configure before autobake
* chore(build): use custom cmake commands for components, mariadb-plugin-columnstore.install generated
* chore(build): install deps as separate step for build-packages
* more deps
* check  debian/mariadb-plugin-columnstore.install automatically
* chore(build): add option for multibracnh compilation
* Fix warning
2025-05-30 14:05:21 +04:00
14ac14b35d The 10.6 server changed the name of the include.
ref: MariaDB/server@3a33ae8

Noticed thanks to @LinuxJedi
2025-05-23 05:37:06 +04:00
13b23e8510 chore(codestyle): MCOL-5405: repace windows CRLF with virtious linux one 2025-05-23 05:12:17 +04:00
f919c00479 fixing exec_program warning 2025-05-23 01:33:45 +04:00
b65a5a1ef9 chore(build): turn off WError for ASAN builds as gcc STL has internal warnings last 3 years: https://gcc.gnu.org/bugzilla/show_bug.cgi\?id\=105562 2025-05-21 21:59:08 +04:00
0dceaa318d patch boost (sic!) to fix warning 2025-05-20 21:43:43 +04:00
4a8f5830fd chore(build) update boost to 1.88 2025-05-20 21:43:43 +04:00
2036e521c7 named linkage 2025-05-20 18:22:59 +04:00
a1019b7c0e chore(build): refactor main CMakeLists.txt (#3543)
* chore(build): refactor main CMakeLists.txt

* chore(build): fix boost version for packages, set clang-20 only for amd and arm

* chore(build): boost 4 sm

* chore(build): boost dep for rowgroup

* chore(build): toolset for boost

* chore(build): suppress clang warnings for boost

* chore(ci, build): use ASAN for unittest on ubuntu 24.04 only, added custom cmake flag option for bootstrap, custom params for new and existing pipelines

* chore(build): sort bootstrap flags

* chore(CI): remove publish pkg step, adding clickable link instead to publish steps, fix customenv
2025-05-20 05:00:48 +04:00
89c892ab2f fix(bootstrap_mcs): Manual sync with 75f95d3a6b
Only edd crb repo enable for Rocky9 and fix Cmake typo.
2025-04-01 18:03:07 +04:00
b6707dd9f8 Allow packagers to use system Thrift library
The commit introduces a new CMake configuration option, WITH_THRIFT,
which accepts "auto", "system", or "bundled". In "auto" mode (the
default), the build system attempts to use the system-installed Thrift
library and falls back to the bundled version if the system library is
not available. Setting WITH_THRIFT to "system" enforces the use of the
system Thrift, causing the configuration to fail if it isn't found,
while "bundled" forces the use of the bundled version.

The change mainly useful for downstream maintainers as it gives them
flexibility over dependency management.

Downstream-issue: https://bugs.gentoo.org/949680
2025-02-28 17:15:35 +04:00
9763b12651 MCOL-5880: get rid of CLI11 dep in favour of boost::program_options 2025-01-14 14:58:22 +04:00
2b404fff1f fix(syscat): MCOL-5816 23.02 -> 23.10 upgrade issues (#3346)
* feat(BRM,tools): couple utilities to watch/operate shared memory locks and extent map

* feat(BRM,tools): merged two utilities and added some extra dbbuilder output in case of upgrade

* fix(dbbuilder): extra output to log upgrade detection.
2024-12-23 23:01:55 +04:00
27a2142de3 remove boost from deps, add procsps, due without ps installation halts 2024-01-09 12:37:18 +03:00
cbf6eff94d Update boost to 1.84 2024-01-04 11:40:56 +03:00
70111eba3d chore(external-libs): remove unused pattern matching lib b/c the standard will presumably use a different implementation for pattern matching. 2023-09-12 12:04:34 +03:00
d2aaf857f7 MCOL-5548: Fix cmapi package filenaming.
[add] dynamic year to cmapi CmakeLists
[add] package description to cmapi CmakeLists
[add] use MDB ES repo cmake dir
[fix] cmapi package filenaming
[fix] .drone.jsonnet to do cmapi build step depending on clonning mdb step
[add] cmapi_misc.cmake file
[add] lsb-release package to build deps in drone.jsonnet file
[fix] wrong debian and rpm requires curl placement
[fix] SET(CPACK_PACKAGE_FILE_NAME
[add] redhat-lsb-core package for RHEL systems
[add] SERVER_DIR argument for cmapi CmakeLists.txt
[add] get_linux_lsb_release_information() for both deb and rpm builds
2023-09-08 16:33:12 +03:00
741774eafa Update 'configureEngine.cmake' to not write to source dir (#2893)
It is currently not possible to do a full MariaDB build without touching the
source tree, i.e. such that the the source tree could exist on a read-only
filesystem. This columnstore build file currently creates temporary files in
the source tree to evaluate how the operating system handles them, so it is
one blocker to these isolated builds.

This patch adjusts these tests to create the temporary files in the output
directory, rather than in the source tree.

Signed-off-by: Trevor Gross <tmgross@umich.edu>
2023-07-10 17:45:22 +03:00
0482308b45 disable pch when building boost with gcc 8.x
according to https://bugzilla.redhat.com/show_bug.cgi?id=1806545

  GCC's PCH mechanism is fundamentally incompatible with the security
  hardening requirements for RHEL (PIE in particular).  We are currently
  evaluating the best way to present a more friendly diagnostic for this
  issue.

and also

  we don't turn on hardening the compiler and its binaries in DTS 9.
2023-07-04 12:58:18 -04:00
b2a573cf82 MCOL-5521: Use Columnstore VERSION file for CMAPI versioning. (#2885)
[fix] columnstore_version.cmake setting extra variables for CMAPI versioning
[fix] CMAPI CmakeLists.txt using columnstore_version.cmake file
[fix] CMAPI VERSION file to template file due to using it inside CMAPI applicatio
n
2023-06-29 15:47:55 +03:00
3364ceb2f0 cmake fixes related to mpark_patterns. 2023-05-08 18:56:48 +00:00
176eefcc57 MCOL-5456 codebase preparation for colab with CS 11.1 2023-05-08 18:54:47 +00:00
60609e6c3d Fix to thrift from serg 2023-03-14 17:07:34 +03:00
6f0d66b574 Bump boost version to 1.81 2023-03-09 20:15:20 +00:00
3b68353429 remove commited old thrift, replace with static lib build from exterrnal project 2023-01-16 15:37:01 +03:00
ae88ef1823 use system boost, if possible
boost 1.71.0 is what ubuntu focal has, so let's start with that version.
boost 1.77.0 is the first that supports c++20
2022-11-17 11:47:08 -06:00
7e17d88254 cmake version set to 3.10 2022-09-01 16:03:29 +03:00
9ffc05748b This is an intermediate merge of the 22.08.01 release branch to pick
up ARM packaging/building changes
2022-09-01 07:59:28 +00:00
726cc3684b Proper external_boost for storage manager, cmake version REQUIRES 2022-08-30 22:41:44 +00:00
611a632f30 set plugin version correctly 2022-08-30 21:17:54 +02:00
18001d3873 start from the empty list of byproducts 2022-08-30 20:46:12 +02:00
a4f2e5b331 external_boost is only needed as a columnstore dependency
it should not be added to the 'all' target
2022-08-30 20:01:17 +02:00
a7a9ccf889 Serg dev (#2504)
* more build dependencies

* fix for cmake < 3.11

It cannot do ADD_LIBRARY(... ALIAS ...) on IMPORTED targets

* another fix for cmake 3.10.2

It doesn't know about CMAKE_CXX_STANDARD=20,
let's add the correct flag manually

* gcc 8 on aarch64

utils/common/simd_arm.h:241:16: error: need ‘typename’ before ‘simd::TypeToVecWrapperType<T>::WrapperType’ because ‘simd::TypeToVecWrapperType<T>’ is a dependent scope
2022-08-15 13:35:30 +03:00
dee50318ad Serg dev (#2502)
* build boost during build phase, not during configure

* add dependency for generated header files errorids.h messageids.h

see 7e868bc588

* set explicit dependencies on external_boost for #include's

* clang-14 compatibility fix
2022-08-13 07:18:30 +03:00
0489682f9d Use boost tarball instead of clone 2022-05-05 16:44:23 +00:00
c25ae4f378 Use external boost 1.78 2022-05-02 18:23:37 +00:00
b46f4b42b3 MCOL-4809 Vectorized comparison operations unit tests
This commit replaces system googletest with 0.11.1 version compiled from sources
    to enable typed tests feature
2022-02-25 14:32:47 +03:00
866dc25729 Merge pull request #1842 from denis0x0D/MCOL-987_LZ
MCOL-987 LZ4 compression support.
2021-07-07 13:13:18 +03:00
8332ab8974 MCOL-4738 AVG() returns a wrong result
On AMD64 machines, the fpu is 80 bits. The unused bits must be masked for memcmp to work properly. For other archetectures, we don't want to mask those bits.
2021-07-06 19:50:00 -05:00
cc1c3629c5 MCOL-987 Add LZ4 compression.
* Adds CompressInterfaceLZ4 which uses LZ4 API for compress/uncompress.
* Adds CMake machinery to search LZ4 on running host.
* All methods which use static data and do not modify any internal data - become `static`,
  so we can use them without creation of the specific object. This is possible, because
  the header specification has not been modified. We still use 2 sections in header, first
  one with file meta data, the second one with pointers for compressed chunks.
* Methods `compress`, `uncompress`, `maxCompressedSize`, `getUncompressedSize` - become
  pure virtual, so we can override them for the other compression algos.
* Adds method `getChunkMagicNumber`, so we can verify chunk magic number
  for each compression algo.
* Renames "s/IDBCompressInterface/CompressInterface/g" according to requirement.
2021-07-06 18:04:37 +03:00
c74beb6178 MCOL-4554: use jemalloc provided by repo. 2021-03-18 12:35:16 -05:00
6926ca6d6e MCOL-4535: remove readline 2021-02-05 15:46:04 -06:00
b29d0c9daa MCOL-641 Changed the hint to search for GTest headers.
This commit introduces DataConvert UTs.

DataConvert::decimalToString now can negative values.

Next version for Row::toString(), applyMapping UT checks.

Row:equals() is now wide-DECIMAL aware.
2020-11-18 13:47:02 +00:00
f73de30427 MCOL-641 This commit introduces GTest Suite into CS.
Binary NULL magic now consists of a series of BINARYEMPTYROW-s + BINARYNULL
in the end.

ByteStream now has hexbyte alias.

Added ColumnCommand::getEmptyRowValue to support 16 byte EMPTY values.
2020-11-18 13:47:01 +00:00
83f5ff5723 MCOL-4191: Install jemalloc.so with columnstore 2020-09-11 13:09:31 -05:00
5576b18ff6 MCOL-4144 Add python3 as dependency 2020-06-25 19:36:02 +00:00