databricks / databricks-sql-go

Golang database/sql driver for Databricks SQL.
Apache License 2.0
37 stars 41 forks source link

Escape and subtitute query arguments client side #100

Open nyergler opened 1 year ago

nyergler commented 1 year ago

Coming from other Go database drivers the lack of query argument support was a surprise. This commit ports approximately what the Python Databricks library does in order to handle query arguments.

Feedback, suggestions, etc welcome!

nyergler commented 1 year ago

Got it, @andrefurlan-db . Is there an expected timeline for that development? I'm sure there's a lot in flight, just curious how far along that is.

nohajc commented 1 year ago

I did a bit of digging and it seems the parametrized query feature has been released in Spark 3.4.0 (merged since December 2022). However, it is not exposed in the thrift server which is used by databricks-sql-go to connect to Spark. https://issues.apache.org/jira/browse/SPARK-41271 https://github.com/apache/spark/pull/38864 https://github.com/apache/spark/blob/master/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/SparkExecuteStatementOperation.scala#L226

To me it looks like the feature is ready but not exposed to external clients.

kravets-levko commented 7 months ago

Hi @nohajc! The library got a support for named query parameters since v1.5.0. Can you please try it and let us know if it works for you? Thanks!

nohajc commented 7 months ago

Hi, thank you for the information. I noticed the support has been added but I'm not using databricks at the moment. When I come back to it at some point, I will definitely try.

Cheers!