Skip to content

feat(go/adbc/driver/flightsql): add support for flightsql:// uri format#4488

Open
Mandukhai-Alimaa wants to merge 3 commits into
apache:mainfrom
Mandukhai-Alimaa:feat/flightsql-uri-scheme-design
Open

feat(go/adbc/driver/flightsql): add support for flightsql:// uri format#4488
Mandukhai-Alimaa wants to merge 3 commits into
apache:mainfrom
Mandukhai-Alimaa:feat/flightsql-uri-scheme-design

Conversation

@Mandukhai-Alimaa

@Mandukhai-Alimaa Mandukhai-Alimaa commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

This PR adds support for flightsql:// uri format

Closes #4460.

@xborder xborder left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm probably missing something. This is changing the documentation but there is no implementation, is it intended?

Connect over gRPC with TLS (secure). This is the default when no
``transport`` query parameter is given.

``flightsql://<host>:<port>?transport=tls``

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense to use something similar to useEncryption=true/false like in flightsql jdbc driver? Is there something similar on another ADBC driver?

I'd suggest flightsql://<host>:<port> to default to grpc+tls and maybe allow useEncryption/ssl=true|false like other APIs do. Is there a similar example in ADBC that we can replicate?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The proposed format mirrors this driver's own legacy grpc+tcp/grpc+tls/grpc+unix schemes, which is the more immediate precedent for someone migrating from the old URI format in this driver.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aligning with Flight SQL JDBC seems reasonable, though - what does it do for domain sockets?

``transport=unix``, or a socket path with ``transport=tcp`` or the
default TLS transport, is rejected as an invalid combination.

.. note:: For backwards compatibility, the driver also still accepts

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we're still allowing legacy schemes for backwards compatibility, what is the benefit of having transport=tcp|tls|unix?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


func main() {
db, err := sql.Open("flightsql", "uri=grpc://localhost:12345")
db, err := sql.Open("flightsql", "uri=flightsql://localhost:12345?transport=tcp")

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does the driver actually support this query param like that?

@Mandukhai-Alimaa Mandukhai-Alimaa Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a proposal on what the URI might look like. I will make another commit for the implementation soon

@Mandukhai-Alimaa Mandukhai-Alimaa changed the title feat(go/adbc/driver/flightsql): proposal for flightsql:// uri format feat(go/adbc/driver/flightsql): add support for flightsql:// uri format Jul 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

go/adbc/driver/flightsql: add support for URIs that begin with flightsql://

4 participants