From f7d896af75460ca03a3ec08a1de6b621d23cb340 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Thu, 4 May 2006 20:27:18 +0000 Subject: [PATCH] save_obj/delete_obj need to specify column types to binds for primary key criterion --- lib/sqlalchemy/mapping/mapper.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/sqlalchemy/mapping/mapper.py b/lib/sqlalchemy/mapping/mapper.py index db404b6eac..15d197a340 100644 --- a/lib/sqlalchemy/mapping/mapper.py +++ b/lib/sqlalchemy/mapping/mapper.py @@ -580,9 +580,9 @@ class Mapper(object): if len(update): clause = sql.and_() for col in self.pks_by_table[table]: - clause.clauses.append(col == sql.bindparam(col._label)) + clause.clauses.append(col == sql.bindparam(col._label, type=col.type)) if self.version_id_col is not None: - clause.clauses.append(self.version_id_col == sql.bindparam(self.version_id_col._label)) + clause.clauses.append(self.version_id_col == sql.bindparam(self.version_id_col._label, type=col.type)) statement = table.update(clause) rows = 0 for rec in update: @@ -654,9 +654,9 @@ class Mapper(object): if len(delete): clause = sql.and_() for col in self.pks_by_table[table]: - clause.clauses.append(col == sql.bindparam(col.key)) + clause.clauses.append(col == sql.bindparam(col.key, type=col.type)) if self.version_id_col is not None: - clause.clauses.append(self.version_id_col == sql.bindparam(self.version_id_col.key)) + clause.clauses.append(self.version_id_col == sql.bindparam(self.version_id_col.key, type=self.version_id_col.type)) statement = table.delete(clause) c = statement.execute(*delete) if c.supports_sane_rowcount() and c.rowcount != len(delete): -- 2.47.2