Execute a update query on the server, and return the number of records affected
(
&mut self,
query: String,
transaction_id: Option<Bytes>,
)
| 205 | |
| 206 | /// Execute a update query on the server, and return the number of records affected |
| 207 | pub async fn execute_update( |
| 208 | &mut self, |
| 209 | query: String, |
| 210 | transaction_id: Option<Bytes>, |
| 211 | ) -> Result<i64> { |
| 212 | let cmd = CommandStatementUpdate { |
| 213 | query, |
| 214 | transaction_id, |
| 215 | }; |
| 216 | let descriptor = FlightDescriptor::new_cmd(cmd.as_any().encode_to_vec()); |
| 217 | let req = self.set_request_headers( |
| 218 | stream::iter(vec![FlightData { |
| 219 | flight_descriptor: Some(descriptor), |
| 220 | ..Default::default() |
| 221 | }]) |
| 222 | .into_request(), |
| 223 | )?; |
| 224 | let mut result = self.flight_client.do_put(req).await?.into_inner(); |
| 225 | let result = result.message().await?.unwrap(); |
| 226 | let result: DoPutUpdateResult = Message::decode(&*result.app_metadata)?; |
| 227 | Ok(result.record_count) |
| 228 | } |
| 229 | |
| 230 | /// Execute a bulk ingest on the server and return the number of records added |
| 231 | pub async fn execute_ingest<S>( |