MCPcopy Create free account
hub / github.com/cowprotocol/services / insert_or_overwrite_interaction

Function insert_or_overwrite_interaction

crates/database/src/orders.rs:321–350  ·  view source on GitHub ↗
(
    ex: &mut PgConnection,
    interaction: &Interaction,
    order_uid: &OrderUid,
)

Source from the content-addressed store, hash-verified

319
320#[instrument(skip_all)]
321pub async fn insert_or_overwrite_interaction(
322 ex: &mut PgConnection,
323 interaction: &Interaction,
324 order_uid: &OrderUid,
325) -> Result<(), sqlx::Error> {
326 const QUERY: &str = r#"
327INSERT INTO interactions (
328 order_uid,
329 index,
330 target,
331 value,
332 data,
333 execution
334)
335VALUES ($1, $2, $3, $4, $5, $6)
336ON CONFLICT (order_uid, index, execution) DO UPDATE
337SET target = $3,
338value = $4, data = $5
339 "#;
340 sqlx::query(QUERY)
341 .bind(order_uid)
342 .bind(interaction.index)
343 .bind(interaction.target)
344 .bind(&interaction.value)
345 .bind(&interaction.data)
346 .bind(interaction.execution)
347 .execute(ex)
348 .await?;
349 Ok(())
350}
351
352/// One row in the `order_quotes` table.
353#[derive(Clone, Default, Debug, PartialEq, sqlx::FromRow)]

Calls 3

queryFunction · 0.85
bindMethod · 0.80
executeMethod · 0.45

Tested by

no test coverage detected