You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
Migration for Boost 1.85
Boost 1.85 removed some deprecated code in filesystem module which is still used in columnstore: - The boost/filesystem/convenience.hpp was removed but columnstore does not use any functionality from that file except indirect includes. Therefore this include is removed or replaced with more general boost/filesystem.hpp. The convenience.hpp header file was deprecated in filesystem V3 introduced in Boost 1.46.0. - `normalize` method was removed and users are suggested to replace it with `lexically_normal` method, which was introduced in Boost 1.60.0. Original `normalize` call is preserved for backward compatibility with old Boost version, however`, `lexically_normal` method is preferably used with Boost 1.60.0 and newer. - The `copy_option` was removed in favor of `copy_options` (note the trailing 's'), but enum values were renamed. Namely, `fail_if_exists` is replaced with `none` and `overwrite_if_exists` is replaced with `overwrite_existing`. The `copy_options` was introduced in Boost 1.74.0. New form is used instead, but a backward compatibility layer for Boost 1.73.0 and older was introduced in boost_copy_options_compat.hpp file. This solution seems to be less awkward than using multiple #if #else #endif blocks in source code.
This commit is contained in:
committed by
Leonid Fedorov
parent
ef0647b74a
commit
86159cc899
28
utils/common/boost_copy_options_compat.hpp
Normal file
28
utils/common/boost_copy_options_compat.hpp
Normal file
@ -0,0 +1,28 @@
|
||||
#ifndef COMPAT_BOOST_FILESYSTEM_HPP
|
||||
#define COMPAT_BOOST_FILESYSTEM_HPP
|
||||
|
||||
#include <boost/version.hpp>
|
||||
|
||||
// copy_option was replaced with copy_options in version 1.74.0 released 2020-08-14
|
||||
// copy_option was removed in version 1.85.0 released 2024-04-15
|
||||
#if BOOST_VERSION < 107400
|
||||
|
||||
#include <boost/filesystem/operations.hpp>
|
||||
|
||||
namespace boost
|
||||
{
|
||||
namespace filesystem
|
||||
{
|
||||
namespace copy_options
|
||||
{
|
||||
|
||||
constexpr copy_option::enum_type overwrite_existing = copy_option::overwrite_if_exists;
|
||||
constexpr copy_option::enum_type none = copy_option::fail_if_exists;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user