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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]