--- a/.hgtags Fri Oct 21 09:24:51 2011 +0200
+++ b/.hgtags Fri Oct 21 11:36:30 2011 +0200
@@ -231,3 +231,5 @@
2f93ce32febe2f82565994fbd454f331f76ca883 cubicweb-debian-version-3.13.7-1
249bd41693392d4716686f05c6b84628cd14dfcd cubicweb-version-3.13.8
43f83f5d0a4d57a06e9a4990bc957fcfa691eec3 cubicweb-debian-version-3.13.8-1
+07afe32945aa275052747f78ef1f55858aaf6fa9 cubicweb-version-3.13.9
+0a3cb5e60d57a7a9851371b4ae487094ec2bf614 cubicweb-debian-version-3.13.9-1
--- a/debian/changelog Fri Oct 21 09:24:51 2011 +0200
+++ b/debian/changelog Fri Oct 21 11:36:30 2011 +0200
@@ -1,3 +1,9 @@
+cubicweb (3.13.9-1) unstable; urgency=low
+
+ * new upstream release
+
+ -- Sylvain Thénault <sylvain.thenault@logilab.fr> Fri, 21 Oct 2011 11:03:45 +0200
+
cubicweb (3.13.8-1) unstable; urgency=low
* new upstream release
--- a/selectors.py Fri Oct 21 09:24:51 2011 +0200
+++ b/selectors.py Fri Oct 21 11:36:30 2011 +0200
@@ -309,7 +309,7 @@
else:
etype = rset.description[row][col]
# may have None in rset.description on outer join
- if etype is None:
+ if etype is None or rset.rows[row][col] is None:
return 0
etypes = (etype,)
score = 0
--- a/test/unittest_selectors.py Fri Oct 21 09:24:51 2011 +0200
+++ b/test/unittest_selectors.py Fri Oct 21 11:36:30 2011 +0200
@@ -164,6 +164,12 @@
self.assertEqual(is_instance('BaseTransition').score_class(cls, self.request()),
3)
+ def test_outer_join(self):
+ req = self.request()
+ rset = req.execute('Any U,B WHERE B? bookmarked_by U, U login "anon"')
+ self.assertEqual(is_instance('Bookmark')(None, req, rset=rset, row=0, col=1),
+ 0)
+
class WorkflowSelectorTC(CubicWebTC):
def _commit(self):