diff --git a/sqlx-core/src/arguments.rs b/sqlx-core/src/arguments.rs index b224010334..6f830e8e57 100644 --- a/sqlx-core/src/arguments.rs +++ b/sqlx-core/src/arguments.rs @@ -28,7 +28,7 @@ pub trait Arguments<'q>: Send + Sized + Default { writer.write_str("?") } - fn merge(&mut self, other: Self); + fn merge(mut self, other: Self); } pub trait IntoArguments<'q, DB: Database>: Sized + Send { diff --git a/sqlx-postgres/src/arguments.rs b/sqlx-postgres/src/arguments.rs index 358400792b..ce56ce41e1 100644 --- a/sqlx-postgres/src/arguments.rs +++ b/sqlx-postgres/src/arguments.rs @@ -148,6 +148,9 @@ impl<'q> Arguments<'q> for PgArguments { fn merge(&mut self, other: Self) { self.types.extend(other.types); self.buffer.extend_from_slice(&other.buffer); + self.buffer.count += other.buffer.count; + self.buffer.patches.extend(other.buffer.patches); + self.buffer.type_holes.extend(other.buffer.type_holes); } #[inline(always)]