1
0
mirror of https://github.com/codership/wsrep-lib.git synced 2025-07-18 14:02:16 +03:00
Commit Graph

39 Commits

Author SHA1 Message Date
324b01e431 MDEV-36422 Build fails with cmake 4.0.0
Set policy_max version to 4.0 to avoid error

    Compatibility with CMake < 3.5 has been removed from CMake.

Add github workflow to check CMake compatibility for commonly used
versions and the newest ones.
2025-04-03 09:09:08 +03:00
4980861963 Use superproject BOOST_INCLUDE_DIR if set
Extract unittest specific cmake into separate unit to clean up
the main CMakeLists.txt.

fixes codership/wsrep-lib#231
2024-05-15 09:56:22 +03:00
66a8fa9b13 Add -Winconsistent-missing-destructor-override if compiler supports 2023-03-30 13:03:43 +03:00
de3d7b63ea Add report_event() method into reporter object
Report event will write json formatted event into report
file.

Include Boost headers as system headers to avoid generating
excessive warnings. Enable extra tests for selected compilers
in actions.
2022-12-05 17:05:14 +02:00
b5bddfe4db Fix warnings when -Wextra-semi is enabled
Also, add argument -Wextra-semi if supported by the compiler.
2022-09-20 13:41:07 +03:00
6caf006214 Minor tweaks to boost library detection
- Change default WITH_BOOST path to reside inside source tree
  to avoid permission problems or accidentally overwriting
  directories outside source tree.
- If system Boost installation is not found, optionally use
  header only unit test framework from location specified by
  WITH_BOOST.
- Fix extra-semi warning in provider_options.hpp.
2022-09-19 15:51:22 +03:00
4f1c201c9d Initial implementation of the status interface reporter object. 2021-09-05 15:42:54 +03:00
7245db4704 Enable -Wsuggest-override if supported by the compiler. 2020-10-22 17:31:21 +03:00
abc0e629ee Fix instructions on how to get a coverage report 2020-10-05 15:28:22 +02:00
3f1c3dc22d Make coverage work with out-of-source builds 2020-09-28 18:44:37 +02:00
ae4e58ba03 Check existence if dl library.
All platforms do not have dl library, but dlopen() and friends
are included in libc.

Check existence of dl lib and store into WSREP_LIB_LIBDL if found.
2020-07-31 11:13:15 +03:00
8ba574f7bf Make sure that NDEBUG is defined in release builds. 2020-07-23 10:12:30 +03:00
9b25cebdf1 codership/wsrep-lib#117 Fixed empty vector access.
Access to empty vector by using operator[] may cause stdlib++
assertions to fail. Replaced the vector data access to use data()
method which is valid operation even if the vector is empty.

Added unit test to reproduce assertion with empty mutable_buffer access.

Added -D_GLIBCXX_ASSERTIONS preprocessor option to debug builds
to catch standard library misuse.

Added gcc 8 and gcc9 into travis build matrix.
2019-12-05 14:27:35 +02:00
eb4cf86c1e Implemented thread service support.
Added a wsrep::thread_service interface to allow application to
inject instrumented thread, mutex and condition variable implementation
for provider.

The interface is defined in include/wsrep/thread_service.hpp.
Sample implementation is provided in dbsim/db_threads.[h|c]pp.

This patch will also clean up some remaining dependencies to
wsrep-API compilation units so that the dependency to wsrep-API
is header only. This will extending the provider support to
later wsrep-API versions.
2019-10-14 09:30:15 +03:00
477a71dd46 Updated wsrep-API, added -Wconversion to compiler flags, fixed errors. 2019-10-11 09:56:07 +03:00
eba8a8f35d Added version header, handle version in top level CMakeLists.txt
Added version header which contains definitions for major, minor
and patch version numbers, as well as for lowest and highest supported
wsrep-API versions. The library versioning follows Semantic Versioning.

Handle CMake policy CMP0048 in top level CMakeLists.txt.
2019-06-10 12:27:09 +03:00
af8383daf0 C++11 checks in CMakeLists.txt, added atomic.hpp
Check if the superproject has already enabled C++11 before enabling
it in CMakeLists.txt.

Added utility file atomic.hpp to select the correct atomics header
to work around issues with ancient GCC 4.4.
2019-02-13 13:05:45 +02:00
be98517cb3 Debug log level implementation
Debug log will now filter output based on debug level that is enabled.
2019-02-13 13:05:45 +02:00
2e4cebb9e9 Added WSREP_LIB_MAINTAINER_MODE cmake option
In order to avoid excessive build failures because of compiler
warnings, added WSREP_LIB_MAINTAINER_MODE cmake option which
must be enabled explicity in order to enable -Werror build flag.
2019-01-24 17:57:23 +02:00
4ee624cfbc Tweaks to travis configuration and cmake
Travis:
* Don't install all g++ versions on all build targets.
* Install addons per target to have finer control on what is needed
* Use WSREP_STRICT_BUILD_FLAGS on other targets than GCC 4.8

cmake:
* Fixed CMakeLists.txt to check only boost libraries which are
  actually needed
2018-10-24 19:15:52 +03:00
9fccd8e1ee Travis CI configuration file
In order to make build successful on wider number of platforms,
removed -Weffc++ from default build options. Added a new cmake
option WSREP_LIB_STRICT_BUILD_FLAGS to enable it.
2018-10-24 19:15:52 +03:00
cf434f3da5 Fix make test
Fixed `make test` so that it runs unit tests.

codership/wsrep-lib#7
2018-10-19 12:13:10 +03:00
5e5906d598 Prefixed cmake WITH_ definitions with WSREP_LIB_ to avoid collisions
with superproject definitions.

Avoid using client_service::do_2pc() in before_commit() to
determine if 2pc is actually happening, will use transaction
states to deduce that. client_service::do_2pc() should be deprecated.

Fixed a compiler warning in db_high_priority_service.cpp.
2018-10-12 16:04:52 +03:00
e916453e6d Enabled Wnon-virtual-dtor 2018-07-09 23:03:44 +03:00
3632e7823c Pass high_priority_service instead of void ptr for provider methods. 2018-07-03 07:48:35 +03:00
bf7dad6815 Added open(), close(), cleanup() methods to client_state.
Depending on the DBMS client session allocation strategy the
client id may or may not be available when the client_session
is constructed, therefore there should be a method to assign
an id after construction. Close/cleanup methods were added to
clean up open transactions appropriately.
2018-06-20 10:07:55 +03:00
461247adc1 Renamed unit test doubles 2018-06-13 11:23:48 +03:00
292072bf56 Reorganized coverage report, missing test cases for id. 2018-06-12 19:00:05 +03:00
174ecfe578 Moved tests under separate directory. 2018-06-12 18:17:32 +03:00
2619615e02 Fixed problems with server_context unit tests.
Added WITH_ASAN and WITH_TSAN options, enabled unit tests by default.
2018-06-10 15:31:41 +03:00
15f483ca7f Added wsrep-API/v26 submodule which will point to correct branch
of current wsrep-API v26 version.
2018-06-05 12:45:25 +03:00
d3cb537d1e Changed project name to wsrep-lib. 2018-06-03 21:56:28 +03:00
0988978826 Moved public API includes under include/trrep 2018-05-07 19:40:10 +03:00
c301c0896b Refactoring. 2018-04-29 17:15:24 +03:00
f3afb6306d Initial documentation for server context. 2018-04-27 10:33:53 +03:00
3510d0739c Added SST methods, able to start several nodes in simulator 2018-04-19 15:03:38 +03:00
557d43657c Initial version of dbms_simulator, partial wsrep provider loading 2018-04-18 18:16:55 +03:00
7e5d2d3606 Added placeholder doxyfile 2018-04-17 16:58:28 +03:00
3b428ff0b7 Imported initial implementation 2018-04-16 14:37:58 +03:00