2018-03-23 16:05:14 +00:00
|
|
|
#include <port/unistd.h>
|
2016-02-19 20:13:54 +00:00
|
|
|
#include <iostream>
|
|
|
|
#include <Poco/File.h>
|
|
|
|
#include <Poco/Path.h>
|
2017-04-01 09:19:00 +00:00
|
|
|
#include <Common/Exception.h>
|
2016-02-19 20:13:54 +00:00
|
|
|
|
|
|
|
|
2018-11-21 20:56:37 +00:00
|
|
|
namespace DB
|
|
|
|
{
|
|
|
|
namespace ErrorCodes
|
|
|
|
{
|
|
|
|
extern const int SYSTEM_ERROR;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-12-02 02:47:12 +00:00
|
|
|
int main(int, char **)
|
2016-02-19 20:13:54 +00:00
|
|
|
try
|
|
|
|
{
|
2017-04-01 07:20:54 +00:00
|
|
|
Poco::File dir("./test_dir/");
|
|
|
|
dir.createDirectories();
|
2016-02-19 20:13:54 +00:00
|
|
|
|
2017-04-01 07:20:54 +00:00
|
|
|
Poco::File("./test_dir/file").createFile();
|
2016-02-19 20:13:54 +00:00
|
|
|
|
2017-04-01 07:20:54 +00:00
|
|
|
if (0 != symlink("./test_dir", "./test_link"))
|
2019-08-07 12:52:47 +00:00
|
|
|
DB::throwFromErrnoWithPath("Cannot create symlink", "./test_link", DB::ErrorCodes::SYSTEM_ERROR);
|
2016-02-19 20:13:54 +00:00
|
|
|
|
2017-04-01 07:20:54 +00:00
|
|
|
Poco::File link("./test_link");
|
|
|
|
link.renameTo("./test_link2");
|
2016-02-19 20:13:54 +00:00
|
|
|
|
2017-04-01 07:20:54 +00:00
|
|
|
Poco::File("./test_link2").remove(true);
|
|
|
|
return 0;
|
2016-02-19 20:13:54 +00:00
|
|
|
}
|
|
|
|
catch (...)
|
|
|
|
{
|
2017-04-01 07:20:54 +00:00
|
|
|
std::cerr << DB::getCurrentExceptionMessage(false) << "\n";
|
|
|
|
return 1;
|
2016-02-19 20:13:54 +00:00
|
|
|
}
|