MCPcopy Create free account
hub / github.com/apache/arrow-rs / execute_update

Method execute_update

arrow-flight/src/sql/client.rs:207–228  ·  view source on GitHub ↗

Execute a update query on the server, and return the number of records affected

(
        &mut self,
        query: String,
        transaction_id: Option<Bytes>,
    )

Source from the content-addressed store, hash-verified

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>(

Callers 1

test_execute_updateFunction · 0.80

Calls 7

set_request_headersMethod · 0.80
write_bind_paramsMethod · 0.80
decodeFunction · 0.50
as_anyMethod · 0.45
into_innerMethod · 0.45
do_putMethod · 0.45
cloneMethod · 0.45

Tested by 1

test_execute_updateFunction · 0.64