[ 
https://issues.apache.org/jira/browse/SPARK-57449?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jiwon Park resolved SPARK-57449.
--------------------------------
    Resolution: Duplicate

> Return java.sql.Array and java.sql.Struct from ResultSet.getObject for 
> complex types in the Connect JDBC driver
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: SPARK-57449
>                 URL: https://issues.apache.org/jira/browse/SPARK-57449
>             Project: Spark
>          Issue Type: Improvement
>          Components: Connect
>    Affects Versions: 5.0.0
>            Reporter: Jiwon Park
>            Priority: Major
>
> Currently, for complex type columns (ARRAY, MAP, STRUCT), 
> {{SparkConnectResultSet.getObject}} returns native Scala objects 
> ({{scala.collection.Seq}}, {{scala.collection.Map}}, 
> {{org.apache.spark.sql.Row}}), and {{getArray()}} throws 
> {{SQLFeatureNotSupportedException}}.
> BI tools (e.g. DataGrip) fetch complex columns via 
> {{getObject()}}/{{getArray()}}, not {{getString()}}. Because the returned 
> objects are not standard JDBC types, the tools fall back to 
> {{Object.toString()}}, producing unreadable output such as {{ArraySeq(1, 2, 
> 3)}} for arrays and {{[1,x]}} for structs (losing field names).
> This proposes exposing complex types via the standard JDBC interfaces:
> * {{getObject}}: ARRAY -> {{java.sql.Array}}, STRUCT -> {{java.sql.Struct}}, 
> MAP -> {{java.util.Map}}
> * implement {{getArray()}}
> * align {{getColumnClassName}} accordingly ({{java.sql.Array}} / 
> {{java.sql.Struct}} / {{java.util.Map}})
> DataGrip renders {{java.sql.Struct}} as nested columns and {{java.sql.Array}} 
> in a dedicated value editor. The implementations should also provide a 
> JSON-like {{toString}} as a fallback for clients that stringify the object 
> directly (this subsumes the originally-scoped {{getString}} JSON rendering).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to