diff --git a/core/schema.rs b/core/schema.rs index 720123231..0e4f878c5 100644 --- a/core/schema.rs +++ b/core/schema.rs @@ -78,8 +78,10 @@ pub struct BTreeTable { impl BTreeTable { pub fn column_is_rowid_alias(&self, col: &Column) -> bool { - let composite_primary_key = self.columns.iter().filter(|col| col.primary_key).count() > 1; - col.primary_key && col.ty == Type::Integer && !composite_primary_key && self.has_rowid + col.primary_key + && col.ty == Type::Integer + && self.primary_key_column_names.len() == 1 + && self.has_rowid } pub fn get_column(&self, name: &str) -> Option<(usize, &Column)> {