mirror of
https://github.com/hanzoai/datastore.git
synced 2026-09-26 13:55:07 +00:00
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
105 lines
3.6 KiB
SQL
105 lines
3.6 KiB
SQL
WITH
|
|
'FormatFactorySettings.h' 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 setting_name LIKE 'output_format_%'
|
|
OR setting_name LIKE 'input_format_%'
|
|
OR setting_name LIKE 'format_%'
|
|
OR setting_name LIKE '%_input_format'
|
|
OR setting_name LIKE '%_output_format'
|
|
ORDER BY setting_name, version DESC
|
|
)
|
|
GROUP BY setting_name
|
|
),
|
|
settings_from_cpp AS
|
|
(
|
|
SELECT extract(line, 'DECLARE\\(\\w+, (\\w+),') AS name
|
|
FROM file(cpp_file, LineAsString)
|
|
WHERE match(line, '^\\s*DECLARE\\(')
|
|
),
|
|
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 a.name IN settings_from_cpp
|
|
),
|
|
main_content AS
|
|
(
|
|
SELECT format('## {} {} {} \n\n{}{}{}\n\n{}\n\n',
|
|
name,
|
|
'{#'||name||'}',
|
|
multiIf(tier == 'Experimental', '<ExperimentalBadge/>', tier == 'Beta', '<BetaBadge/>', ''),
|
|
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('<SettingsInfoBlock type="{}" default_value="{}" />', type, default), ''),
|
|
if(rows != '', printf('\n\n<VersionHistory rows={%s}/>\n\n', rows), ''),
|
|
trim(BOTH '\\n' FROM description))
|
|
FROM settings_with_change_history
|
|
LEFT JOIN setting_aliases sa ON settings_with_change_history.name = sa.alias_for
|
|
ORDER BY name
|
|
),
|
|
'' ||
|
|
'---
|
|
title: ''Format Settings''
|
|
sidebar_label: ''Format Settings''
|
|
slug: /operations/settings/formats
|
|
toc_max_heading_level: 2
|
|
description: ''Settings which control input and output formats.''
|
|
doc_type: ''reference''
|
|
---
|
|
|
|
import ExperimentalBadge from ''@theme/badges/ExperimentalBadge'';
|
|
import BetaBadge from ''@theme/badges/BetaBadge'';
|
|
import SettingsInfoBlock from ''@theme/SettingsInfoBlock/SettingsInfoBlock'';
|
|
import VersionHistory from ''@theme/VersionHistory/VersionHistory'';
|
|
|
|
<!-- Autogenerated -->
|
|
These settings are autogenerated from [source](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/FormatFactorySettings.h).
|
|
|
|
' AS prefix
|
|
SELECT prefix || (SELECT groupConcat(*) FROM main_content)
|
|
INTO OUTFILE 'settings-formats.md' TRUNCATE FORMAT LineAsString
|