Files
2026-07-03 09:48:05 +02:00

111 lines
4.0 KiB
SQL

WITH
'Settings.cpp' AS cpp_file,
settings_changes AS
(
SELECT
setting_name AS name,
'[' ||
arrayStringConcat(
arrayMap(
(i, x) -> '{' ||
'"id": "row-' || toString(i) || '",' ||
'"items": [' ||
'{"label": ' || toJSONString(toString(x.1)) || '},' ||
'{"label": ' || toJSONString(toString(x.2)) || '},' ||
'{"label": ' || toJSONString(toString(x.3)) || '}' ||
']' ||
'}',
arrayEnumerate(groupArray((version, default_value, comment))),
groupArray((version, default_value, comment))
),
', '
) ||
']' AS rows
FROM
(
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 = 'Session'
ORDER BY setting_name, version DESC
)
GROUP BY setting_name
),
settings_from_cpp AS
(
SELECT extract(line, 'DECLARE(?:_WITH_ALIAS)?\\(\\w+, (\\w+),') AS name
FROM file(cpp_file, LineAsString)
WHERE match(line, '^\\s*DECLARE(?:_WITH_ALIAS)?\\(')
),
setting_aliases AS
(
SELECT
alias_for,
groupArray(name) AS aliases
FROM system.settings
WHERE alias_for != ''
AND alias_for IN settings_from_cpp
GROUP BY alias_for
),
settings_with_change_history AS
(
SELECT
a.*,
b.*
FROM
system.settings AS a
LEFT OUTER JOIN settings_changes as b
ON a.name = b.name
WHERE name IN settings_from_cpp
),
main_content AS
(
SELECT
format('## {}{}{}{}{}{}{}{}\n\n',
name,
' {#'||name||'} \n\n',
multiIf(tier == 'Experimental', '<ExperimentalBadge/>\n\n', tier == 'Beta', '<BetaBadge/>\n\n', ''),
if(description LIKE '%Only has an effect in ClickHouse Cloud%', '<CloudOnlyBadge/>\n\n', ''),
if(sa.aliases IS NOT NULL AND length(sa.aliases) > 0,
'**Aliases**: ' || arrayStringConcat(arrayMap(x -> '`' || x || '`', sa.aliases), ', ') || '\n\n',
''),
if(
type != '' AND default != '',
format(
'\n\n<SettingsInfoBlock type="{}" default_value="{}" />\n\n',
type,
replaceRegexpOne(default, 'auto\(\d+\)','auto(N)')
),
''
),
if(rows != '', printf('\n\n<VersionHistory rows={%s}/>\n\n', rows), ''),
replaceOne(trim(BOTH '\\n' FROM description), ' and [MaterializedMySQL](../../engines/database-engines/materialized-mysql.md)',''))
FROM settings_with_change_history
LEFT JOIN setting_aliases sa ON settings_with_change_history.name = sa.alias_for
ORDER BY name
),
'---
title: ''Session Settings''
sidebar_label: ''Session Settings''
slug: /operations/settings/settings
toc_max_heading_level: 2
description: ''Settings which are found in the ``system.settings`` table.''
doc_type: ''reference''
---
import ExperimentalBadge from \'@theme/badges/ExperimentalBadge\';
import BetaBadge from \'@theme/badges/BetaBadge\';
import CloudOnlyBadge from \'@theme/badges/CloudOnlyBadge\';
import SettingsInfoBlock from \'@theme/SettingsInfoBlock/SettingsInfoBlock\';
import VersionHistory from \'@theme/VersionHistory/VersionHistory\';
<!-- Autogenerated -->
All below settings are also available in table [system.settings](/docs/operations/system-tables/settings). These settings are autogenerated from [source](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).
' AS prefix
SELECT prefix || (SELECT groupConcat(*) FROM main_content)
INTO OUTFILE 'settings.md' TRUNCATE FORMAT LineAsString