Changes

Summary

  1. [SPARK-37545][SQL] V2 CreateTableAsSelect command should qualify (details)
Commit feba5ac32f2598f6ca8a274850934106be0db64d by huaxin_gao
[SPARK-37545][SQL] V2 CreateTableAsSelect command should qualify location

### What changes were proposed in this pull request?

Currently, v2 CTAS command doesn't qualify the location:
```
spark.sql("CREATE TABLE testcat.t USING foo LOCATION '/tmp/foo' AS SELECT id FROM source")
spark.sql("DESCRIBE EXTENDED testcat.t").filter("col_name = 'Location'").show

+--------+-------------+-------+
|col_name|    data_type|comment|
+--------+-------------+-------+
|Location|/tmp/foo     |       |
+--------+-------------+-------+
```
, whereas v1 command qualifies the location as `file:/tmp/foo` which is the correct behavior since the default filesystem can change for different sessions.

### Why are the changes needed?

This PR proposes to store the qualified location in order to prevent the issue where default filesystem changes for different sessions.

### Does this PR introduce _any_ user-facing change?

Yes, now, v2 CTAS command will store qualified location:
```
+--------+-------------+-------+
|col_name|    data_type|comment|
+--------+-------------+-------+
|Location|file:/tmp/foo|       |
+--------+-------------+-------+
```

### How was this patch tested?

Added new test

Closes #34806 from imback82/v2_ctas_qualified_loc.

Authored-by: Terry Kim <yuminkim@gmail.com>
Signed-off-by: Huaxin Gao <huaxin_gao@apple.com>
The file was modifiedsql/core/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DataSourceV2Strategy.scala (diff)
The file was modifiedsql/core/src/test/scala/org/apache/spark/sql/connector/DataSourceV2SQLSuite.scala (diff)
The file was modifiedsql/core/src/test/scala/org/apache/spark/sql/connector/DataSourceV2DataFrameSessionCatalogSuite.scala (diff)