@@ -126,6 +126,23 @@ Status FlightSqlServerBase::DoGet(const ServerCallContext& context, const Ticket
126126 return Status::Invalid (" The defined request is invalid." );
127127}
128128
129+ Status FlightSqlServerBase::DoPut (const ServerCallContext& context,
130+ std::unique_ptr<FlightMessageReader> reader,
131+ std::unique_ptr<FlightMetadataWriter> writer) {
132+ const FlightDescriptor& request = reader->descriptor ();
133+
134+ google::protobuf::Any any;
135+ any.ParseFromArray (request.cmd .data (), static_cast <int >(request.cmd .size ()));
136+
137+ if (any.Is <pb::sql::CommandStatementUpdate>()) {
138+ pb::sql::CommandStatementUpdate command;
139+ any.UnpackTo (&command);
140+ return DoPutCommandStatementUpdate (command, context, reader, writer);
141+ }
142+
143+ return Status::Invalid (" The defined request is invalid." );
144+ }
145+
129146Status FlightSqlServerBase::GetFlightInfoCatalogs (const ServerCallContext& context,
130147 const FlightDescriptor& descriptor,
131148 std::unique_ptr<FlightInfo>* info) {
@@ -246,6 +263,13 @@ Status FlightSqlServerBase::GetFlightInfoImportedKeys(
246263 return Status::NotImplemented (" DoGetExportedKeys not implemented" );
247264}
248265
266+ Status FlightSqlServerBase::DoPutCommandStatementUpdate (
267+ const pb::sql::CommandStatementUpdate& command, const ServerCallContext& context,
268+ std::unique_ptr<FlightMessageReader>& reader,
269+ std::unique_ptr<FlightMetadataWriter>& writer) {
270+ return Status::NotImplemented (" DoPutCommandStatementUpdate not implemented" );
271+ }
272+
249273std::shared_ptr<Schema> SqlSchema::GetCatalogsSchema () {
250274 return arrow::schema ({field (" catalog_name" , utf8 ())});
251275}
0 commit comments