@@ -13,18 +13,32 @@ WITH function_docs AS (
1313 examples
1414 FROM system .functions
1515 WHERE categories = {category:String}
16+ AND alias_to = ' '
1617ORDER 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+ )
1828SELECT
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
3044INTO OUTFILE ' temp-functions.md' TRUNCATE FORMAT LineAsString
0 commit comments