changeset 47 | 54087a269bdd |
parent 0 | b97547f5f1fa |
child 439 | 7cb7cb318983 |
46:0155942b5c56 | 47:54087a269bdd |
---|---|
105 'J': 'Affaire', |
105 'J': 'Affaire', |
106 'X': 'Affaire', |
106 'X': 'Affaire', |
107 'ET': 'EEType', 'ETN': 'String'}]) |
107 'ET': 'EEType', 'ETN': 'String'}]) |
108 rql, solutions = partrqls[1] |
108 rql, solutions = partrqls[1] |
109 self.assertEquals(rql, 'Any ETN,X WHERE X is ET, ET name ETN, ET is EEType, ' |
109 self.assertEquals(rql, 'Any ETN,X WHERE X is ET, ET name ETN, ET is EEType, ' |
110 'X is IN(Bookmark, Card, Comment, Division, EConstraint, EConstraintType, EEType, EFRDef, EGroup, ENFRDef, EPermission, EProperty, ERType, EUser, Email, EmailAddress, EmailPart, EmailThread, File, Folder, Image, Note, Personne, RQLExpression, Societe, State, SubDivision, Tag, TrInfo, Transition)') |
110 'X is IN(Bookmark, Card, Comment, Division, ECache, EConstraint, EConstraintType, EEType, EFRDef, EGroup, ENFRDef, EPermission, EProperty, ERType, EUser, Email, EmailAddress, EmailPart, EmailThread, File, Folder, Image, Note, Personne, RQLExpression, Societe, State, SubDivision, Tag, TrInfo, Transition)') |
111 self.assertListEquals(sorted(solutions), |
111 self.assertListEquals(sorted(solutions), |
112 sorted([{'X': 'Bookmark', 'ETN': 'String', 'ET': 'EEType'}, |
112 sorted([{'X': 'Bookmark', 'ETN': 'String', 'ET': 'EEType'}, |
113 {'X': 'Card', 'ETN': 'String', 'ET': 'EEType'}, |
113 {'X': 'Card', 'ETN': 'String', 'ET': 'EEType'}, |
114 {'X': 'Comment', 'ETN': 'String', 'ET': 'EEType'}, |
114 {'X': 'Comment', 'ETN': 'String', 'ET': 'EEType'}, |
115 {'X': 'Division', 'ETN': 'String', 'ET': 'EEType'}, |
115 {'X': 'Division', 'ETN': 'String', 'ET': 'EEType'}, |
116 {'X': 'ECache', 'ETN': 'String', 'ET': 'EEType'}, |
|
116 {'X': 'EConstraint', 'ETN': 'String', 'ET': 'EEType'}, |
117 {'X': 'EConstraint', 'ETN': 'String', 'ET': 'EEType'}, |
117 {'X': 'EConstraintType', 'ETN': 'String', 'ET': 'EEType'}, |
118 {'X': 'EConstraintType', 'ETN': 'String', 'ET': 'EEType'}, |
118 {'X': 'EEType', 'ETN': 'String', 'ET': 'EEType'}, |
119 {'X': 'EEType', 'ETN': 'String', 'ET': 'EEType'}, |
119 {'X': 'EFRDef', 'ETN': 'String', 'ET': 'EEType'}, |
120 {'X': 'EFRDef', 'ETN': 'String', 'ET': 'EEType'}, |
120 {'X': 'EGroup', 'ETN': 'String', 'ET': 'EEType'}, |
121 {'X': 'EGroup', 'ETN': 'String', 'ET': 'EEType'}, |
451 def test_select_aggregat_having(self): |
452 def test_select_aggregat_having(self): |
452 rset = self.execute('Any N,COUNT(RDEF) GROUPBY N ORDERBY 2,N ' |
453 rset = self.execute('Any N,COUNT(RDEF) GROUPBY N ORDERBY 2,N ' |
453 'WHERE RT name N, RDEF relation_type RT ' |
454 'WHERE RT name N, RDEF relation_type RT ' |
454 'HAVING COUNT(RDEF) > 10') |
455 'HAVING COUNT(RDEF) > 10') |
455 self.assertListEquals(rset.rows, |
456 self.assertListEquals(rset.rows, |
456 [[u'description', 11], ['in_basket', 11], |
457 [[u'description', 11], ['in_basket', 12], |
457 [u'name', 12], [u'created_by', 32], |
458 [u'name', 13], [u'created_by', 33], |
458 [u'creation_date', 32], [u'is', 32], [u'is_instance_of', 32], |
459 [u'creation_date', 33], [u'is', 33], [u'is_instance_of', 33], |
459 [u'modification_date', 32], [u'owned_by', 32]]) |
460 [u'modification_date', 33], [u'owned_by', 33]]) |
460 |
461 |
461 def test_select_aggregat_having_dumb(self): |
462 def test_select_aggregat_having_dumb(self): |
462 # dumb but should not raise an error |
463 # dumb but should not raise an error |
463 rset = self.execute('Any U,COUNT(X) GROUPBY U ' |
464 rset = self.execute('Any U,COUNT(X) GROUPBY U ' |
464 'WHERE U eid %(x)s, X owned_by U ' |
465 'WHERE U eid %(x)s, X owned_by U ' |