Skip to content

Commit 677c89c

Browse files
kk7dsfrittentheke
authored andcommitted
Fix set_property_atomic() boolean type casting
In set_property_atomic() we pass an integer query filter for the deleted field, since most projects use an integer for this column. However, in glance the column is a boolean, which trips up postgres since the types are different (mysql and sqlite work fine). This minor change to use False instead of 0 should fix that for postgres users. Change-Id: I5149df76943c1c19f3204b904c0e2d3ef846bdf7 Closes-Bug: #1953063 (cherry picked from commit 753c74c) (cherry picked from commit 316ce96)
1 parent b1d635c commit 677c89c

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

glance/db/sqlalchemy/api.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -804,13 +804,13 @@ def image_set_property_atomic(image_id, name, value):
804804
table = models.ImageProperty.__table__
805805

806806
# This should be:
807-
# UPDATE image_properties SET value=$value, deleted=0
808-
# WHERE name=$name AND deleted!=0
807+
# UPDATE image_properties SET value=$value, deleted=False
808+
# WHERE name=$name AND deleted!=False
809809
result = connection.execute(table.update().where(
810810
sa_sql.and_(table.c.name == name,
811811
table.c.image_id == image_id,
812-
table.c.deleted != 0)).values(
813-
value=value, deleted=0))
812+
table.c.deleted != False)).values(
813+
value=value, deleted=False))
814814
if result.rowcount == 1:
815815
# Found and updated a deleted property, so we win
816816
return
@@ -855,7 +855,7 @@ def image_delete_property_atomic(image_id, name, value):
855855
sa_sql.and_(table.c.name == name,
856856
table.c.value == value,
857857
table.c.image_id == image_id,
858-
table.c.deleted == 0)))
858+
table.c.deleted == False)))
859859
if result.rowcount == 1:
860860
return
861861

0 commit comments

Comments
 (0)