stevelorddremio commented on code in PR #40311:
URL: https://github.com/apache/arrow/pull/40311#discussion_r1561602969
##########
go/arrow/flight/flightsql/example/sqlite_server.go:
##########
@@ -618,21 +618,21 @@ func getParamsForStatement(rdr flight.MessageReader)
(params [][]interface{}, er
return params, rdr.Err()
}
-func (s *SQLiteFlightSQLServer) DoPutPreparedStatementQuery(_ context.Context,
cmd flightsql.PreparedStatementQuery, rdr flight.MessageReader, _
flight.MetadataWriter) error {
+func (s *SQLiteFlightSQLServer) DoPutPreparedStatementQuery(_ context.Context,
cmd flightsql.PreparedStatementQuery, rdr flight.MessageReader, _
flight.MetadataWriter) ([]byte, error) {
val, ok := s.prepared.Load(string(cmd.GetPreparedStatementHandle()))
if !ok {
- return status.Error(codes.InvalidArgument, "prepared statement
not found")
+ return nil, status.Error(codes.InvalidArgument, "prepared
statement not found")
}
stmt := val.(Statement)
args, err := getParamsForStatement(rdr)
if err != nil {
- return status.Errorf(codes.Internal, "error gathering
parameters for prepared statement query: %s", err.Error())
+ return nil, status.Errorf(codes.Internal, "error gathering
parameters for prepared statement query: %s", err.Error())
}
stmt.params = args
s.prepared.Store(string(cmd.GetPreparedStatementHandle()), stmt)
Review Comment:
Thank you for clarifying @zeroshade . Looks like I have a grasp of Go then.
I think if possible it would be worth having an example of stateless use in
this PR. That might be a bigger change since this server implementation is
based on stateful behaviour.
I guess I'm curious how we would create a new handle based on query and
parameters or if we need a new proto message from which we can generate a
handle.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]