branch | stable |
changeset 6209 | e3e5870807e9 |
parent 6196 | 12fdccedab5a |
child 6225 | a176e68b7d0d |
child 6340 | 470d8e828fda |
6208:07b176640a8c | 6209:e3e5870807e9 |
---|---|
128 'I': 'Affaire', |
128 'I': 'Affaire', |
129 'J': 'Affaire', |
129 'J': 'Affaire', |
130 'X': 'Affaire', |
130 'X': 'Affaire', |
131 'ET': 'CWEType', 'ETN': 'String'}]) |
131 'ET': 'CWEType', 'ETN': 'String'}]) |
132 rql, solutions = partrqls[1] |
132 rql, solutions = partrqls[1] |
133 self.assertEquals(rql, 'Any ETN,X WHERE X is ET, ET name ETN, ET is CWEType, X is IN(BaseTransition, Bookmark, CWAttribute, CWCache, CWConstraint, CWConstraintType, CWEType, CWGroup, CWPermission, CWProperty, CWRType, CWRelation, CWUser, Card, Comment, Division, Email, EmailAddress, EmailPart, EmailThread, ExternalUri, File, Folder, Note, Personne, RQLExpression, Societe, State, SubDivision, SubWorkflowExitPoint, Tag, TrInfo, Transition, Workflow, WorkflowTransition)') |
133 self.assertEquals(rql, 'Any ETN,X WHERE X is ET, ET name ETN, ET is CWEType, X is IN(BaseTransition, Bookmark, CWAttribute, CWCache, CWConstraint, CWConstraintType, CWEType, CWGroup, CWPermission, CWProperty, CWRType, CWRelation, CWUniqueTogetherConstraint, CWUser, Card, Comment, Division, Email, EmailAddress, EmailPart, EmailThread, ExternalUri, File, Folder, Note, Personne, RQLExpression, Societe, State, SubDivision, SubWorkflowExitPoint, Tag, TrInfo, Transition, Workflow, WorkflowTransition)') |
134 self.assertListEquals(sorted(solutions), |
134 self.assertListEquals(sorted(solutions), |
135 sorted([{'X': 'BaseTransition', 'ETN': 'String', 'ET': 'CWEType'}, |
135 sorted([{'X': 'BaseTransition', 'ETN': 'String', 'ET': 'CWEType'}, |
136 {'X': 'Bookmark', 'ETN': 'String', 'ET': 'CWEType'}, |
136 {'X': 'Bookmark', 'ETN': 'String', 'ET': 'CWEType'}, |
137 {'X': 'Card', 'ETN': 'String', 'ET': 'CWEType'}, |
137 {'X': 'Card', 'ETN': 'String', 'ET': 'CWEType'}, |
138 {'X': 'Comment', 'ETN': 'String', 'ET': 'CWEType'}, |
138 {'X': 'Comment', 'ETN': 'String', 'ET': 'CWEType'}, |
141 {'X': 'CWConstraint', 'ETN': 'String', 'ET': 'CWEType'}, |
141 {'X': 'CWConstraint', 'ETN': 'String', 'ET': 'CWEType'}, |
142 {'X': 'CWConstraintType', 'ETN': 'String', 'ET': 'CWEType'}, |
142 {'X': 'CWConstraintType', 'ETN': 'String', 'ET': 'CWEType'}, |
143 {'X': 'CWEType', 'ETN': 'String', 'ET': 'CWEType'}, |
143 {'X': 'CWEType', 'ETN': 'String', 'ET': 'CWEType'}, |
144 {'X': 'CWAttribute', 'ETN': 'String', 'ET': 'CWEType'}, |
144 {'X': 'CWAttribute', 'ETN': 'String', 'ET': 'CWEType'}, |
145 {'X': 'CWGroup', 'ETN': 'String', 'ET': 'CWEType'}, |
145 {'X': 'CWGroup', 'ETN': 'String', 'ET': 'CWEType'}, |
146 {'X': 'CWRelation', 'ETN': 'String', 'ET': 'CWEType'}, |
|
147 {'X': 'CWPermission', 'ETN': 'String', 'ET': 'CWEType'}, |
|
148 {'X': 'CWProperty', 'ETN': 'String', 'ET': 'CWEType'}, |
|
149 {'X': 'CWRType', 'ETN': 'String', 'ET': 'CWEType'}, |
|
150 {'X': 'CWUniqueTogetherConstraint', 'ETN': 'String', 'ET': 'CWEType'}, |
|
151 {'X': 'CWUser', 'ETN': 'String', 'ET': 'CWEType'}, |
|
146 {'X': 'Email', 'ETN': 'String', 'ET': 'CWEType'}, |
152 {'X': 'Email', 'ETN': 'String', 'ET': 'CWEType'}, |
147 {'X': 'EmailAddress', 'ETN': 'String', 'ET': 'CWEType'}, |
153 {'X': 'EmailAddress', 'ETN': 'String', 'ET': 'CWEType'}, |
148 {'X': 'EmailPart', 'ETN': 'String', 'ET': 'CWEType'}, |
154 {'X': 'EmailPart', 'ETN': 'String', 'ET': 'CWEType'}, |
149 {'X': 'EmailThread', 'ETN': 'String', 'ET': 'CWEType'}, |
155 {'X': 'EmailThread', 'ETN': 'String', 'ET': 'CWEType'}, |
150 {'X': 'CWRelation', 'ETN': 'String', 'ET': 'CWEType'}, |
|
151 {'X': 'CWPermission', 'ETN': 'String', 'ET': 'CWEType'}, |
|
152 {'X': 'CWProperty', 'ETN': 'String', 'ET': 'CWEType'}, |
|
153 {'X': 'CWRType', 'ETN': 'String', 'ET': 'CWEType'}, |
|
154 {'X': 'CWUser', 'ETN': 'String', 'ET': 'CWEType'}, |
|
155 {'X': 'ExternalUri', 'ETN': 'String', 'ET': 'CWEType'}, |
156 {'X': 'ExternalUri', 'ETN': 'String', 'ET': 'CWEType'}, |
156 {'X': 'File', 'ETN': 'String', 'ET': 'CWEType'}, |
157 {'X': 'File', 'ETN': 'String', 'ET': 'CWEType'}, |
157 {'X': 'Folder', 'ETN': 'String', 'ET': 'CWEType'}, |
158 {'X': 'Folder', 'ETN': 'String', 'ET': 'CWEType'}, |
158 {'X': 'Note', 'ETN': 'String', 'ET': 'CWEType'}, |
159 {'X': 'Note', 'ETN': 'String', 'ET': 'CWEType'}, |
159 {'X': 'Personne', 'ETN': 'String', 'ET': 'CWEType'}, |
160 {'X': 'Personne', 'ETN': 'String', 'ET': 'CWEType'}, |
491 'HAVING COUNT(RDEF) > 10') |
492 'HAVING COUNT(RDEF) > 10') |
492 self.assertListEquals(rset.rows, |
493 self.assertListEquals(rset.rows, |
493 [[u'description_format', 12], |
494 [[u'description_format', 12], |
494 [u'description', 13], |
495 [u'description', 13], |
495 [u'name', 14], |
496 [u'name', 14], |
496 [u'created_by', 37], |
497 [u'created_by', 38], |
497 [u'creation_date', 37], |
498 [u'creation_date', 38], |
498 [u'cwuri', 37], |
499 [u'cwuri', 38], |
499 [u'in_basket', 37], |
500 [u'in_basket', 38], |
500 [u'is', 37], |
501 [u'is', 38], |
501 [u'is_instance_of', 37], |
502 [u'is_instance_of', 38], |
502 [u'modification_date', 37], |
503 [u'modification_date', 38], |
503 [u'owned_by', 37]]) |
504 [u'owned_by', 38]]) |
504 |
505 |
505 def test_select_aggregat_having_dumb(self): |
506 def test_select_aggregat_having_dumb(self): |
506 # dumb but should not raise an error |
507 # dumb but should not raise an error |
507 rset = self.execute('Any U,COUNT(X) GROUPBY U ' |
508 rset = self.execute('Any U,COUNT(X) GROUPBY U ' |
508 'WHERE U eid %(x)s, X owned_by U ' |
509 'WHERE U eid %(x)s, X owned_by U ' |