Glance image-list failed when image number exceed DEFAULT_PAGE_SIZE

The root cause of the problem is that DB2 does not allow
an empty string ('') for datetime field. So we set the
default value of datetime as None.

Fixes bug 1245947

Change-Id: Ie372efe70a068024298fbde4574e33e565cc6c9a
(cherry picked from commit 3f533a28fa)
This commit is contained in:
Fei Long Wang 2013-10-30 00:41:29 +08:00 committed by liudong
parent 5cd7a22b44
commit 33d1840d6a
1 changed files with 5 additions and 0 deletions

View File

@ -501,12 +501,17 @@ def _paginate_query(query, model, limit, sort_keys, marker=None,
crit_attrs = []
for j in xrange(0, i):
model_attr = getattr(model, sort_keys[j])
default = None if isinstance(
model_attr.property.columns[0].type,
sqlalchemy.DateTime) else ''
attr = sa_sql.expression.case([(model_attr != None,
model_attr), ],
else_=default)
crit_attrs.append((attr == marker_values[j]))
model_attr = getattr(model, sort_keys[i])
default = None if isinstance(model_attr.property.columns[0].type,
sqlalchemy.DateTime) else ''
attr = sa_sql.expression.case([(model_attr != None,
model_attr), ],
else_=default)