This is an automated email from the ASF dual-hosted git repository.

smiklosovic pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 19007f374c Remove remaining driver dependencies from server code
19007f374c is described below

commit 19007f374cf516557ed9a63e9d0a0db69b559369
Author: Andy Tolbert <6889771+tolber...@users.noreply.github.com>
AuthorDate: Thu Feb 13 14:48:47 2025 -0600

    Remove remaining driver dependencies from server code
    
    patch by Andy Tolbert; reviewed by Stefan Miklosovic for CASSANDRA-20327
---
 src/java/org/apache/cassandra/cql3/UntypedResultSet.java       |  9 +++++++--
 src/java/org/apache/cassandra/cql3/functions/UDFunction.java   |  6 ------
 .../apache/cassandra/security/ThreadAwareSecurityManager.java  |  3 +--
 .../com/datastax/driver/core/PreparedStatementHelper.java      | 10 ----------
 4 files changed, 8 insertions(+), 20 deletions(-)

diff --git a/src/java/org/apache/cassandra/cql3/UntypedResultSet.java 
b/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
index a0201c500a..f82ff3eb83 100644
--- a/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
+++ b/src/java/org/apache/cassandra/cql3/UntypedResultSet.java
@@ -33,7 +33,6 @@ import java.util.stream.StreamSupport;
 
 import com.google.common.annotations.VisibleForTesting;
 
-import com.datastax.driver.core.CodecUtils;
 import org.apache.cassandra.cql3.functions.types.LocalDate;
 import org.apache.cassandra.cql3.statements.SelectStatement;
 import org.apache.cassandra.db.Clustering;
@@ -442,7 +441,13 @@ public abstract class UntypedResultSet implements 
Iterable<UntypedResultSet.Row>
             return TimestampType.instance.compose(data.get(column));
         }
 
-        public LocalDate getDate(String column) { return 
LocalDate.fromDaysSinceEpoch(CodecUtils.fromUnsignedToSignedInt(data.get(column).getInt()));}
+        public LocalDate getDate(String column)
+        {
+            // date type is stored as an unsigned byte; convert it back by 
adding MIN_VALUE.
+            int unsigned = data.get(column).getInt();
+            int signed = unsigned + Integer.MIN_VALUE;
+            return LocalDate.fromDaysSinceEpoch(signed);
+        }
 
         public long getLong(String column)
         {
diff --git a/src/java/org/apache/cassandra/cql3/functions/UDFunction.java 
b/src/java/org/apache/cassandra/cql3/functions/UDFunction.java
index 39f8f9b7fa..ded2a1589e 100644
--- a/src/java/org/apache/cassandra/cql3/functions/UDFunction.java
+++ b/src/java/org/apache/cassandra/cql3/functions/UDFunction.java
@@ -134,12 +134,6 @@ public abstract class UDFunction extends UserFunction 
implements ScalarFunction
     // Only need to disallow a pattern, if it would otherwise be allowed via 
allowedPatterns
     private static final String[] disallowedPatterns =
     {
-    "com/datastax/driver/core/Cluster.class",
-    "com/datastax/driver/core/Metrics.class",
-    "com/datastax/driver/core/NettyOptions.class",
-    "com/datastax/driver/core/Session.class",
-    "com/datastax/driver/core/Statement.class",
-    "com/datastax/driver/core/TimestampGenerator.class", // indirectly covers 
ServerSideTimestampGenerator + ThreadLocalMonotonicTimestampGenerator
     "java/lang/Compiler.class",
     "java/lang/InheritableThreadLocal.class",
     "java/lang/Package.class",
diff --git 
a/src/java/org/apache/cassandra/security/ThreadAwareSecurityManager.java 
b/src/java/org/apache/cassandra/security/ThreadAwareSecurityManager.java
index 8f86831cc3..65793a63a1 100644
--- a/src/java/org/apache/cassandra/security/ThreadAwareSecurityManager.java
+++ b/src/java/org/apache/cassandra/security/ThreadAwareSecurityManager.java
@@ -41,8 +41,6 @@ import 
org.apache.cassandra.utils.logging.LoggingSupportFactory;
  * Custom {@link SecurityManager} and {@link Policy} implementation that only 
performs access checks
  * if explicitly enabled.
  * <p>
- * This implementation gives no measurable performance penalty
- * (see <a 
href="http://cstar.datastax.com/tests/id/1d461628-12ba-11e5-918f-42010af0688f";>see
 cstar test</a>).
  * This is better than the penalty of 1 to 3 percent using a standard {@code 
SecurityManager} with an <i>allow all</i> policy.
  * </p>
  */
@@ -216,6 +214,7 @@ public final class ThreadAwareSecurityManager extends 
SecurityManager
 
         // required by JavaDriver 2.2.0-rc3 and 3.0.0-a2 or newer
         // code in com.datastax.driver.core.CodecUtils uses Guava stuff, which 
in turns requires this permission
+        // TODO: Evaluate removing this once the driver is removed as a 
dependency (see CASSANDRA-20326).
         if (CHECK_MEMBER_ACCESS_PERMISSION.equals(perm))
             return;
 
diff --git a/src/java/com/datastax/driver/core/PreparedStatementHelper.java 
b/test/unit/com/datastax/driver/core/PreparedStatementHelper.java
similarity index 91%
rename from src/java/com/datastax/driver/core/PreparedStatementHelper.java
rename to test/unit/com/datastax/driver/core/PreparedStatementHelper.java
index 3df33fb0ec..26e0408e9f 100644
--- a/src/java/com/datastax/driver/core/PreparedStatementHelper.java
+++ b/test/unit/com/datastax/driver/core/PreparedStatementHelper.java
@@ -41,16 +41,6 @@ public class PreparedStatementHelper
         return statement.getPreparedId().boundValuesMetadata.id;
     }
 
-    public static void assertStable(PreparedStatement first, PreparedStatement 
subsequent)
-    {
-        if (!id(first).equals(id(subsequent)))
-        {
-            throw new AssertionError(String.format("Subsequent id (%s) is 
different from the first one (%s)",
-                                                   id(first),
-                                                   id(subsequent)));
-        }
-    }
-
     public static void assertHashWithoutKeyspace(PreparedStatement statement, 
String queryString, String ks)
     {
         MD5Digest returned = id(statement);


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

Reply via email to