stable

Clone or download

Read-only

feat: Query for Equal comparison of fields

How to test: - Enable the feature flag: tuleap config-set feature_flag_cross_tracker_search_duck_typed_fields 1 - Set up two or three trackers with an int or float field. They must have the same shortname, for example "initial_effort". - You can write a TQL query to search on initial_effort with equals `=` and a numeric value - Searching empty fields with `= ''` is not yet supported and yields no result - You can only search on a single field for now. Searching on multiple fields leads to SQL error - All other comparisons are not yet supported - With feature flag disabled, querying fields should still lead to "We don't know what it refers to" error part of story #10710 search on fields with duck typing Change-Id: I669294e502d45eb7967dbe4bd1a3bd9af42a50b6

Modified Files

Name
M plugins/crosstracker/include/CrossTracker/REST/v1/CrossTrackerReportsResource.php +36 −32 Go to diff View file
M plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/DuckTypedField/DuckTypedField.php +12 −8 Go to diff View file
A plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryBuilder/Field/BetweenComparisonFromWhereBuilder.php +38 −0 Go to diff View file
A plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryBuilder/Field/EqualComparisonFromWhereBuilder.php +63 −0 Go to diff View file
A plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryBuilder/Field/FromWhereBuilder.php +39 −0 Go to diff View file
A plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryBuilder/Field/GreaterThanComparisonFromWhereBuilder.php +38 −0 Go to diff View file
A plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryBuilder/Field/GreaterThanOrEqualComparisonFromWhereBuilder.php +38 −0 Go to diff View file
A plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryBuilder/Field/InComparisonFromWhereBuilder.php +38 −0 Go to diff View file
A plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryBuilder/Field/LesserThanComparisonFromWhereBuilder.php +38 −0 Go to diff View file
A plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryBuilder/Field/LesserThanOrEqualComparisonFromWhereBuilder.php +38 −0 Go to diff View file
A plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryBuilder/Field/NotEqualComparisonFromWhereBuilder.php +38 −0 Go to diff View file
A plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryBuilder/Field/NotInComparisonFromWhereBuilder.php +38 −0 Go to diff View file
A plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryBuilder/Field/Numeric/EqualComparisonFromWhereBuilder.php +52 −0 Go to diff View file
M plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryBuilder/FromWhereSearchableVisitor.php +8 −2 Go to diff View file
M plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryBuilder/FromWhereSearchableVisitorParameters.php +13 −4 Go to diff View file
M plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryBuilderVisitor.php +47 −34 Go to diff View file
M plugins/crosstracker/include/crosstrackerPlugin.php +27 −23 Go to diff View file
M plugins/crosstracker/tests/unit/CrossTracker/Report/Query/Advanced/DuckTypedField/DuckTypedFieldTest.php +10 −5 Go to diff View file
A plugins/crosstracker/tests/unit/CrossTracker/Report/Query/Advanced/QueryBuilder/Field/EqualComparisonFromWhereBuilderTest.php +80 −0 Go to diff View file