Settings changes in StorageInMemoryMetadata

This commit is contained in:
alesapin 2020-06-17 16:46:01 +03:00
parent ed8f3b2fc4
commit eaaef83742
5 changed files with 14 additions and 14 deletions

View File

@ -319,13 +319,6 @@ NamesAndTypesList IStorage::getVirtuals() const
return {};
}
ASTPtr IStorage::getSettingsChanges() const
{
if (metadata->settings_changes)
return metadata->settings_changes->clone();
return nullptr;
}
const SelectQueryDescription & IStorage::getSelectQuery() const
{
return metadata->select;

View File

@ -138,11 +138,6 @@ public:
public: /// thread-unsafe part. lockStructure must be acquired
const ColumnsDescription & getColumns() const; /// returns combined set of columns
/// Storage settings
ASTPtr getSettingsChanges() const;
bool hasSettingsChanges() const { return metadata->settings_changes != nullptr; }
/// Select query for *View storages.
const SelectQueryDescription & getSelectQuery() const;
bool hasSelectQuery() const;

View File

@ -1333,10 +1333,10 @@ void MergeTreeData::checkAlterIsPossible(const AlterCommands & commands, const S
checkTTLExpressions(new_metadata, old_metadata);
if (hasSettingsChanges())
if (old_metadata.hasSettingsChanges())
{
const auto current_changes = getSettingsChanges()->as<const ASTSetQuery &>().changes;
const auto current_changes = old_metadata.getSettingsChanges()->as<const ASTSetQuery &>().changes;
const auto & new_changes = new_metadata.settings_changes->as<const ASTSetQuery &>().changes;
for (const auto & changed_setting : new_changes)
{

View File

@ -393,4 +393,12 @@ Names StorageInMemoryMetadata::getPrimaryKeyColumns() const
return primary_key.column_names;
return {};
}
ASTPtr StorageInMemoryMetadata::getSettingsChanges() const
{
if (settings_changes)
return settings_changes->clone();
return nullptr;
}
}

View File

@ -169,6 +169,10 @@ struct StorageInMemoryMetadata
/// Returns columns names in sorting key specified by. For example: 'a', 'x
/// * y', 'toStartOfMonth(date)', etc.
Names getPrimaryKeyColumns() const;
/// Storage settings
ASTPtr getSettingsChanges() const;
bool hasSettingsChanges() const { return settings_changes != nullptr; }
};
using StorageMetadataPtr = std::shared_ptr<StorageInMemoryMetadata>;