Open fomcl opened 1 month ago
Thanks for loving sqllineage.
We have a separate issue #443 to track a similar request, and function is considered a subset of column expression there. For your example, there are other SQL patterns like:
-- directly using the formula to convert Celcius to Fahrenheit
select (c * 9 / 5) + 32;
-- using case clause together with function.
select case when t == 'Celsius' then procedures.fahrenheit(c) when t == 'Fahrenheit' then c else NULL end;
All this would be too much to add to the column lineage path, if possible.
Thinking of lineage as a graph, the preferred approach would be to add the raw expression as a property to the column lineage edge (and somehow expose it to the user via some new API), instead of adding another node.
We're nowhere near getting #443 done yet. But do let me know your thoughts.
Is your feature request related to a problem? Please describe. If an alias was used for a function call, I would like to know what the original function call looked like.
Describe the solution you'd like See above. Right now, there's no way (or perhaps I'm doing something wrong!) of telling if
c
is a copy off
(select f as c
) or something else.By the way, before I forget: awesome package. Thank you very much for creating this!