cloud-fan commented on PR #58204:
URL: https://github.com/apache/spark/pull/58204#issuecomment-5425388828

   Thanks for the thorough review. I addressed the actionable items in 
`9588570d7b9`:
   
   1. The separate source/target `loadTable` behavior is intentional. The PR 
description now calls
      out the two loads, distinct `Table` instances, and the 
authorization/table-state implication
      under the user-facing-change section.
   2. I rewrote the description to cover `UnresolvedWriteTarget`, the 
metadata-only resolved
      carriers, `tableOptions`, write-target resolution, V1/Hive lowering, 
temp-view rendering, and
      the refreshed test matrix.
   3. `PreprocessTableInsertion` is now session-aware and installs the derived 
provider relation once.
      `DataSourceAnalysis` and `PreWriteCheck` reuse that target; the check no 
longer resolves a
      relation or updates the session cache. The new `SparkSession.active` uses 
are gone.
   4. `RelationConversions` now returns the converted target to the normal 
post-hoc pipeline instead
      of invoking `PreprocessTableInsertion` and `DataSourceAnalysis` inline. 
The stats helper moved to
      the `DetermineTableStats` companion, and the redundant 
already-materialized branches were
      removed from `InsertWriteRelation`.
   5. Persistent read/write resolution now shares `loadTableOrView`, 
`mapPersistentRelation`, and the
      V2 relation-construction helper, including V1 view, delegating-table, and 
view-catalog handling.
   6. `ResolvedTempView.stringArgs` again includes `metadata.identifier`. 
Regenerating the affected
      cases removed the unrelated temp-view golden diffs.
   7. Non-empty `InsertIntoStatement.tableOptions` are visible in plan strings, 
with a focused
      assertion.
   8. I kept `OpaqueLogicalPlan`. A directly typed `TemporaryViewRelation` 
constructor field remains
      discoverable by Catalyst's product-based tree/copy machinery even with 
shallow
      `equals`/`hashCode`; the non-plan wrapper keeps the stored tree opaque 
while making comparison
      and hashing explicitly identity-based.
   9. The unrelated `CTESubstitution` import change is reverted, and the other 
touched imports use the
      existing single-line style.
   10. The V1 fallback without catalog/identifier is restored; 
`ifPartitionNotExists` is explicitly
       `false`; the resolution-order comment and dangling cast formatting are 
fixed; and builtin
       functions are enabled only within the function-based IDENTIFIER tests.
   
   I also caught and fixed a Hive regression during verification: an 
unconverted partitioned Hive
   write target was being revisited by the read-conversion branch in the same 
top-down rule pass. The
   rule now preserves the metadata carrier when write conversion is disabled, 
and the later
   preprocessing stage materializes the Hive target once.
   
   Verification included `hive/Test/compile`, the full `HiveSQLInsertTestSuite` 
and
   `HiveTableRelationResolverSuite`, `PlanResolutionSuite`, 
`DataSourceV2OptionSuite`,
   `DataSourceAnalysisSuite`, focused `DataSourceV2SQLSuiteV1Filter` coverage, 
and the six affected
   execution/analyzer SQL golden cases.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to