Skip to content

Commit 90272dd

Browse files
committed
Dataflow: Allow printing multiple models for one MaDId.
1 parent 377301a commit 90272dd

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

shared/dataflow/codeql/dataflow/test/ProvenancePathGraph.qll

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,17 @@ module TranslateProvenanceResults<
109109

110110
private module Models = TranslateModels<interpretModelForTest/2, provenance/1>;
111111

112+
private newtype TModelRow = TMkModelRow(int r, string model) { Models::models(r, model) }
113+
114+
private predicate rankedModels(int i, int r, string model) {
115+
TMkModelRow(r, model) =
116+
rank[i](TModelRow row, int r0, string model0 |
117+
row = TMkModelRow(r0, model0)
118+
|
119+
row order by r0, model0
120+
)
121+
}
122+
112123
predicate results(string relation, int row, int column, string data) {
113124
queryResults(relation, row, column, data) and
114125
(relation != "edges" or column != provenanceColumn())
@@ -121,9 +132,8 @@ module TranslateProvenanceResults<
121132
)
122133
or
123134
exists(int r, string model |
124-
Models::models(r, model) and
125135
relation = "models" and
126-
row = r
136+
rankedModels(row, r, model)
127137
|
128138
column = 0 and data = r.toString()
129139
or

0 commit comments

Comments
 (0)