Skip to content

Commit 59c6219

Browse files
committed
autogenerate MergeTree settings
1 parent 6fa7bf0 commit 59c6219

File tree

1 file changed

+37
-3
lines changed

1 file changed

+37
-3
lines changed

scripts/settings/autogenerate-settings.sh

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,19 @@ settings_from_cpp AS
9494
),
9595
main_content AS
9696
(
97-
SELECT format('## {} {}\\n{}\\n{}\\n\\nType: {}\\n\\nDefault value: {}\\n\\n{}\\n\\n',
98-
name, '{#'||name||'}', multiIf(tier == 'Experimental', '<ExperimentalBadge/>', tier == 'Beta', '<BetaBadge/>', ''), if(description LIKE '%Only has an effect in ClickHouse Cloud%', '\\n<CloudAvailableBadge/>', ''), type, default, replaceOne(trim(BOTH '\\n' FROM description), ' and [MaterializedMySQL](../../engines/database-engines/materialized-mysql.md)',''))
97+
SELECT format(
98+
'## {} {}\\n{}\\n{}\\n\\nType: {}\\n\\nDefault value: {}\\n\\n{}\\n\\n',
99+
name,
100+
'{#'||name||'}',
101+
multiIf(tier == 'Experimental', '<ExperimentalBadge/>', tier == 'Beta', '<BetaBadge/>', ''),
102+
if(description LIKE '%Only has an effect in ClickHouse Cloud%', '\\n<CloudAvailableBadge/>', ''),
103+
type,
104+
default,
105+
replaceOne(
106+
trim(BOTH '\\n' FROM description),
107+
' and [MaterializedMySQL](../../engines/database-engines/materialized-mysql.md)',''
108+
)
109+
)
99110
FROM system.settings WHERE name IN settings_from_cpp
100111
ORDER BY name
101112
),
@@ -119,12 +130,35 @@ SELECT prefix || (SELECT groupConcat(*) FROM main_content)
119130
INTO OUTFILE 'settings.md' TRUNCATE FORMAT LineAsString
120131
" > /dev/null || { echo "Failed to Autogenerate Core settings"; exit 1; }
121132

133+
# Autogenerate settings
134+
./clickhouse -q "
135+
WITH
136+
merge_tree_settings AS
137+
(
138+
SELECT format(
139+
'## {} {} {} \n{} \nType: {} \nDefault value: {} \n\n{} \n',
140+
name,
141+
'{#'||name||'}',
142+
multiIf(tier == 'Experimental', '<ExperimentalBadge/>\n', tier == 'Beta', '<BetaBadge/>\n', ''),
143+
if(description LIKE '%Only has an effect in ClickHouse Cloud%', '\\n<CloudAvailableBadge/>', ''),
144+
type,
145+
default,
146+
description
147+
)
148+
FROM system.merge_tree_settings ORDER BY name
149+
)
150+
SELECT * FROM merge_tree_settings
151+
INTO OUTFILE 'generated_merge_tree_settings.md' TRUNCATE FORMAT LineAsString
152+
" > /dev/null || { echo "Failed to Autogenerate Core settings"; exit 1; }
153+
122154
mv settings-formats.md "$root/docs/operations/settings" || { echo "Failed to move generated settings-format.md"; exit 1; }
123155
mv settings.md "$root/docs/operations/settings" || { echo "Failed to move generated settings.md"; exit 1; }
156+
cat generated_merge_tree_settings.md
157+
cat generated_merge_tree_settings.md >> "$root/docs/operations/settings/merge-tree-settings.md" || { echo "Failed to append MergeTree settings.md"; exit 1; }
124158

125159
echo "[$SCRIPT_NAME] Auto-generation of settings markdown pages completed successfully"
126160

127161
# perform cleanup
128-
rm -rf "$tmp_dir"/{settings-formats.md,settings.md,FormatFactorySettings.h,Settings.cpp,clickhouse}
162+
rm -rf "$tmp_dir"/{settings-formats.md,settings.md,FormatFactorySettings.h,Settings.cpp,generated_merge_tree_settings.md,clickhouse}
129163

130164
echo "[$SCRIPT_NAME] Autogenerating settings completed"

0 commit comments

Comments
 (0)