@@ -80,6 +80,7 @@ namespace Setting
8080 extern const SettingsSeconds wait_for_window_view_fire_signal_timeout;
8181 extern const SettingsSeconds window_view_clean_interval;
8282 extern const SettingsSeconds window_view_heartbeat_interval;
83+ extern const SettingsBool deduplicate_blocks_in_dependent_materialized_views;
8384}
8485
8586namespace ErrorCodes
@@ -1595,15 +1596,19 @@ void StorageWindowView::writeIntoWindowView(
15951596 return std::make_shared<RestoreChunkInfosTransform>(chunk_infos.clone (), stream_header);
15961597 });
15971598
1598- String window_view_id = window_view. getStorageID (). hasUUID () ? toString (window_view. getStorageID (). uuid ) : window_view. getStorageID (). getFullNameNotQuoted () ;
1599- builder. addSimpleTransform ([&]( const Block & stream_header )
1599+ bool disable_deduplication_for_children = !local_context-> getSettingsRef ()[Setting::deduplicate_blocks_in_dependent_materialized_views] ;
1600+ if (!disable_deduplication_for_children )
16001601 {
1601- return std::make_shared<DeduplicationToken::SetViewIDTransform>(window_view_id, stream_header);
1602- });
1603- builder.addSimpleTransform ([&](const Block & stream_header)
1604- {
1605- return std::make_shared<DeduplicationToken::SetViewBlockNumberTransform>(stream_header);
1606- });
1602+ String window_view_id = window_view.getStorageID ().hasUUID () ? toString (window_view.getStorageID ().uuid ) : window_view.getStorageID ().getFullNameNotQuoted ();
1603+ builder.addSimpleTransform ([&](const Block & stream_header)
1604+ {
1605+ return std::make_shared<DeduplicationToken::SetViewIDTransform>(window_view_id, stream_header);
1606+ });
1607+ builder.addSimpleTransform ([&](const Block & stream_header)
1608+ {
1609+ return std::make_shared<DeduplicationToken::SetViewBlockNumberTransform>(stream_header);
1610+ });
1611+ }
16071612
16081613#ifdef DEBUG_OR_SANITIZER_BUILD
16091614 builder.addSimpleTransform ([&](const Block & stream_header)
0 commit comments