Skip to content

Commit 8295f47

Browse files
committed
show aliases
1 parent ef80807 commit 8295f47

File tree

1 file changed

+24
-10
lines changed

1 file changed

+24
-10
lines changed

scripts/settings/generate-functions.sql

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,32 @@ WITH function_docs AS (
1313
examples
1414
FROM system.functions
1515
WHERE categories = {category:String}
16+
AND alias_to = ''
1617
ORDER BY name ASC
17-
)
18+
),
19+
function_aliases AS (
20+
SELECT
21+
alias_to AS function_name,
22+
groupArray(name) AS aliases
23+
FROM system.functions
24+
WHERE alias_to != ''
25+
AND alias_to IN (SELECT name FROM function_docs)
26+
GROUP BY alias_to
27+
)
1828
SELECT
1929
format(
20-
'{}{}{}{}{}{}{}',
21-
'## ' || name || ' ' || printf('{#%s}', name) || '\n\n',
22-
'Introduced in: v' || introduced_in || '\n\n',
23-
description || '\n\n',
24-
'**Syntax**\n\n' || printf('```sql\n%s\n```', syntax) || '\n\n',
25-
if(empty(arguments), '**Arguments**\n\n- None.\n', '**Arguments**\n\n' || arguments || '\n\n'),
26-
'**Returned value**\n\n' || trim(returned_value) || '\n\n',
27-
'**Examples**\n\n' || examples || '\n'
30+
'{}{}{}{}{}{}{}{}',
31+
'## ' || fd.name || ' ' || printf('{#%s}', fd.name) || '\n\n',
32+
'Introduced in: v' || fd.introduced_in || '\n\n',
33+
fd.description || '\n\n',
34+
'**Syntax**\n\n' || printf('```sql\n%s\n```', fd.syntax) || '\n\n',
35+
if(fa.aliases IS NOT NULL AND length(fa.aliases) > 0,
36+
'**Aliases**: ' || arrayStringConcat(arrayMap(x -> '`' || x || '`', fa.aliases), ', ') || '\n\n',
37+
''),
38+
if(empty(fd.arguments), '**Arguments**\n\n- None.\n\n', '**Arguments**\n\n' || fd.arguments || '\n\n'),
39+
'**Returned value**\n\n' || trim(fd.returned_value) || '\n\n',
40+
'**Examples**\n\n' || fd.examples || '\n'
2841
)
29-
FROM function_docs
42+
FROM function_docs fd
43+
LEFT JOIN function_aliases fa ON fd.name = fa.function_name
3044
INTO OUTFILE 'temp-functions.md' TRUNCATE FORMAT LineAsString

0 commit comments

Comments
 (0)