@@ -39,6 +39,7 @@ compilations(
3939 * 5 | f2.c
4040 * 6 | f3.c
4141 */
42+ #keyset[id, num]
4243compilation_args(
4344 int id : @compilation ref,
4445 int num : int ref,
@@ -62,6 +63,7 @@ compilation_args(
6263 * Note that even if those files `#include` headers, those headers
6364 * do not appear as rows.
6465 */
66+ #keyset[id, num]
6567compilation_compiling_files(
6668 int id : @compilation ref,
6769 int num : int ref,
@@ -80,6 +82,7 @@ compilation_compiling_files(
8082 * 3 | CPU seconds used by the extractor backend
8183 * 4 | Elapsed seconds during the extractor backend
8284 */
85+ #keyset[id, num, kind]
8386compilation_time(
8487 int id : @compilation ref,
8588 int num : int ref,
@@ -100,8 +103,9 @@ compilation_time(
100103 * message generated while extracting the `file_number`th file of that
101104 * invocation.
102105 */
106+ #keyset[compilation, file_number, file_number_diagnostic_number]
103107diagnostic_for(
104- int diagnostic : @diagnostic ref,
108+ unique int diagnostic : @diagnostic ref,
105109 int compilation : @compilation ref,
106110 int file_number : int ref,
107111 int file_number_diagnostic_number : int ref
@@ -124,6 +128,7 @@ compilation_finished(
124128 * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data)
125129 * for more information.
126130 */
131+ #keyset[id, column]
127132externalData(
128133 int id : @externalDataElement,
129134 string path : string ref,
@@ -167,6 +172,7 @@ similarCode(
167172/**
168173 * Data used by the 'duplicate code' and 'similar code' detection.
169174 */
175+ #keyset[id, offset]
170176tokens(
171177 int id : @duplication_or_similarity ref,
172178 int offset : int ref,
0 commit comments