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 commit753c74c343
) (cherry picked from commit316ce9659a
)
This commit is contained in:
parent
b1d635c287
commit
677c89c236
@ -804,13 +804,13 @@ def image_set_property_atomic(image_id, name, value):
|
||||
table = models.ImageProperty.__table__
|
||||
|
||||
# This should be:
|
||||
# UPDATE image_properties SET value=$value, deleted=0
|
||||
# WHERE name=$name AND deleted!=0
|
||||
# UPDATE image_properties SET value=$value, deleted=False
|
||||
# WHERE name=$name AND deleted!=False
|
||||
result = connection.execute(table.update().where(
|
||||
sa_sql.and_(table.c.name == name,
|
||||
table.c.image_id == image_id,
|
||||
table.c.deleted != 0)).values(
|
||||
value=value, deleted=0))
|
||||
table.c.deleted != False)).values(
|
||||
value=value, deleted=False))
|
||||
if result.rowcount == 1:
|
||||
# Found and updated a deleted property, so we win
|
||||
return
|
||||
@ -855,7 +855,7 @@ def image_delete_property_atomic(image_id, name, value):
|
||||
sa_sql.and_(table.c.name == name,
|
||||
table.c.value == value,
|
||||
table.c.image_id == image_id,
|
||||
table.c.deleted == 0)))
|
||||
table.c.deleted == False)))
|
||||
if result.rowcount == 1:
|
||||
return
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user