mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-12 01:12:12 +00:00
fix ut and some bug
This commit is contained in:
parent
98f37afc80
commit
63dc6821d2
@ -84,24 +84,21 @@
|
|||||||
#include <Storages/MergeTree/BackgroundJobsAssignee.h>
|
#include <Storages/MergeTree/BackgroundJobsAssignee.h>
|
||||||
#include <Storages/MergeTree/MergeTreeBackgroundExecutor.h>
|
#include <Storages/MergeTree/MergeTreeBackgroundExecutor.h>
|
||||||
#include <Storages/MergeTree/MergeTreeDataPartUUID.h>
|
#include <Storages/MergeTree/MergeTreeDataPartUUID.h>
|
||||||
|
#include <Storages/MergeTree/MergeTreeMetadataCache.h>
|
||||||
#include <Interpreters/SynonymsExtensions.h>
|
#include <Interpreters/SynonymsExtensions.h>
|
||||||
#include <Interpreters/Lemmatizers.h>
|
#include <Interpreters/Lemmatizers.h>
|
||||||
#include <Interpreters/ClusterDiscovery.h>
|
#include <Interpreters/ClusterDiscovery.h>
|
||||||
#include <filesystem>
|
#include <filesystem>
|
||||||
|
|
||||||
|
#if USE_ROCKSDB
|
||||||
|
#include <rocksdb/table.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace fs = std::filesystem;
|
namespace fs = std::filesystem;
|
||||||
|
|
||||||
namespace ProfileEvents
|
namespace ProfileEvents
|
||||||
{
|
{
|
||||||
extern const Event ContextLock;
|
extern const Event ContextLock;
|
||||||
|
|
||||||
#if USE_ROCKSDB
|
|
||||||
extern const Event MergeTreeMetadataCachePut;
|
|
||||||
extern const Event MergeTreeMetadataCacheGet;
|
|
||||||
extern const Event MergeTreeMetadataCacheDelete;
|
|
||||||
extern const Event MergeTreeMetadataCacheSeek;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace CurrentMetrics
|
namespace CurrentMetrics
|
||||||
@ -449,59 +446,6 @@ SharedContextHolder::SharedContextHolder(std::unique_ptr<ContextSharedPart> shar
|
|||||||
|
|
||||||
void SharedContextHolder::reset() { shared.reset(); }
|
void SharedContextHolder::reset() { shared.reset(); }
|
||||||
|
|
||||||
#if USE_ROCKSDB
|
|
||||||
MergeTreeMetadataCache::Status MergeTreeMetadataCache::put(const String & key, const String & value)
|
|
||||||
{
|
|
||||||
auto options = rocksdb::WriteOptions();
|
|
||||||
auto status = rocksdb->Put(options, key, value);
|
|
||||||
ProfileEvents::increment(ProfileEvents::MergeTreeMetadataCachePut);
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
MergeTreeMetadataCache::Status MergeTreeMetadataCache::del(const String & key)
|
|
||||||
{
|
|
||||||
auto options = rocksdb::WriteOptions();
|
|
||||||
auto status = rocksdb->Delete(options, key);
|
|
||||||
ProfileEvents::increment(ProfileEvents::MergeTreeMetadataCacheDelete);
|
|
||||||
LOG_TRACE(log, "Delete key:{} from MergeTreeMetadataCache status:{}", key, status.ToString());
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
MergeTreeMetadataCache::Status MergeTreeMetadataCache::get(const String & key, String & value)
|
|
||||||
{
|
|
||||||
auto status = rocksdb->Get(rocksdb::ReadOptions(), key, &value);
|
|
||||||
ProfileEvents::increment(ProfileEvents::MergeTreeMetadataCacheGet);
|
|
||||||
LOG_TRACE(log, "Get key:{} from MergeTreeMetadataCache status:{}", key, status.ToString());
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
void MergeTreeMetadataCache::getByPrefix(const String & prefix, Strings & keys, Strings & values)
|
|
||||||
{
|
|
||||||
auto * it = rocksdb->NewIterator(rocksdb::ReadOptions());
|
|
||||||
rocksdb::Slice target(prefix);
|
|
||||||
for (it->Seek(target); it->Valid(); it->Next())
|
|
||||||
{
|
|
||||||
const auto key = it->key();
|
|
||||||
if (!key.starts_with(target))
|
|
||||||
break;
|
|
||||||
|
|
||||||
const auto value = it->value();
|
|
||||||
keys.emplace_back(key.data(), key.size());
|
|
||||||
values.emplace_back(value.data(), value.size());
|
|
||||||
}
|
|
||||||
LOG_TRACE(log, "Seek with prefix:{} from MergeTreeMetadataCache items:{}", prefix, keys.size());
|
|
||||||
ProfileEvents::increment(ProfileEvents::MergeTreeMetadataCacheSeek);
|
|
||||||
}
|
|
||||||
|
|
||||||
void MergeTreeMetadataCache::shutdown()
|
|
||||||
{
|
|
||||||
if (rocksdb)
|
|
||||||
{
|
|
||||||
rocksdb->Close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
ContextMutablePtr Context::createGlobal(ContextSharedPart * shared)
|
ContextMutablePtr Context::createGlobal(ContextSharedPart * shared)
|
||||||
{
|
{
|
||||||
auto res = std::shared_ptr<Context>(new Context);
|
auto res = std::shared_ptr<Context>(new Context);
|
||||||
|
@ -16,12 +16,8 @@
|
|||||||
#include <base/types.h>
|
#include <base/types.h>
|
||||||
#include <Storages/MergeTree/ParallelReplicasReadingCoordinator.h>
|
#include <Storages/MergeTree/ParallelReplicasReadingCoordinator.h>
|
||||||
|
|
||||||
#include "config_core.h"
|
|
||||||
|
|
||||||
#if USE_ROCKSDB
|
#include "config_core.h"
|
||||||
#include <rocksdb/db.h>
|
|
||||||
#include <rocksdb/table.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <boost/container/flat_set.hpp>
|
#include <boost/container/flat_set.hpp>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
@ -155,6 +151,12 @@ using ReadTaskCallback = std::function<String()>;
|
|||||||
|
|
||||||
using MergeTreeReadTaskCallback = std::function<std::optional<PartitionReadResponse>(PartitionReadRequest)>;
|
using MergeTreeReadTaskCallback = std::function<std::optional<PartitionReadResponse>(PartitionReadRequest)>;
|
||||||
|
|
||||||
|
|
||||||
|
#if USE_ROCKSDB
|
||||||
|
class MergeTreeMetadataCache;
|
||||||
|
using MergeTreeMetadataCachePtr = std::shared_ptr<MergeTreeMetadataCache>;
|
||||||
|
#endif
|
||||||
|
|
||||||
/// An empty interface for an arbitrary object that may be attached by a shared pointer
|
/// An empty interface for an arbitrary object that may be attached by a shared pointer
|
||||||
/// to query context, when using ClickHouse as a library.
|
/// to query context, when using ClickHouse as a library.
|
||||||
struct IHostContext
|
struct IHostContext
|
||||||
@ -182,28 +184,6 @@ private:
|
|||||||
std::unique_ptr<ContextSharedPart> shared;
|
std::unique_ptr<ContextSharedPart> shared;
|
||||||
};
|
};
|
||||||
|
|
||||||
#if USE_ROCKSDB
|
|
||||||
class MergeTreeMetadataCache
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
using Status = rocksdb::Status;
|
|
||||||
|
|
||||||
explicit MergeTreeMetadataCache(rocksdb::DB * rocksdb_) : rocksdb{rocksdb_} { }
|
|
||||||
MergeTreeMetadataCache(const MergeTreeMetadataCache &) = delete;
|
|
||||||
MergeTreeMetadataCache & operator=(const MergeTreeMetadataCache &) = delete;
|
|
||||||
|
|
||||||
Status put(const String & key, const String & value);
|
|
||||||
Status del(const String & key);
|
|
||||||
Status get(const String & key, String & value);
|
|
||||||
void getByPrefix(const String & prefix, Strings & keys, Strings & values);
|
|
||||||
|
|
||||||
void shutdown();
|
|
||||||
private:
|
|
||||||
std::unique_ptr<rocksdb::DB> rocksdb;
|
|
||||||
Poco::Logger * log = &Poco::Logger::get("MergeTreeMetadataCache");
|
|
||||||
};
|
|
||||||
using MergeTreeMetadataCachePtr = std::shared_ptr<MergeTreeMetadataCache>;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/** A set of known objects that can be used in the query.
|
/** A set of known objects that can be used in the query.
|
||||||
* Consists of a shared part (always common to all sessions and queries)
|
* Consists of a shared part (always common to all sessions and queries)
|
||||||
|
@ -820,8 +820,7 @@ void IMergeTreeDataPart::appendFilesofIndex(Strings & files) const
|
|||||||
if (!metadata_snapshot)
|
if (!metadata_snapshot)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
size_t key_size = metadata_snapshot->getPrimaryKeyColumns().size();
|
if (metadata_snapshot->hasPrimaryKey())
|
||||||
if (key_size)
|
|
||||||
files.push_back("primary.idx");
|
files.push_back("primary.idx");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -386,8 +386,6 @@ public:
|
|||||||
/// storage and pass it to this method.
|
/// storage and pass it to this method.
|
||||||
virtual bool hasColumnFiles(const NameAndTypePair & /* column */) const { return false; }
|
virtual bool hasColumnFiles(const NameAndTypePair & /* column */) const { return false; }
|
||||||
|
|
||||||
virtual Strings getIndexGranularityFiles() const = 0;
|
|
||||||
|
|
||||||
/// Returns true if this part shall participate in merges according to
|
/// Returns true if this part shall participate in merges according to
|
||||||
/// settings of given storage policy.
|
/// settings of given storage policy.
|
||||||
bool shallParticipateInMerges(const StoragePolicyPtr & storage_policy) const;
|
bool shallParticipateInMerges(const StoragePolicyPtr & storage_policy) const;
|
||||||
|
@ -197,10 +197,4 @@ void MergeTreeDataPartCompact::appendFilesOfIndexGranularity(Strings& /* files *
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
Strings MergeTreeDataPartCompact::getIndexGranularityFiles() const
|
|
||||||
{
|
|
||||||
auto marks_file = index_granularity_info.getMarksFilePath("data");
|
|
||||||
return {marks_file};
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -74,8 +74,6 @@ private:
|
|||||||
void calculateEachColumnSizes(ColumnSizeByName & each_columns_size, ColumnSize & total_size) const override;
|
void calculateEachColumnSizes(ColumnSizeByName & each_columns_size, ColumnSize & total_size) const override;
|
||||||
|
|
||||||
void appendFilesOfIndexGranularity(Strings& files) const override;
|
void appendFilesOfIndexGranularity(Strings& files) const override;
|
||||||
|
|
||||||
Strings getIndexGranularityFiles() const override;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -171,12 +171,6 @@ void MergeTreeDataPartInMemory::appendFilesOfIndexGranularity(Strings& /* files
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/// No mark files for part in memory
|
|
||||||
Strings MergeTreeDataPartInMemory::getIndexGranularityFiles() const
|
|
||||||
{
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
|
|
||||||
DataPartInMemoryPtr asInMemoryPart(const MergeTreeDataPartPtr & part)
|
DataPartInMemoryPtr asInMemoryPart(const MergeTreeDataPartPtr & part)
|
||||||
{
|
{
|
||||||
return std::dynamic_pointer_cast<const MergeTreeDataPartInMemory>(part);
|
return std::dynamic_pointer_cast<const MergeTreeDataPartInMemory>(part);
|
||||||
|
@ -64,8 +64,6 @@ private:
|
|||||||
void calculateEachColumnSizes(ColumnSizeByName & each_columns_size, ColumnSize & total_size) const override;
|
void calculateEachColumnSizes(ColumnSizeByName & each_columns_size, ColumnSize & total_size) const override;
|
||||||
|
|
||||||
void appendFilesOfIndexGranularity(Strings & files) const override;
|
void appendFilesOfIndexGranularity(Strings & files) const override;
|
||||||
|
|
||||||
Strings getIndexGranularityFiles() const override;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
using DataPartInMemoryPtr = std::shared_ptr<const MergeTreeDataPartInMemory>;
|
using DataPartInMemoryPtr = std::shared_ptr<const MergeTreeDataPartInMemory>;
|
||||||
|
@ -273,13 +273,4 @@ void MergeTreeDataPartWide::appendFilesOfIndexGranularity(Strings& /* files */)
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
Strings MergeTreeDataPartWide::getIndexGranularityFiles() const
|
|
||||||
{
|
|
||||||
if (columns.empty())
|
|
||||||
return {};
|
|
||||||
|
|
||||||
auto marks_file = getFileNameForColumn(columns.front());
|
|
||||||
return {marks_file};
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -68,8 +68,6 @@ private:
|
|||||||
|
|
||||||
void appendFilesOfIndexGranularity(Strings & files) const override;
|
void appendFilesOfIndexGranularity(Strings & files) const override;
|
||||||
|
|
||||||
Strings getIndexGranularityFiles() const override;
|
|
||||||
|
|
||||||
ColumnSize getColumnSizeImpl(const NameAndTypePair & column, std::unordered_set<String> * processed_substreams) const;
|
ColumnSize getColumnSizeImpl(const NameAndTypePair & column, std::unordered_set<String> * processed_substreams) const;
|
||||||
|
|
||||||
void calculateEachColumnSizes(ColumnSizeByName & each_columns_size, ColumnSize & total_size) const override;
|
void calculateEachColumnSizes(ColumnSizeByName & each_columns_size, ColumnSize & total_size) const override;
|
||||||
|
70
src/Storages/MergeTree/MergeTreeMetadataCache.cpp
Normal file
70
src/Storages/MergeTree/MergeTreeMetadataCache.cpp
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
#include "MergeTreeMetadataCache.h"
|
||||||
|
|
||||||
|
#if USE_ROCKSDB
|
||||||
|
#include <Common/ProfileEvents.h>
|
||||||
|
#include <base/logger_useful.h>
|
||||||
|
|
||||||
|
namespace ProfileEvents
|
||||||
|
{
|
||||||
|
extern const Event MergeTreeMetadataCachePut;
|
||||||
|
extern const Event MergeTreeMetadataCacheGet;
|
||||||
|
extern const Event MergeTreeMetadataCacheDelete;
|
||||||
|
extern const Event MergeTreeMetadataCacheSeek;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace DB
|
||||||
|
{
|
||||||
|
MergeTreeMetadataCache::Status MergeTreeMetadataCache::put(const String & key, const String & value)
|
||||||
|
{
|
||||||
|
auto options = rocksdb::WriteOptions();
|
||||||
|
auto status = rocksdb->Put(options, key, value);
|
||||||
|
ProfileEvents::increment(ProfileEvents::MergeTreeMetadataCachePut);
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
MergeTreeMetadataCache::Status MergeTreeMetadataCache::del(const String & key)
|
||||||
|
{
|
||||||
|
auto options = rocksdb::WriteOptions();
|
||||||
|
auto status = rocksdb->Delete(options, key);
|
||||||
|
ProfileEvents::increment(ProfileEvents::MergeTreeMetadataCacheDelete);
|
||||||
|
LOG_TRACE(log, "Delete key:{} from MergeTreeMetadataCache status:{}", key, status.ToString());
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
MergeTreeMetadataCache::Status MergeTreeMetadataCache::get(const String & key, String & value)
|
||||||
|
{
|
||||||
|
auto status = rocksdb->Get(rocksdb::ReadOptions(), key, &value);
|
||||||
|
ProfileEvents::increment(ProfileEvents::MergeTreeMetadataCacheGet);
|
||||||
|
LOG_TRACE(log, "Get key:{} from MergeTreeMetadataCache status:{}", key, status.ToString());
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
void MergeTreeMetadataCache::getByPrefix(const String & prefix, Strings & keys, Strings & values)
|
||||||
|
{
|
||||||
|
auto * it = rocksdb->NewIterator(rocksdb::ReadOptions());
|
||||||
|
rocksdb::Slice target(prefix);
|
||||||
|
for (it->Seek(target); it->Valid(); it->Next())
|
||||||
|
{
|
||||||
|
const auto key = it->key();
|
||||||
|
if (!key.starts_with(target))
|
||||||
|
break;
|
||||||
|
|
||||||
|
const auto value = it->value();
|
||||||
|
keys.emplace_back(key.data(), key.size());
|
||||||
|
values.emplace_back(value.data(), value.size());
|
||||||
|
}
|
||||||
|
LOG_TRACE(log, "Seek with prefix:{} from MergeTreeMetadataCache items:{}", prefix, keys.size());
|
||||||
|
ProfileEvents::increment(ProfileEvents::MergeTreeMetadataCacheSeek);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MergeTreeMetadataCache::shutdown()
|
||||||
|
{
|
||||||
|
if (rocksdb)
|
||||||
|
{
|
||||||
|
rocksdb->Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
39
src/Storages/MergeTree/MergeTreeMetadataCache.h
Normal file
39
src/Storages/MergeTree/MergeTreeMetadataCache.h
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
#include <rocksdb/db.h>
|
||||||
|
#include <rocksdb/table.h>
|
||||||
|
|
||||||
|
#include <base/types.h>
|
||||||
|
#include <Core/Types.h>
|
||||||
|
#include <Poco/Logger.h>
|
||||||
|
|
||||||
|
#include "config_core.h"
|
||||||
|
#if USE_ROCKSDB
|
||||||
|
|
||||||
|
namespace DB
|
||||||
|
{
|
||||||
|
class MergeTreeMetadataCache
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
using Status = rocksdb::Status;
|
||||||
|
|
||||||
|
explicit MergeTreeMetadataCache(rocksdb::DB * rocksdb_) : rocksdb{rocksdb_} { }
|
||||||
|
MergeTreeMetadataCache(const MergeTreeMetadataCache &) = delete;
|
||||||
|
MergeTreeMetadataCache & operator=(const MergeTreeMetadataCache &) = delete;
|
||||||
|
|
||||||
|
Status put(const String & key, const String & value);
|
||||||
|
Status del(const String & key);
|
||||||
|
Status get(const String & key, String & value);
|
||||||
|
void getByPrefix(const String & prefix, Strings & keys, Strings & values);
|
||||||
|
|
||||||
|
void shutdown();
|
||||||
|
private:
|
||||||
|
std::unique_ptr<rocksdb::DB> rocksdb;
|
||||||
|
Poco::Logger * log = &Poco::Logger::get("MergeTreeMetadataCache");
|
||||||
|
};
|
||||||
|
|
||||||
|
using MergeTreeMetadataCachePtr = std::shared_ptr<MergeTreeMetadataCache>;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
@ -370,10 +370,10 @@ void MergeTreePartition::load(const MergeTreeData & storage, const DiskPtr & dis
|
|||||||
|
|
||||||
std::unique_ptr<SeekableReadBuffer> file;
|
std::unique_ptr<SeekableReadBuffer> file;
|
||||||
#if USE_ROCKSDB
|
#if USE_ROCKSDB
|
||||||
|
String _;
|
||||||
if (metadata_cache)
|
if (metadata_cache)
|
||||||
{
|
{
|
||||||
String v;
|
file = metadata_cache->readOrSet(disk, "partition.dat", _);
|
||||||
file = metadata_cache->readOrSet(disk, "partition.dat", v);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
#include <IO/ReadBufferFromString.h>
|
#include <IO/ReadBufferFromString.h>
|
||||||
#include <IO/ReadBufferFromFileBase.h>
|
#include <IO/ReadBufferFromFileBase.h>
|
||||||
#include <Storages/MergeTree/IMergeTreeDataPart.h>
|
#include <Storages/MergeTree/IMergeTreeDataPart.h>
|
||||||
|
#include <Storages/MergeTree/MergeTreeMetadataCache.h>
|
||||||
|
|
||||||
namespace ProfileEvents
|
namespace ProfileEvents
|
||||||
{
|
{
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
#if USE_ROCKSDB
|
#if USE_ROCKSDB
|
||||||
#include <city.h>
|
#include <city.h>
|
||||||
#include <Core/Types.h>
|
#include <Core/Types.h>
|
||||||
#include <Interpreters/Context.h>
|
|
||||||
|
|
||||||
|
|
||||||
namespace DB
|
namespace DB
|
||||||
@ -13,8 +12,12 @@ namespace DB
|
|||||||
|
|
||||||
class SeekableReadBuffer;
|
class SeekableReadBuffer;
|
||||||
class IMergeTreeDataPart;
|
class IMergeTreeDataPart;
|
||||||
class PartMetadataCache;
|
|
||||||
using PartMetadataCachePtr = std::shared_ptr<PartMetadataCache>;
|
class MergeTreeMetadataCache;
|
||||||
|
using MergeTreeMetadataCachePtr = std::shared_ptr<MergeTreeMetadataCache>;
|
||||||
|
|
||||||
|
class IDisk;
|
||||||
|
using DiskPtr = std::shared_ptr<IDisk>;
|
||||||
|
|
||||||
class PartMetadataCache
|
class PartMetadataCache
|
||||||
{
|
{
|
||||||
@ -45,5 +48,7 @@ private:
|
|||||||
const IMergeTreeDataPart * parent_part;
|
const IMergeTreeDataPart * parent_part;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
using PartMetadataCachePtr = std::shared_ptr<PartMetadataCache>;
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
#include <Parsers/ASTLiteral.h>
|
#include <Parsers/ASTLiteral.h>
|
||||||
#include <Parsers/ASTSelectQuery.h>
|
#include <Parsers/ASTSelectQuery.h>
|
||||||
#include <Storages/MergeTree/KeyCondition.h>
|
#include <Storages/MergeTree/KeyCondition.h>
|
||||||
|
#include <Storages/MergeTree/MergeTreeMetadataCache.h>
|
||||||
#include <Common/typeid_cast.h>
|
#include <Common/typeid_cast.h>
|
||||||
|
|
||||||
namespace DB
|
namespace DB
|
||||||
|
@ -1,28 +1,28 @@
|
|||||||
0 0
|
0
|
||||||
7 0
|
0
|
||||||
14 0
|
0
|
||||||
28 0
|
0
|
||||||
42 0
|
0
|
||||||
56 0
|
0
|
||||||
70 0
|
0
|
||||||
77 0
|
0
|
||||||
63 0
|
0
|
||||||
77 0
|
0
|
||||||
84 0
|
0
|
||||||
98 0
|
0
|
||||||
122 0
|
0
|
||||||
154 0
|
0
|
||||||
122 0
|
0
|
||||||
12 0
|
0
|
||||||
24 0
|
0
|
||||||
48 0
|
0
|
||||||
72 0
|
0
|
||||||
96 0
|
0
|
||||||
120 0
|
0
|
||||||
132 0
|
0
|
||||||
108 0
|
0
|
||||||
132 0
|
0
|
||||||
144 0
|
0
|
||||||
183 0
|
0
|
||||||
235 0
|
0
|
||||||
183 0
|
0
|
||||||
|
@ -6,65 +6,65 @@ DROP DATABASE IF EXISTS test_metadata_cache;
|
|||||||
DROP TABLE IF EXISTS test_metadata_cache.check_part_metadata_cache;
|
DROP TABLE IF EXISTS test_metadata_cache.check_part_metadata_cache;
|
||||||
CREATE DATABASE test_metadata_cache ENGINE = Ordinary;
|
CREATE DATABASE test_metadata_cache ENGINE = Ordinary;
|
||||||
CREATE TABLE test_metadata_cache.check_part_metadata_cache( p Date, k UInt64, v1 UInt64, v2 Int64) ENGINE MergeTree() PARTITION BY toYYYYMM(p) ORDER BY k settings use_metadata_cache = 1;
|
CREATE TABLE test_metadata_cache.check_part_metadata_cache( p Date, k UInt64, v1 UInt64, v2 Int64) ENGINE MergeTree() PARTITION BY toYYYYMM(p) ORDER BY k settings use_metadata_cache = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Insert first batch of data.
|
-- Insert first batch of data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 1, 1000, 2000), ('2018-05-16', 2, 3000, 4000), ('2018-05-17', 3, 5000, 6000), ('2018-05-18', 4, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 1, 1000, 2000), ('2018-05-16', 2, 3000, 4000), ('2018-05-17', 3, 5000, 6000), ('2018-05-18', 4, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Insert second batch of data.
|
-- Insert second batch of data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 5, 1000, 2000), ('2018-05-16', 6, 3000, 4000), ('2018-05-17', 7, 5000, 6000), ('2018-05-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 5, 1000, 2000), ('2018-05-16', 6, 3000, 4000), ('2018-05-17', 7, 5000, 6000), ('2018-05-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Update some data.
|
-- Update some data.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache update v1 = 2001 where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache update v1 = 2001 where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
alter table test_metadata_cache.check_part_metadata_cache update v2 = 4002 where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache update v2 = 4002 where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Delete some data.
|
-- Delete some data.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache delete where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache delete where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
alter table test_metadata_cache.check_part_metadata_cache delete where k = 8;
|
alter table test_metadata_cache.check_part_metadata_cache delete where k = 8;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Insert third batch of data.
|
-- Insert third batch of data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Drop partitioin 201805
|
-- Drop partitioin 201805
|
||||||
alter table test_metadata_cache.check_part_metadata_cache drop partition 201805;
|
alter table test_metadata_cache.check_part_metadata_cache drop partition 201805;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Optimize table.
|
-- Optimize table.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
optimize table test_metadata_cache.check_part_metadata_cache FINAL;
|
optimize table test_metadata_cache.check_part_metadata_cache FINAL;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Add column.
|
-- Add column.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache add column v3 UInt64;
|
alter table test_metadata_cache.check_part_metadata_cache add column v3 UInt64;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Delete column.
|
-- Delete column.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache drop column v1;
|
alter table test_metadata_cache.check_part_metadata_cache drop column v1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Add TTL info.
|
-- Add TTL info.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 10 YEAR;
|
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 10 YEAR;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v2, v3) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v2, v3) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Modify TTL info.
|
-- Modify TTL info.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 15 YEAR;
|
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 15 YEAR;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v2, v3) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v2, v3) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Truncate table.
|
-- Truncate table.
|
||||||
truncate table test_metadata_cache.check_part_metadata_cache;
|
truncate table test_metadata_cache.check_part_metadata_cache;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Recreate table with projection.
|
-- Recreate table with projection.
|
||||||
drop table if exists test_metadata_cache.check_part_metadata_cache;
|
drop table if exists test_metadata_cache.check_part_metadata_cache;
|
||||||
@ -72,54 +72,54 @@ CREATE TABLE test_metadata_cache.check_part_metadata_cache( p Date, k UInt64, v1
|
|||||||
|
|
||||||
-- Insert first batch of data.
|
-- Insert first batch of data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 1, 1000, 2000), ('2018-05-16', 2, 3000, 4000), ('2018-05-17', 3, 5000, 6000), ('2018-05-18', 4, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 1, 1000, 2000), ('2018-05-16', 2, 3000, 4000), ('2018-05-17', 3, 5000, 6000), ('2018-05-18', 4, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Insert second batch of data.
|
-- Insert second batch of data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 5, 1000, 2000), ('2018-05-16', 6, 3000, 4000), ('2018-05-17', 7, 5000, 6000), ('2018-05-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 5, 1000, 2000), ('2018-05-16', 6, 3000, 4000), ('2018-05-17', 7, 5000, 6000), ('2018-05-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Update some data.
|
-- Update some data.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache update v1 = 2001 where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache update v1 = 2001 where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
alter table test_metadata_cache.check_part_metadata_cache update v2 = 4002 where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache update v2 = 4002 where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Delete some data.
|
-- Delete some data.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache delete where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache delete where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
alter table test_metadata_cache.check_part_metadata_cache delete where k = 8;
|
alter table test_metadata_cache.check_part_metadata_cache delete where k = 8;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Insert third batch of data.
|
-- Insert third batch of data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Drop partitioin 201805
|
-- Drop partitioin 201805
|
||||||
alter table test_metadata_cache.check_part_metadata_cache drop partition 201805;
|
alter table test_metadata_cache.check_part_metadata_cache drop partition 201805;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Optimize table.
|
-- Optimize table.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
optimize table test_metadata_cache.check_part_metadata_cache FINAL;
|
optimize table test_metadata_cache.check_part_metadata_cache FINAL;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Add column.
|
-- Add column.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache add column v3 UInt64;
|
alter table test_metadata_cache.check_part_metadata_cache add column v3 UInt64;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Add TTL info.
|
-- Add TTL info.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 10 YEAR;
|
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 10 YEAR;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Update TTL info.
|
-- Update TTL info.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 15 YEAR;
|
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 15 YEAR;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Truncate table.
|
-- Truncate table.
|
||||||
truncate table test_metadata_cache.check_part_metadata_cache;
|
truncate table test_metadata_cache.check_part_metadata_cache;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
@ -1,28 +1,28 @@
|
|||||||
0 0
|
0
|
||||||
7 0
|
0
|
||||||
14 0
|
0
|
||||||
28 0
|
0
|
||||||
42 0
|
0
|
||||||
56 0
|
0
|
||||||
70 0
|
0
|
||||||
77 0
|
0
|
||||||
63 0
|
0
|
||||||
77 0
|
0
|
||||||
84 0
|
0
|
||||||
98 0
|
0
|
||||||
124 0
|
0
|
||||||
150 0
|
0
|
||||||
124 0
|
0
|
||||||
12 0
|
0
|
||||||
24 0
|
0
|
||||||
48 0
|
0
|
||||||
72 0
|
0
|
||||||
96 0
|
0
|
||||||
120 0
|
0
|
||||||
132 0
|
0
|
||||||
108 0
|
0
|
||||||
132 0
|
0
|
||||||
144 0
|
0
|
||||||
183 0
|
0
|
||||||
235 0
|
0
|
||||||
183 0
|
0
|
||||||
|
@ -6,65 +6,65 @@ DROP DATABASE IF EXISTS test_metadata_cache;
|
|||||||
DROP TABLE IF EXISTS test_metadata_cache.check_part_metadata_cache SYNC;
|
DROP TABLE IF EXISTS test_metadata_cache.check_part_metadata_cache SYNC;
|
||||||
CREATE DATABASE test_metadata_cache ENGINE = Atomic;
|
CREATE DATABASE test_metadata_cache ENGINE = Atomic;
|
||||||
CREATE TABLE test_metadata_cache.check_part_metadata_cache( p Date, k UInt64, v1 UInt64, v2 Int64) ENGINE MergeTree() PARTITION BY toYYYYMM(p) ORDER BY k settings use_metadata_cache = 1;
|
CREATE TABLE test_metadata_cache.check_part_metadata_cache( p Date, k UInt64, v1 UInt64, v2 Int64) ENGINE MergeTree() PARTITION BY toYYYYMM(p) ORDER BY k settings use_metadata_cache = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Insert first batch of data.
|
-- Insert first batch of data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 1, 1000, 2000), ('2018-05-16', 2, 3000, 4000), ('2018-05-17', 3, 5000, 6000), ('2018-05-18', 4, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 1, 1000, 2000), ('2018-05-16', 2, 3000, 4000), ('2018-05-17', 3, 5000, 6000), ('2018-05-18', 4, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Insert second batch of data.
|
-- Insert second batch of data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 5, 1000, 2000), ('2018-05-16', 6, 3000, 4000), ('2018-05-17', 7, 5000, 6000), ('2018-05-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 5, 1000, 2000), ('2018-05-16', 6, 3000, 4000), ('2018-05-17', 7, 5000, 6000), ('2018-05-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Update some data.
|
-- Update some data.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache update v1 = 2001 where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache update v1 = 2001 where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
alter table test_metadata_cache.check_part_metadata_cache update v2 = 4002 where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache update v2 = 4002 where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Delete some data.
|
-- Delete some data.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache delete where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache delete where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
alter table test_metadata_cache.check_part_metadata_cache delete where k = 8;
|
alter table test_metadata_cache.check_part_metadata_cache delete where k = 8;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Delete some data.
|
-- Delete some data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Drop partitioin 201805
|
-- Drop partitioin 201805
|
||||||
alter table test_metadata_cache.check_part_metadata_cache drop partition 201805;
|
alter table test_metadata_cache.check_part_metadata_cache drop partition 201805;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Optimize table.
|
-- Optimize table.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
optimize table test_metadata_cache.check_part_metadata_cache FINAL;
|
optimize table test_metadata_cache.check_part_metadata_cache FINAL;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Add column.
|
-- Add column.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache add column v3 UInt64;
|
alter table test_metadata_cache.check_part_metadata_cache add column v3 UInt64;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Delete column.
|
-- Delete column.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache drop column v1;
|
alter table test_metadata_cache.check_part_metadata_cache drop column v1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Add TTL info.
|
-- Add TTL info.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + 30;
|
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + 30;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v2, v3) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v2, v3) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Modify TTL info.
|
-- Modify TTL info.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + 60;
|
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + 60;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v2, v3) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v2, v3) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Truncate table.
|
-- Truncate table.
|
||||||
truncate table test_metadata_cache.check_part_metadata_cache;
|
truncate table test_metadata_cache.check_part_metadata_cache;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Recreate table with projection.
|
-- Recreate table with projection.
|
||||||
drop table if exists test_metadata_cache.check_part_metadata_cache SYNC;
|
drop table if exists test_metadata_cache.check_part_metadata_cache SYNC;
|
||||||
@ -72,55 +72,55 @@ CREATE TABLE test_metadata_cache.check_part_metadata_cache( p Date, k UInt64, v1
|
|||||||
|
|
||||||
-- Insert first batch of data.
|
-- Insert first batch of data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 1, 1000, 2000), ('2018-05-16', 2, 3000, 4000), ('2018-05-17', 3, 5000, 6000), ('2018-05-18', 4, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 1, 1000, 2000), ('2018-05-16', 2, 3000, 4000), ('2018-05-17', 3, 5000, 6000), ('2018-05-18', 4, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- nsert second batch of data.
|
-- nsert second batch of data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 5, 1000, 2000), ('2018-05-16', 6, 3000, 4000), ('2018-05-17', 7, 5000, 6000), ('2018-05-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 5, 1000, 2000), ('2018-05-16', 6, 3000, 4000), ('2018-05-17', 7, 5000, 6000), ('2018-05-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Update some data.
|
-- Update some data.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache update v1 = 2001 where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache update v1 = 2001 where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
alter table test_metadata_cache.check_part_metadata_cache update v2 = 4002 where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache update v2 = 4002 where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Delete some data.
|
-- Delete some data.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache delete where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache delete where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
alter table test_metadata_cache.check_part_metadata_cache delete where k = 8;
|
alter table test_metadata_cache.check_part_metadata_cache delete where k = 8;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Delete some data.
|
-- Delete some data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Drop partitioin 201805
|
-- Drop partitioin 201805
|
||||||
alter table test_metadata_cache.check_part_metadata_cache drop partition 201805;
|
alter table test_metadata_cache.check_part_metadata_cache drop partition 201805;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Optimize table.
|
-- Optimize table.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
optimize table test_metadata_cache.check_part_metadata_cache FINAL;
|
optimize table test_metadata_cache.check_part_metadata_cache FINAL;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Add column.
|
-- Add column.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache add column v3 UInt64;
|
alter table test_metadata_cache.check_part_metadata_cache add column v3 UInt64;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Add TTL info.
|
-- Add TTL info.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 10 YEAR;
|
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 10 YEAR;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Modify TTL info.
|
-- Modify TTL info.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 15 YEAR;
|
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 15 YEAR;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Truncate table.
|
-- Truncate table.
|
||||||
truncate table test_metadata_cache.check_part_metadata_cache;
|
truncate table test_metadata_cache.check_part_metadata_cache;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
|
@ -1,28 +1,28 @@
|
|||||||
0 0
|
0
|
||||||
7 0
|
0
|
||||||
14 0
|
0
|
||||||
28 0
|
0
|
||||||
42 0
|
0
|
||||||
56 0
|
0
|
||||||
70 0
|
0
|
||||||
77 0
|
0
|
||||||
7 0
|
0
|
||||||
14 0
|
0
|
||||||
21 0
|
0
|
||||||
35 0
|
0
|
||||||
51 0
|
0
|
||||||
67 0
|
0
|
||||||
0 0
|
0
|
||||||
12 0
|
0
|
||||||
24 0
|
0
|
||||||
48 0
|
0
|
||||||
72 0
|
0
|
||||||
96 0
|
0
|
||||||
120 0
|
0
|
||||||
132 0
|
0
|
||||||
108 0
|
0
|
||||||
132 0
|
0
|
||||||
144 0
|
0
|
||||||
183 0
|
0
|
||||||
235 0
|
0
|
||||||
183 0
|
0
|
||||||
|
@ -8,65 +8,65 @@ DROP DATABASE IF EXISTS test_metadata_cache;
|
|||||||
DROP TABLE IF EXISTS test_metadata_cache.check_part_metadata_cache;
|
DROP TABLE IF EXISTS test_metadata_cache.check_part_metadata_cache;
|
||||||
CREATE DATABASE test_metadata_cache ENGINE = Ordinary;
|
CREATE DATABASE test_metadata_cache ENGINE = Ordinary;
|
||||||
CREATE TABLE test_metadata_cache.check_part_metadata_cache ( p Date, k UInt64, v1 UInt64, v2 Int64) ENGINE ReplicatedMergeTree('/clickhouse/tables/{database}/check_part_metadata_cache', '{replica}') PARTITION BY toYYYYMM(p) ORDER BY k settings use_metadata_cache = 1;
|
CREATE TABLE test_metadata_cache.check_part_metadata_cache ( p Date, k UInt64, v1 UInt64, v2 Int64) ENGINE ReplicatedMergeTree('/clickhouse/tables/{database}/check_part_metadata_cache', '{replica}') PARTITION BY toYYYYMM(p) ORDER BY k settings use_metadata_cache = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Insert first batch of data.
|
-- Insert first batch of data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 1, 1000, 2000), ('2018-05-16', 2, 3000, 4000), ('2018-05-17', 3, 5000, 6000), ('2018-05-18', 4, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 1, 1000, 2000), ('2018-05-16', 2, 3000, 4000), ('2018-05-17', 3, 5000, 6000), ('2018-05-18', 4, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Insert second batch of data.
|
-- Insert second batch of data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 5, 1000, 2000), ('2018-05-16', 6, 3000, 4000), ('2018-05-17', 7, 5000, 6000), ('2018-05-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 5, 1000, 2000), ('2018-05-16', 6, 3000, 4000), ('2018-05-17', 7, 5000, 6000), ('2018-05-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Update some data.
|
-- Update some data.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache update v1 = 2001 where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache update v1 = 2001 where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
alter table test_metadata_cache.check_part_metadata_cache update v2 = 4002 where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache update v2 = 4002 where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
--Delete some data.
|
--Delete some data.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache delete where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache delete where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
alter table test_metadata_cache.check_part_metadata_cache delete where k = 8;
|
alter table test_metadata_cache.check_part_metadata_cache delete where k = 8;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Delete some data.
|
-- Delete some data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Drop partitioin 201805
|
-- Drop partitioin 201805
|
||||||
alter table test_metadata_cache.check_part_metadata_cache drop partition 201805;
|
alter table test_metadata_cache.check_part_metadata_cache drop partition 201805;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Optimize table.
|
-- Optimize table.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
optimize table test_metadata_cache.check_part_metadata_cache FINAL;
|
optimize table test_metadata_cache.check_part_metadata_cache FINAL;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Add column.
|
-- Add column.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache add column v3 UInt64;
|
alter table test_metadata_cache.check_part_metadata_cache add column v3 UInt64;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Delete column.
|
-- Delete column.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache drop column v1;
|
alter table test_metadata_cache.check_part_metadata_cache drop column v1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Add TTL info.
|
-- Add TTL info.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 10 YEAR;
|
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 10 YEAR;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v2, v3) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v2, v3) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Modify TTL info.
|
-- Modify TTL info.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 15 YEAR;
|
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 15 YEAR;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v2, v3) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v2, v3) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Truncate table.
|
-- Truncate table.
|
||||||
truncate table test_metadata_cache.check_part_metadata_cache;
|
truncate table test_metadata_cache.check_part_metadata_cache;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Recreate table with projection.
|
-- Recreate table with projection.
|
||||||
drop table if exists test_metadata_cache.check_part_metadata_cache ;
|
drop table if exists test_metadata_cache.check_part_metadata_cache ;
|
||||||
@ -74,55 +74,55 @@ CREATE TABLE test_metadata_cache.check_part_metadata_cache ( p Date, k UInt64,
|
|||||||
|
|
||||||
-- Insert first batch of data.
|
-- Insert first batch of data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 1, 1000, 2000), ('2018-05-16', 2, 3000, 4000), ('2018-05-17', 3, 5000, 6000), ('2018-05-18', 4, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 1, 1000, 2000), ('2018-05-16', 2, 3000, 4000), ('2018-05-17', 3, 5000, 6000), ('2018-05-18', 4, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Insert second batch of data.
|
-- Insert second batch of data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 5, 1000, 2000), ('2018-05-16', 6, 3000, 4000), ('2018-05-17', 7, 5000, 6000), ('2018-05-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 5, 1000, 2000), ('2018-05-16', 6, 3000, 4000), ('2018-05-17', 7, 5000, 6000), ('2018-05-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Update some data.
|
-- Update some data.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache update v1 = 2001 where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache update v1 = 2001 where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
alter table test_metadata_cache.check_part_metadata_cache update v2 = 4002 where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache update v2 = 4002 where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
--Delete some data.
|
--Delete some data.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache delete where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache delete where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
alter table test_metadata_cache.check_part_metadata_cache delete where k = 8;
|
alter table test_metadata_cache.check_part_metadata_cache delete where k = 8;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Delete some data.
|
-- Delete some data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Drop partitioin 201805
|
-- Drop partitioin 201805
|
||||||
alter table test_metadata_cache.check_part_metadata_cache drop partition 201805;
|
alter table test_metadata_cache.check_part_metadata_cache drop partition 201805;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Optimize table.
|
-- Optimize table.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
optimize table test_metadata_cache.check_part_metadata_cache FINAL;
|
optimize table test_metadata_cache.check_part_metadata_cache FINAL;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Add column.
|
-- Add column.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache add column v3 UInt64;
|
alter table test_metadata_cache.check_part_metadata_cache add column v3 UInt64;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Add TTL info.
|
-- Add TTL info.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 10 YEAR;
|
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 10 YEAR;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Modify TTL info.
|
-- Modify TTL info.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 15 YEAR;
|
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 15 YEAR;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Truncate table.
|
-- Truncate table.
|
||||||
truncate table test_metadata_cache.check_part_metadata_cache;
|
truncate table test_metadata_cache.check_part_metadata_cache;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
|
@ -1,28 +1,28 @@
|
|||||||
0 0
|
0
|
||||||
7 0
|
0
|
||||||
14 0
|
0
|
||||||
28 0
|
0
|
||||||
42 0
|
0
|
||||||
56 0
|
0
|
||||||
70 0
|
0
|
||||||
77 0
|
0
|
||||||
7 0
|
0
|
||||||
14 0
|
0
|
||||||
21 0
|
0
|
||||||
35 0
|
0
|
||||||
51 0
|
0
|
||||||
67 0
|
0
|
||||||
0 0
|
0
|
||||||
12 0
|
0
|
||||||
24 0
|
0
|
||||||
48 0
|
0
|
||||||
72 0
|
0
|
||||||
96 0
|
0
|
||||||
120 0
|
0
|
||||||
132 0
|
0
|
||||||
108 0
|
0
|
||||||
132 0
|
0
|
||||||
144 0
|
0
|
||||||
183 0
|
0
|
||||||
235 0
|
0
|
||||||
183 0
|
0
|
||||||
|
@ -5,124 +5,124 @@
|
|||||||
set mutations_sync = 1;
|
set mutations_sync = 1;
|
||||||
set replication_alter_partitions_sync = 2;
|
set replication_alter_partitions_sync = 2;
|
||||||
DROP DATABASE IF EXISTS test_metadata_cache ;
|
DROP DATABASE IF EXISTS test_metadata_cache ;
|
||||||
DROP TABLE IF EXISTS test_metadata_cache.check_part_metadata_cache ;
|
DROP TABLE IF EXISTS test_metadata_cache.check_part_metadata_cache SYNC;
|
||||||
CREATE DATABASE test_metadata_cache ENGINE = Atomic;
|
CREATE DATABASE test_metadata_cache ENGINE = Atomic;
|
||||||
CREATE TABLE test_metadata_cache.check_part_metadata_cache ( p Date, k UInt64, v1 UInt64, v2 Int64) ENGINE ReplicatedMergeTree('/clickhouse/tables/{database}/check_part_metadata_cache', '{replica}') PARTITION BY toYYYYMM(p) ORDER BY k settings use_metadata_cache = 1;
|
CREATE TABLE test_metadata_cache.check_part_metadata_cache ( p Date, k UInt64, v1 UInt64, v2 Int64) ENGINE ReplicatedMergeTree('/clickhouse/tables/{database}/check_part_metadata_cache', '{replica}') PARTITION BY toYYYYMM(p) ORDER BY k settings use_metadata_cache = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Insert first batch of data.
|
-- Insert first batch of data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 1, 1000, 2000), ('2018-05-16', 2, 3000, 4000), ('2018-05-17', 3, 5000, 6000), ('2018-05-18', 4, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 1, 1000, 2000), ('2018-05-16', 2, 3000, 4000), ('2018-05-17', 3, 5000, 6000), ('2018-05-18', 4, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Insert second batch of data.
|
-- Insert second batch of data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 5, 1000, 2000), ('2018-05-16', 6, 3000, 4000), ('2018-05-17', 7, 5000, 6000), ('2018-05-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 5, 1000, 2000), ('2018-05-16', 6, 3000, 4000), ('2018-05-17', 7, 5000, 6000), ('2018-05-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Update some data.
|
-- Update some data.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache update v1 = 2001 where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache update v1 = 2001 where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
alter table test_metadata_cache.check_part_metadata_cache update v2 = 4002 where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache update v2 = 4002 where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
--Delete some data.
|
--Delete some data.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache delete where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache delete where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
alter table test_metadata_cache.check_part_metadata_cache delete where k = 8;
|
alter table test_metadata_cache.check_part_metadata_cache delete where k = 8;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Delete some data.
|
-- Delete some data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Drop partitioin 201805
|
-- Drop partitioin 201805
|
||||||
alter table test_metadata_cache.check_part_metadata_cache drop partition 201805;
|
alter table test_metadata_cache.check_part_metadata_cache drop partition 201805;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Optimize table.
|
-- Optimize table.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
optimize table test_metadata_cache.check_part_metadata_cache FINAL;
|
optimize table test_metadata_cache.check_part_metadata_cache FINAL;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Add column.
|
-- Add column.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache add column v3 UInt64;
|
alter table test_metadata_cache.check_part_metadata_cache add column v3 UInt64;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Delete column.
|
-- Delete column.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache drop column v1;
|
alter table test_metadata_cache.check_part_metadata_cache drop column v1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Add TTL info.
|
-- Add TTL info.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 10 YEAR;
|
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 10 YEAR;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v2, v3) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v2, v3) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Modify TTL info.
|
-- Modify TTL info.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 15 YEAR;
|
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 15 YEAR;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v2, v3) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v2, v3) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Truncate table.
|
-- Truncate table.
|
||||||
truncate table test_metadata_cache.check_part_metadata_cache;
|
truncate table test_metadata_cache.check_part_metadata_cache;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Recreate table with projection.
|
-- Recreate table with projection.
|
||||||
drop table if exists test_metadata_cache.check_part_metadata_cache ;
|
drop table if exists test_metadata_cache.check_part_metadata_cache SYNC;
|
||||||
CREATE TABLE test_metadata_cache.check_part_metadata_cache ( p Date, k UInt64, v1 UInt64, v2 Int64, projection p1 (select p, sum(k), sum(v1), sum(v2) group by p)) ENGINE ReplicatedMergeTree('/clickhouse/tables/{database}/check_part_metadata_cache', '{replica}') PARTITION BY toYYYYMM(p) ORDER BY k settings use_metadata_cache = 1;
|
CREATE TABLE test_metadata_cache.check_part_metadata_cache ( p Date, k UInt64, v1 UInt64, v2 Int64, projection p1 (select p, sum(k), sum(v1), sum(v2) group by p)) ENGINE ReplicatedMergeTree('/clickhouse/tables/{database}/check_part_metadata_cache', '{replica}') PARTITION BY toYYYYMM(p) ORDER BY k TTL p + INTERVAL 15 YEAR settings use_metadata_cache = 1;
|
||||||
|
|
||||||
-- Insert first batch of data.
|
-- Insert first batch of data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 1, 1000, 2000), ('2018-05-16', 2, 3000, 4000), ('2018-05-17', 3, 5000, 6000), ('2018-05-18', 4, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 1, 1000, 2000), ('2018-05-16', 2, 3000, 4000), ('2018-05-17', 3, 5000, 6000), ('2018-05-18', 4, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Insert second batch of data.
|
-- Insert second batch of data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 5, 1000, 2000), ('2018-05-16', 6, 3000, 4000), ('2018-05-17', 7, 5000, 6000), ('2018-05-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-05-15', 5, 1000, 2000), ('2018-05-16', 6, 3000, 4000), ('2018-05-17', 7, 5000, 6000), ('2018-05-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Update some data.
|
-- Update some data.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache update v1 = 2001 where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache update v1 = 2001 where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
alter table test_metadata_cache.check_part_metadata_cache update v2 = 4002 where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache update v2 = 4002 where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
--Delete some data.
|
--Delete some data.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache delete where k = 1;
|
alter table test_metadata_cache.check_part_metadata_cache delete where k = 1;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
alter table test_metadata_cache.check_part_metadata_cache delete where k = 8;
|
alter table test_metadata_cache.check_part_metadata_cache delete where k = 8;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Delete some data.
|
-- Delete some data.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Drop partitioin 201805
|
-- Drop partitioin 201805
|
||||||
alter table test_metadata_cache.check_part_metadata_cache drop partition 201805;
|
alter table test_metadata_cache.check_part_metadata_cache drop partition 201805;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Optimize table.
|
-- Optimize table.
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
optimize table test_metadata_cache.check_part_metadata_cache FINAL;
|
optimize table test_metadata_cache.check_part_metadata_cache FINAL;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Add column.
|
-- Add column.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache add column v3 UInt64;
|
alter table test_metadata_cache.check_part_metadata_cache add column v3 UInt64;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Add TTL info.
|
-- Add TTL info.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 10 YEAR;
|
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 10 YEAR;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Modify TTL info.
|
-- Modify TTL info.
|
||||||
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 15 YEAR;
|
alter table test_metadata_cache.check_part_metadata_cache modify TTL p + INTERVAL 15 YEAR;
|
||||||
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
INSERT INTO test_metadata_cache.check_part_metadata_cache (p, k, v1, v2) VALUES ('2018-06-15', 5, 1000, 2000), ('2018-06-16', 6, 3000, 4000), ('2018-06-17', 7, 5000, 6000), ('2018-06-18', 8, 7000, 8000);
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
-- Truncate table.
|
-- Truncate table.
|
||||||
truncate table test_metadata_cache.check_part_metadata_cache;
|
truncate table test_metadata_cache.check_part_metadata_cache;
|
||||||
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select count(1), countIf(info.5 = 0);
|
with arrayJoin(checkPartMetadataCache('test_metadata_cache', 'check_part_metadata_cache')) as info select countIf(info.5 = 0);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user