joshtemple / harlequin-bigquery

A BigQuery adapter for Harlequin, a SQL IDE for the terminal.
MIT License
8 stars 2 forks source link

Incorrect function list used for auto-completion #9

Closed christippett closed 10 months ago

christippett commented 10 months ago

The script used for populating BigQuery's built-in functions seems to be coming from a Snowflake resource (fivetran/zetasql-snowflake). There's obviously a lot of overlap between Snowflake and BigQuery, but even then the majority of the list is made up of invalid/irrelevant function names (e.g. ANON_SUM_UINT). Legitimate functions unique to BigQuery such as DLP_DETERMINISTIC_ENCRYPT, SAFE_CAST, etc are missing entirely.

I also noticed in the sqlite adapter that the function list differentiates between aggregation queries (type_label=agg) and other functions (type_label=fn). See here. Potentially something to consider when reviewing the list for BigQuery?

christippett commented 10 months ago

This page might be a more appropriate resource for getting a list of BigQuery function names. Each section has a Function list sub-heading with a table outlining every function – there's an obvious pattern in the way the page is structured that would make it a potentially good (and reliable?) candidate for scraping.

joshtemple commented 10 months ago

Thanks @christippett for pointing this out. Not sure what I was doing with the previous list... but the function you referenced led me to another repo that seems to have a more complete list of functions, which saves me the time of having to scrape the docs myself.