Hello devs,

I would like to start a discussion about FLIP-XXX: Introduce Flink SQL 
variables [1].

The main motivation behing this change is to be able to abstract Flink SQL from
environment-specific configuration and provide a way to carry jobs between
environments (e.g. dev-stage-prod) without the need to make changes in the code.
It can also be a way to decouple sensitive information from the job code, or 
help
with redundant literals.

The main decision regarding the proposed solution is to handle the variable 
resolution
as early as possible on the given string statement, so the whole operation is 
an easy and
lightweight string replace. But this approach introduces some limitations as 
well:

- The executed SQL will always be the unresolved, raw string, so in case of 
secrets
a DESC operation would show them.
- Changing the value of a variable can break code that uses that variable.

For more details, please check the FLIP [1]. There is also a stale Jira about 
this [2].

Looking forward to any comments and opinions!

Thanks,
Ferenc

[1] 
https://docs.google.com/document/d/1-eUz-PBCdqNggG_irDT0X7fdL61ysuHOaWnrkZHb5Hc/edit?usp=sharing
[2] https://issues.apache.org/jira/browse/FLINK-17377

Reply via email to