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