cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Jirsa (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-13799) Fix some alerts raised by lgtm.com
Date Fri, 20 Oct 2017 20:07:00 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-13799?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16213153#comment-16213153
] 

Jeff Jirsa commented on CASSANDRA-13799:
----------------------------------------

Thanks for the follow-up [~malcolmt] ! That looks like an appropriate fix.

There's also some unit tests (e.g. {{OperationFctsTest}} ) that rely on the old, incorrect
logged strings. 

For that, I've made these changes, if you're ok with them:

{code}
diff --git a/test/unit/org/apache/cassandra/cql3/functions/OperationFctsTest.java b/test/unit/org/apache/cassandra/cql3/functions/OperationFctsTest.java
index 49c9e30..d27b746 100644
--- a/test/unit/org/apache/cassandra/cql3/functions/OperationFctsTest.java
+++ b/test/unit/org/apache/cassandra/cql3/functions/OperationFctsTest.java
@@ -292,17 +292,17 @@ public class OperationFctsTest extends CQLTester
                    row(2, (byte) 2, (short) 2, "test"));

         // tinyint, smallint and int could be used there so we need to disambiguate
-        assertInvalidMessage("Ambiguous '+' operation: use type casts to disambiguate",
+        assertInvalidMessage("Ambiguous '+' operation with args ? and 1: use type casts to
disambiguate",
                              "SELECT * FROM %s WHERE pk = ? + 1 AND c1 = 2", 1);

-        assertInvalidMessage("Ambiguous '+' operation: use type casts to disambiguate",
+        assertInvalidMessage("Ambiguous '+' operation with args ? and 1: use type casts to
disambiguate",
                              "SELECT * FROM %s WHERE pk = 2 AND c1 = 2 AND c2 = 1 * (? +
1)", 1);

         assertRows(execute("SELECT 1 + 1, v FROM %s WHERE pk = 2 AND c1 = 2"),
                    row(2, "test"));

         // As the output type is unknown the ? type cannot be determined
-        assertInvalidMessage("Ambiguous '+' operation: use type casts to disambiguate",
+        assertInvalidMessage("Ambiguous '+' operation with args 1 and ?: use type casts to
disambiguate",
                              "SELECT 1 + ?, v FROM %s WHERE pk = 2 AND c1 = 2", 1);

         // As the prefered type for the constants is int, the returned type will be int
@@ -310,7 +310,7 @@ public class OperationFctsTest extends CQLTester
                    row(150, "test"));

         // As the output type is unknown the ? type cannot be determined
-        assertInvalidMessage("Ambiguous '+' operation: use type casts to disambiguate",
+        assertInvalidMessage("Ambiguous '+' operation with args ? and 50: use type casts
to disambiguate",
                              "SELECT ? + 50, v FROM %s WHERE pk = 2 AND c1 = 2", 100);

         createTable("CREATE TABLE %s (a tinyint, b smallint, c int, d bigint, e float, f
double, g varint, h decimal, PRIMARY KEY(a, b))"
@@ -672,7 +672,7 @@ public class OperationFctsTest extends CQLTester
     public void testWithNanAndInfinity() throws Throwable
     {
         createTable("CREATE TABLE %s (a int PRIMARY KEY, b double, c decimal)");
-        assertInvalidMessage("Ambiguous '+' operation: use type casts to disambiguate",
+        assertInvalidMessage("Ambiguous '+' operation with args ? and 1: use type casts to
disambiguate",
                              "INSERT INTO %S (a, b, c) VALUES (? + 1, ?, ?)", 0, Double.NaN,
BigDecimal.valueOf(1));

         execute("INSERT INTO %S (a, b, c) VALUES ((int) ? + 1, -?, ?)", 0, Double.NaN, BigDecimal.valueOf(1));{code}

And:

{code}
diff --git a/test/unit/org/apache/cassandra/cql3/validation/operations/InsertUpdateIfConditionTest.java
b/test/unit/org/apache/cassandra/cql3/validation/operations/InsertUpdateIfConditionTest.java
index da5c3bd..a0ae214 100644
--- a/test/unit/org/apache/cassandra/cql3/validation/operations/InsertUpdateIfConditionTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/operations/InsertUpdateIfConditionTest.java
@@ -2038,13 +2038,13 @@ public class InsertUpdateIfConditionTest extends CQLTester
     {
         createTable(" CREATE TABLE %s (k int PRIMARY KEY, v int, d duration)");

-        assertInvalidMessage("Slice conditions are not supported on durations",
+        assertInvalidMessage("Slice conditions ( > ) are not supported on durations",
                              "UPDATE %s SET v = 3 WHERE k = 0 IF d > 1s");
-        assertInvalidMessage("Slice conditions are not supported on durations",
+        assertInvalidMessage("Slice conditions ( >= ) are not supported on durations",
                              "UPDATE %s SET v = 3 WHERE k = 0 IF d >= 1s");
-        assertInvalidMessage("Slice conditions are not supported on durations",
+        assertInvalidMessage("Slice conditions ( <= ) are not supported on durations",
                              "UPDATE %s SET v = 3 WHERE k = 0 IF d <= 1s");
-        assertInvalidMessage("Slice conditions are not supported on durations",
+        assertInvalidMessage("Slice conditions ( < ) are not supported on durations",
                              "UPDATE %s SET v = 3 WHERE k = 0 IF d < 1s");

         execute("INSERT INTO %s (k, v, d) VALUES (1, 1, 2s)");
@@ -2100,13 +2100,13 @@ public class InsertUpdateIfConditionTest extends CQLTester

             assertRows(execute("SELECT * FROM %s WHERE k = 1"), row(1, list(Duration.from("5s"),
Duration.from("10s")), 6));

-            assertInvalidMessage("Slice conditions are not supported on durations",
+            assertInvalidMessage("Slice conditions ( > ) are not supported on durations",
                                  "UPDATE %s SET v = 3 WHERE k = 0 IF l[0] > 1s");
-            assertInvalidMessage("Slice conditions are not supported on durations",
+            assertInvalidMessage("Slice conditions ( >= ) are not supported on durations",
                                  "UPDATE %s SET v = 3 WHERE k = 0 IF l[0] >= 1s");
-            assertInvalidMessage("Slice conditions are not supported on durations",
+            assertInvalidMessage("Slice conditions ( <= ) are not supported on durations",
                                  "UPDATE %s SET v = 3 WHERE k = 0 IF l[0] <= 1s");
-            assertInvalidMessage("Slice conditions are not supported on durations",
+            assertInvalidMessage("Slice conditions ( < ) are not supported on durations",
                                  "UPDATE %s SET v = 3 WHERE k = 0 IF l[0] < 1s");

             assertRows(execute("UPDATE %s SET v = 4 WHERE k = 1 IF l[0] = 2s"), row(false,
list(Duration.from("5s"), Duration.from("10s"))));
@@ -2218,13 +2218,13 @@ public class InsertUpdateIfConditionTest extends CQLTester

             assertRows(execute("SELECT * FROM %s WHERE k = 1"), row(1, map(1, Duration.from("5s"),
2, Duration.from("10s")), 6));

-            assertInvalidMessage("Slice conditions are not supported on durations",
+            assertInvalidMessage("Slice conditions ( > ) are not supported on durations",
                                  "UPDATE %s SET v = 3 WHERE k = 0 IF m[1] > 1s");
-            assertInvalidMessage("Slice conditions are not supported on durations",
+            assertInvalidMessage("Slice conditions ( >= ) are not supported on durations",
                                  "UPDATE %s SET v = 3 WHERE k = 0 IF m[1] >= 1s");
-            assertInvalidMessage("Slice conditions are not supported on durations",
+            assertInvalidMessage("Slice conditions ( <= ) are not supported on durations",
                                  "UPDATE %s SET v = 3 WHERE k = 0 IF m[1] <= 1s");
-            assertInvalidMessage("Slice conditions are not supported on durations",
+            assertInvalidMessage("Slice conditions ( < ) are not supported on durations",
                                  "UPDATE %s SET v = 3 WHERE k = 0 IF m[1] < 1s");

             assertRows(execute("UPDATE %s SET v = 4 WHERE k = 1 IF m[1] = 2s"), row(false,
map(1, Duration.from("5s"), 2, Duration.from("10s"))));
@@ -2338,13 +2338,13 @@ public class InsertUpdateIfConditionTest extends CQLTester

             assertRows(execute("SELECT * FROM %s WHERE k = 1"), row(1, userType("i", 1, "d",
Duration.from("10s")), 6));

-            assertInvalidMessage("Slice conditions are not supported on durations",
+            assertInvalidMessage("Slice conditions ( > ) are not supported on durations",
                                  "UPDATE %s SET v = 3 WHERE k = 0 IF u.d > 1s");
-            assertInvalidMessage("Slice conditions are not supported on durations",
+            assertInvalidMessage("Slice conditions ( >= ) are not supported on durations",
                                  "UPDATE %s SET v = 3 WHERE k = 0 IF u.d >= 1s");
-            assertInvalidMessage("Slice conditions are not supported on durations",
+            assertInvalidMessage("Slice conditions ( <= ) are not supported on durations",
                                  "UPDATE %s SET v = 3 WHERE k = 0 IF u.d <= 1s");
-            assertInvalidMessage("Slice conditions are not supported on durations",
+            assertInvalidMessage("Slice conditions ( < ) are not supported on durations",
                                  "UPDATE %s SET v = 3 WHERE k = 0 IF u.d < 1s");

             assertRows(execute("UPDATE %s SET v = 4 WHERE k = 1 IF u.d = 2s"), row(false,
userType("i", 1, "d", Duration.from("10s"))));
{code}



> Fix some alerts raised by lgtm.com
> ----------------------------------
>
>                 Key: CASSANDRA-13799
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13799
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Malcolm Taylor
>            Assignee: Malcolm Taylor
>             Fix For: 4.x
>
>         Attachments: 13799-trunk.txt
>
>
> lgtm.com has identified a number of issues  where there may be scope for improving the
code ([https://lgtm.com/projects/g/apache/cassandra/alerts/?mode=tree&severity=error]).
This issue is to address some of the more straightforward cases.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


Mime
View raw message