diff --git a/scripts/settings/format-settings.sql b/scripts/settings/format-settings.sql index 57fdf62be91..181652b855d 100644 --- a/scripts/settings/format-settings.sql +++ b/scripts/settings/format-settings.sql @@ -8,8 +8,12 @@ WITH ), main_content AS ( - SELECT format('## {} {} {} \n\n|Type|Default|\n|---|---|\n|`{}`|`{}`|\n\n{}\n\n', - name, '{#'||name||'}', multiIf(tier == 'Experimental', '', tier == 'Beta', '', ''), type, default, trim(BOTH '\\n' FROM description)) + SELECT format('## {} {} {} \n\n{}\n\n{}\n\n', + name, + '{#'||name||'}', + multiIf(tier == 'Experimental', '', tier == 'Beta', '', ''), + if(type != '' AND default != '', format('', type, default), ''), + trim(BOTH '\\n' FROM description)) FROM system.settings WHERE name IN settings_from_cpp ORDER BY name ), @@ -22,8 +26,10 @@ toc_max_heading_level: 2 description: ''Settings which control input and output formats.'' --- -import ExperimentalBadge from \'@theme/badges/ExperimentalBadge\'; -import BetaBadge from \'@theme/badges/BetaBadge\'; +import ExperimentalBadge from ''@theme/badges/ExperimentalBadge''; +import BetaBadge from ''@theme/badges/BetaBadge''; +import SettingsInfoBlock from ''@theme/SettingsInfoBlock/SettingsInfoBlock''; +import VersionHistory from ''@theme/VersionHistory/VersionHistory''; These settings are autogenerated from [source](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/FormatFactorySettings.h). diff --git a/scripts/settings/global-server-settings.sql b/scripts/settings/global-server-settings.sql index 200e831a331..0e9b57d6aaf 100644 --- a/scripts/settings/global-server-settings.sql +++ b/scripts/settings/global-server-settings.sql @@ -39,7 +39,7 @@ WITH '## {}{}{}{}\n\n', name, lcase(' {#'|| name ||'} \n\n'), - if(type != '' AND default != '', format('|Type|Default|\n|---|---|\n|`{}`|`{}`|\n\n',type, default), ''), + if(type != '' AND default != '', format('', type, default), ''), description ) AS formatted_text FROM combined_server_settings @@ -58,6 +58,7 @@ title: ''Server Settings'' import Tabs from ''@theme/Tabs''; import TabItem from ''@theme/TabItem''; import SystemLogParameters from ''@site/docs/operations/server-configuration-parameters/_snippets/_system-log-parameters.md'' +import SettingsInfoBlock from ''@theme/SettingsInfoBlock/SettingsInfoBlock''; # Server Settings diff --git a/scripts/settings/mergetree-settings.sql b/scripts/settings/mergetree-settings.sql index a57e509d56b..21d859291f1 100644 --- a/scripts/settings/mergetree-settings.sql +++ b/scripts/settings/mergetree-settings.sql @@ -1,15 +1,59 @@ WITH - merge_tree_settings AS + settings_changes AS + ( + SELECT + setting_name AS name, + '[' || + arrayStringConcat( + arrayMap( + (i, x) -> '{' || + '"id": "row-' || toString(i) || '",' || + '"items": [' || + '{"label": "' || toString(x.1) || '"},' || + '{"label": "' || toString(x.2) || '"},' || + '{"label": "' || replaceRegexpAll(x.3, '([\\"])', '\\\\$1') || '"}' || + ']' || + '}', + arrayEnumerate(groupArray((version, default_value, comment))), + groupArray((version, default_value, comment)) + ), + ', ' + ) || + ']' AS rows + FROM ( - SELECT format( - '## {} {} \n{}\n{}{}', - name, - '{#'||name||'}', - multiIf(tier == 'Experimental', '\n\n', tier == 'Beta', '\n\n', ''), - if(type != '' AND default != '', format('|Type|Default|\n|---|---|\n|`{}`|`{}`|\n\n',type, default), ''), - replaceRegexpAll(description, '(?m)(^[ \t]+|[ \t]+$)', '') - ) - FROM system.merge_tree_settings ORDER BY name + SELECT + (arrayJoin(changes) AS change).1 AS setting_name, + version, + change.3 AS default_value, + change.4 AS comment + FROM system.settings_changes + WHERE type = 'MergeTree' + ORDER BY setting_name, version DESC + ) + GROUP BY setting_name + ), + combined_changes_and_merge_tree_settings AS + ( + SELECT + a.*, + b.* + FROM system.merge_tree_settings AS a + INNER JOIN settings_changes as b + ON a.name = b.name + ), + merge_tree_settings AS + ( + SELECT format( + '## {} {} \n{}{}\n{}{}', + name, + '{#'||name||'}', + multiIf(tier == 'Experimental', '\n\n', tier == 'Beta', '\n\n', ''), + if(type != '' AND default != '', format('', type, default), ''), + if(rows != '', printf('\n\n', rows), ''), + replaceRegexpAll(description, '(?m)(^[ \t]+|[ \t]+$)', '') ) + FROM combined_changes_and_merge_tree_settings ORDER BY name + ) SELECT * FROM merge_tree_settings INTO OUTFILE 'generated_merge_tree_settings.md' TRUNCATE FORMAT LineAsString