From feb1ab86f09d8470c8d6821e6e822c799715ac8f Mon Sep 17 00:00:00 2001 From: Erik Krogh Kristensen Date: Wed, 18 Aug 2021 09:19:05 +0000 Subject: [PATCH 1/2] add a query for finding rank[1] --- ql/src/queries/style/RankOne.ql | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 ql/src/queries/style/RankOne.ql diff --git a/ql/src/queries/style/RankOne.ql b/ql/src/queries/style/RankOne.ql new file mode 100644 index 00000000000..57566019ffc --- /dev/null +++ b/ql/src/queries/style/RankOne.ql @@ -0,0 +1,16 @@ +/** + * @name Selecting minimum element using `rank[1]` + * @description Selecting the minimim element using `rank[1]` performs worse than doing the same thing with `min(..)`. + * @kind problem + * @problem.severity warning + * @id ql/rank-one + * @tags performance, + * maintainability + * @precision very-high + */ + +import ql + +from Rank r +where r.getRankExpr().(Integer).getValue() = 1 +select r, "Using rank[1](..) is an anti-pattern, use min(..) instead." From 91b8c1c4a0b2c0966495baf6f256718b21fba656 Mon Sep 17 00:00:00 2001 From: Erik Krogh Kristensen Date: Wed, 18 Aug 2021 11:25:36 +0200 Subject: [PATCH 2/2] Update ql/src/queries/style/RankOne.ql Co-authored-by: Taus --- ql/src/queries/style/RankOne.ql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ql/src/queries/style/RankOne.ql b/ql/src/queries/style/RankOne.ql index 57566019ffc..edfb242f174 100644 --- a/ql/src/queries/style/RankOne.ql +++ b/ql/src/queries/style/RankOne.ql @@ -1,6 +1,6 @@ /** * @name Selecting minimum element using `rank[1]` - * @description Selecting the minimim element using `rank[1]` performs worse than doing the same thing with `min(..)`. + * @description Selecting the minimum element using `rank[1](..)` performs worse than doing the same thing with `min(..)`. * @kind problem * @problem.severity warning * @id ql/rank-one