diff options
author | ilnaz <ilnaz@ydb.tech> | 2023-07-13 20:50:05 +0300 |
---|---|---|
committer | ilnaz <ilnaz@ydb.tech> | 2023-07-13 20:50:05 +0300 |
commit | 7b0e247e7b3c2dcd2ecb25060f4aa7eba43fec74 (patch) | |
tree | ebe5cfa4e41f7110035144098397dceb52429d32 | |
parent | ecb193692e96a585cb6da07242eacbd3639082a1 (diff) | |
download | ydb-7b0e247e7b3c2dcd2ecb25060f4aa7eba43fec74.tar.gz |
Filter out system objects KIKIMR-18740
-rw-r--r-- | ydb/library/backup/db_iterator.h | 3 | ||||
-rw-r--r-- | ydb/public/lib/ydb_cli/common/CMakeLists.darwin-x86_64.txt | 1 | ||||
-rw-r--r-- | ydb/public/lib/ydb_cli/common/CMakeLists.linux-aarch64.txt | 1 | ||||
-rw-r--r-- | ydb/public/lib/ydb_cli/common/CMakeLists.linux-x86_64.txt | 1 | ||||
-rw-r--r-- | ydb/public/lib/ydb_cli/common/CMakeLists.windows-x86_64.txt | 1 | ||||
-rw-r--r-- | ydb/public/lib/ydb_cli/common/recursive_list.cpp | 3 | ||||
-rw-r--r-- | ydb/public/lib/ydb_cli/common/sys.cpp | 17 | ||||
-rw-r--r-- | ydb/public/lib/ydb_cli/common/sys.h | 14 | ||||
-rw-r--r-- | ydb/public/lib/ydb_cli/common/ya.make | 1 |
9 files changed, 40 insertions, 2 deletions
diff --git a/ydb/library/backup/db_iterator.h b/ydb/library/backup/db_iterator.h index 3abc8ecb99..7d3efb63d3 100644 --- a/ydb/library/backup/db_iterator.h +++ b/ydb/library/backup/db_iterator.h @@ -1,5 +1,6 @@ #pragma once +#include <ydb/public/lib/ydb_cli/common/sys.h> #include <ydb/public/sdk/cpp/client/ydb_table/table.h> #include <ydb/public/sdk/cpp/client/ydb_scheme/scheme.h> @@ -141,7 +142,7 @@ public: } bool IsSkipped() const { - return IsDir() && GetCurrentNode()->Name.StartsWith("~") || GetCurrentNode()->Name.StartsWith(".sys"); + return NConsoleClient::IsSystemObject(*GetCurrentNode()); } void Next() { diff --git a/ydb/public/lib/ydb_cli/common/CMakeLists.darwin-x86_64.txt b/ydb/public/lib/ydb_cli/common/CMakeLists.darwin-x86_64.txt index 3887241519..7ca1529d39 100644 --- a/ydb/public/lib/ydb_cli/common/CMakeLists.darwin-x86_64.txt +++ b/ydb/public/lib/ydb_cli/common/CMakeLists.darwin-x86_64.txt @@ -61,6 +61,7 @@ target_sources(common PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/retry_func.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/root.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/scheme_printers.cpp + ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/sys.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/tabbed_table.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/ydb_updater.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/yt.cpp diff --git a/ydb/public/lib/ydb_cli/common/CMakeLists.linux-aarch64.txt b/ydb/public/lib/ydb_cli/common/CMakeLists.linux-aarch64.txt index 8f0b7768a3..cdb21eb28b 100644 --- a/ydb/public/lib/ydb_cli/common/CMakeLists.linux-aarch64.txt +++ b/ydb/public/lib/ydb_cli/common/CMakeLists.linux-aarch64.txt @@ -62,6 +62,7 @@ target_sources(common PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/retry_func.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/root.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/scheme_printers.cpp + ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/sys.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/tabbed_table.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/ydb_updater.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/yt.cpp diff --git a/ydb/public/lib/ydb_cli/common/CMakeLists.linux-x86_64.txt b/ydb/public/lib/ydb_cli/common/CMakeLists.linux-x86_64.txt index 8f0b7768a3..cdb21eb28b 100644 --- a/ydb/public/lib/ydb_cli/common/CMakeLists.linux-x86_64.txt +++ b/ydb/public/lib/ydb_cli/common/CMakeLists.linux-x86_64.txt @@ -62,6 +62,7 @@ target_sources(common PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/retry_func.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/root.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/scheme_printers.cpp + ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/sys.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/tabbed_table.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/ydb_updater.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/yt.cpp diff --git a/ydb/public/lib/ydb_cli/common/CMakeLists.windows-x86_64.txt b/ydb/public/lib/ydb_cli/common/CMakeLists.windows-x86_64.txt index 3887241519..7ca1529d39 100644 --- a/ydb/public/lib/ydb_cli/common/CMakeLists.windows-x86_64.txt +++ b/ydb/public/lib/ydb_cli/common/CMakeLists.windows-x86_64.txt @@ -61,6 +61,7 @@ target_sources(common PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/retry_func.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/root.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/scheme_printers.cpp + ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/sys.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/tabbed_table.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/ydb_updater.cpp ${CMAKE_SOURCE_DIR}/ydb/public/lib/ydb_cli/common/yt.cpp diff --git a/ydb/public/lib/ydb_cli/common/recursive_list.cpp b/ydb/public/lib/ydb_cli/common/recursive_list.cpp index 5dd207c0fe..91ca5f38cb 100644 --- a/ydb/public/lib/ydb_cli/common/recursive_list.cpp +++ b/ydb/public/lib/ydb_cli/common/recursive_list.cpp @@ -1,4 +1,5 @@ #include "recursive_list.h" +#include "sys.h" #include <util/string/join.h> @@ -28,7 +29,7 @@ namespace { } for (const auto& child : list.GetChildren()) { - if (settings.SkipSys_ && child.Name.StartsWith(".sys")) { + if (settings.SkipSys_ && IsSystemObject(child)) { continue; } diff --git a/ydb/public/lib/ydb_cli/common/sys.cpp b/ydb/public/lib/ydb_cli/common/sys.cpp new file mode 100644 index 0000000000..d13edd492e --- /dev/null +++ b/ydb/public/lib/ydb_cli/common/sys.cpp @@ -0,0 +1,17 @@ +#include "sys.h" + +#include <ydb/public/sdk/cpp/client/ydb_scheme/scheme.h> + +namespace NYdb::NConsoleClient { + +bool IsSystemObject(const NScheme::TSchemeEntry& entry) { + if (entry.Type != NScheme::ESchemeEntryType::Directory) { + return false; + } + + return entry.Name.StartsWith("~") + || entry.Name.StartsWith(".sys") + || entry.Name.StartsWith(".metadata"); +} + +} diff --git a/ydb/public/lib/ydb_cli/common/sys.h b/ydb/public/lib/ydb_cli/common/sys.h new file mode 100644 index 0000000000..4a4b19717b --- /dev/null +++ b/ydb/public/lib/ydb_cli/common/sys.h @@ -0,0 +1,14 @@ +#pragma once + +namespace NYdb { + +namespace NScheme { + struct TSchemeEntry; +} + +namespace NConsoleClient { + +bool IsSystemObject(const NScheme::TSchemeEntry& entry); + +} // NConsoleClient +} // NYdb diff --git a/ydb/public/lib/ydb_cli/common/ya.make b/ydb/public/lib/ydb_cli/common/ya.make index f58cd19273..f2aaee47fd 100644 --- a/ydb/public/lib/ydb_cli/common/ya.make +++ b/ydb/public/lib/ydb_cli/common/ya.make @@ -21,6 +21,7 @@ SRCS( retry_func.cpp root.cpp scheme_printers.cpp + sys.cpp tabbed_table.cpp ydb_updater.cpp yt.cpp |