Vladan Vasić created SPARK-61027:
------------------------------------

             Summary: Extract shared DDL and DML analysis helpers
                 Key: SPARK-61027
                 URL: https://issues.apache.org/jira/browse/SPARK-61027
             Project: Spark
          Issue Type: Improvement
          Components: SQL
    Affects Versions: 4.4.0
            Reporter: Vladan Vasić


Extract command-local DDL and DML analysis from fixed-point analyzer rules so 
Single Pass command
resolvers can reuse the existing operations without running fixed-point rule 
traversals.

Scope:
* Field-name and position resolution for ALTER TABLE and CREATE INDEX, ALTER 
validation, and
  partition specification resolution and validation.
* V1/V2 INSERT preparation, write-output alignment, row-level assignment 
conversion, and check
  and generated-column invariant construction.
* V1 ADD/ALTER COLUMN, comment changes, CTAS/RTAS/CREATE TABLE LIKE, and 
namespace creation and
  location changes.

Keep existing rule traversal, pruning, case guards and ordering, fixed-point 
stages, validation
timing, exception behavior, tags and metadata unchanged. Generated-expression 
analysis remains an
explicit callback with the existing lazy session fallback. Expose a per-column 
INSERT operation
with caller-owned alias creation and an independently callable field-path 
operation.

This is a refactor only. It does not change SQL semantics, enable new Single 
Pass command coverage,
add feature flags, or change golden files. Some whole-command helpers retain 
legacy orchestration
and synthesized expressions that a future Single Pass implementation must 
resolve inline.

Validate using existing Catalyst write analysis and SQL command suites, plus 
focused alias-factory
contract coverage. This continues the helper extractions in Apache Spark PRs 
#59646, #59746,
#59861, #59959 and #60099 without overlapping the SHOW helpers in SPARK-61004.

Preserve ResolveInsertionBase's existing inheritance/API and the original 
configuration, catalog
and error-formatting receivers, including deferred reads and subclass overrides.

Implementation and review: https://github.com/apache/spark/pull/60171
Validation: 986 local tests, four Scala style checks, two independent 
strict-equivalence audits,
and eight compiled base-versus-refactor probes passed for the prepared revision.




--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to