[
https://issues.apache.org/jira/browse/FLINK-39556?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated FLINK-39556:
-----------------------------------
Labels: pull-request-available (was: )
> Make file path optional in COMPILE PLAN to return plan inline as a result set
> -----------------------------------------------------------------------------
>
> Key: FLINK-39556
> URL: https://issues.apache.org/jira/browse/FLINK-39556
> Project: Flink
> Issue Type: Improvement
> Components: Table SQL / API
> Affects Versions: 2.2.0
> Reporter: Luca Castelli
> Priority: Major
> Labels: pull-request-available
>
> *Today:* COMPILE PLAN requires a file path argument and writes the compiled
> ExecNodeGraph JSON to disk
> {code:java}
> COMPILE PLAN '/path/to/plan.json' FOR INSERT INTO sink SELECT * FROM
> src;{code}
> This requires the caller to share a filesystem with the executor. For tooling
> built on the SQL Gateway (CLIs, IDEs, CI systems) this adds
> filesystem-coordination complexity, and for remote SQL Gateway deployments it
> does not work at all - the file lands on the gateway host, not the caller's
> host.
>
> *Proposal:* make the file path optional. When omitted, return the compiled
> plan inline as a single-row, single-column STRING result set with
> ResultKind.SUCCESS_WITH_CONTENT - the same result-set pattern already used by
> EXPLAIN.
> {code:java}
> COMPILE PLAN FOR INSERT INTO sink SELECT * FROM src;
> – returns plan JSON via fetchResults{code}
>
> *Compatibility:* fully backward compatible. The existing COMPILE PLAN
> '<path>' [IF NOT EXISTS] FOR <dml> syntax and behavior are unchanged.
> This is an internal-only change at the API level: SqlCompilePlan and
> CompilePlanOperation are both @Internal; no new public API surface, no new
> REST endpoints.
>
> *Discussion thread:*
> [https://lists.apache.org/thread/j2z9obdyr9k0078jj1cd6tjj5nvbdk86|https://lists.apache.org/thread/j2z9obdyr9k0078jj1cd6tjj5nvbdk86]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)