Hi all,

Following the discussion in the mailing list at [0], to allow Flight SQL
servers to communicate the proper network flow for executing a prepared
statement (CommandPreparedStatementQuery or CommandPreparedStatementUpdate)
to clients, I have proposed a new boolean field, is_update, be added to the
ActionCreatePreparedStatementResult message.

This change is backward and forward compatible. Old clients ignore the
field set by new servers (this derives directly from protobuf behavior).
New clients can determine the path to use with their current behavior when
running prepared statements on old servers (this needs to be handled in
each implementation).

The spec change PR is available at [1]

I have draft PRs for implementing the change in Java (including the JDBC
Flight SQL driver) at [2] and in Go at [3]. I also have a PR for the Go
ADBC Flight SQL driver at [4]. Since the Python ADBC driver wraps the Go
driver, it is also affected even though the code remained unchanged.

If this is approved, I personally commit to implementing the change in C++
and the new FlightSQL ODBC driver (once it is released).

The vote will be open for at least 72 hours.
[ ] +1 Accept addition of is_update field to
ActionCreatePreparedStatementResult
[ ] +0
[ ] -1 Do not accept because...

PS - I am not a PMC member, but during the community meeting today Bryce
told me I could initiate the vote myself. I read previous spec changes
threads to get a grasp on how the process usually goes, but I apologize in
advance if I broke any protocol with this action. Let me know if that is
the case so I can correct my behavior.

[0] - https://lists.apache.org/thread/88msflnwkkw8t81czs2ndqhkn1fb1pxd
[1] - https://github.com/apache/arrow/pull/49498
[2] - https://github.com/apache/arrow-java/pull/1064
[3] - https://github.com/apache/arrow-go/pull/732
[4] - https://github.com/apache/arrow-adbc/pull/4161

Pedro

Reply via email to