├── .asf.yaml ├── .gitignore ├── .snyk ├── .travis.yml ├── CONTRIBUTING.md ├── Jenkinsfile-asf ├── Jenkinsfile-datastax ├── LICENSE ├── LICENSE_binary ├── NOTICE.txt ├── NOTICE_binary.txt ├── README.md ├── bom └── pom.xml ├── changelog └── README.md ├── ci ├── create-user.sh ├── install-jdk.sh └── run-tests.sh ├── core-shaded ├── pom.xml └── src │ └── assembly │ └── shaded-jar.xml ├── core ├── console.scala ├── pom.xml ├── revapi.json └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── datastax │ │ │ ├── dse │ │ │ └── driver │ │ │ │ ├── api │ │ │ │ └── core │ │ │ │ │ ├── DseProtocolVersion.java │ │ │ │ │ ├── DseSession.java │ │ │ │ │ ├── DseSessionBuilder.java │ │ │ │ │ ├── auth │ │ │ │ │ ├── BaseDseAuthenticator.java │ │ │ │ │ ├── DseGssApiAuthProviderBase.java │ │ │ │ │ ├── DsePlainTextAuthProviderBase.java │ │ │ │ │ ├── ProgrammaticDseGssApiAuthProvider.java │ │ │ │ │ └── ProxyAuthentication.java │ │ │ │ │ ├── config │ │ │ │ │ ├── DseDriverConfigLoader.java │ │ │ │ │ └── DseDriverOption.java │ │ │ │ │ ├── cql │ │ │ │ │ ├── continuous │ │ │ │ │ │ ├── ContinuousAsyncResultSet.java │ │ │ │ │ │ ├── ContinuousResultSet.java │ │ │ │ │ │ ├── ContinuousSession.java │ │ │ │ │ │ └── reactive │ │ │ │ │ │ │ ├── ContinuousReactiveResultSet.java │ │ │ │ │ │ │ └── ContinuousReactiveSession.java │ │ │ │ │ └── reactive │ │ │ │ │ │ ├── ReactiveQueryMetadata.java │ │ │ │ │ │ ├── ReactiveResultSet.java │ │ │ │ │ │ ├── ReactiveRow.java │ │ │ │ │ │ ├── ReactiveSession.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── data │ │ │ │ │ ├── geometry │ │ │ │ │ │ ├── Geometry.java │ │ │ │ │ │ ├── LineString.java │ │ │ │ │ │ ├── Point.java │ │ │ │ │ │ └── Polygon.java │ │ │ │ │ └── time │ │ │ │ │ │ ├── DateRange.java │ │ │ │ │ │ ├── DateRangeBound.java │ │ │ │ │ │ └── DateRangePrecision.java │ │ │ │ │ ├── graph │ │ │ │ │ ├── AsyncGraphResultSet.java │ │ │ │ │ ├── BatchGraphStatement.java │ │ │ │ │ ├── BatchGraphStatementBuilder.java │ │ │ │ │ ├── DseGraph.java │ │ │ │ │ ├── DseGraphRemoteConnectionBuilder.java │ │ │ │ │ ├── FluentGraphStatement.java │ │ │ │ │ ├── FluentGraphStatementBuilder.java │ │ │ │ │ ├── GraphExecutionInfo.java │ │ │ │ │ ├── GraphNode.java │ │ │ │ │ ├── GraphResultSet.java │ │ │ │ │ ├── GraphSession.java │ │ │ │ │ ├── GraphStatement.java │ │ │ │ │ ├── GraphStatementBuilderBase.java │ │ │ │ │ ├── PagingEnabledOptions.java │ │ │ │ │ ├── ScriptGraphStatement.java │ │ │ │ │ ├── ScriptGraphStatementBuilder.java │ │ │ │ │ ├── predicates │ │ │ │ │ │ ├── CqlCollection.java │ │ │ │ │ │ ├── Geo.java │ │ │ │ │ │ └── Search.java │ │ │ │ │ └── reactive │ │ │ │ │ │ ├── ReactiveGraphNode.java │ │ │ │ │ │ ├── ReactiveGraphResultSet.java │ │ │ │ │ │ └── ReactiveGraphSession.java │ │ │ │ │ ├── metadata │ │ │ │ │ ├── DseNodeProperties.java │ │ │ │ │ └── schema │ │ │ │ │ │ ├── DseAggregateMetadata.java │ │ │ │ │ │ ├── DseColumnMetadata.java │ │ │ │ │ │ ├── DseEdgeMetadata.java │ │ │ │ │ │ ├── DseFunctionMetadata.java │ │ │ │ │ │ ├── DseGraphKeyspaceMetadata.java │ │ │ │ │ │ ├── DseGraphTableMetadata.java │ │ │ │ │ │ ├── DseIndexMetadata.java │ │ │ │ │ │ ├── DseKeyspaceMetadata.java │ │ │ │ │ │ ├── DseRelationMetadata.java │ │ │ │ │ │ ├── DseTableMetadata.java │ │ │ │ │ │ ├── DseVertexMetadata.java │ │ │ │ │ │ └── DseViewMetadata.java │ │ │ │ │ ├── metrics │ │ │ │ │ ├── DseNodeMetric.java │ │ │ │ │ └── DseSessionMetric.java │ │ │ │ │ ├── servererrors │ │ │ │ │ └── UnfitClientException.java │ │ │ │ │ └── type │ │ │ │ │ ├── DseDataTypes.java │ │ │ │ │ └── codec │ │ │ │ │ └── DseTypeCodecs.java │ │ │ │ └── internal │ │ │ │ └── core │ │ │ │ ├── DseProtocolFeature.java │ │ │ │ ├── InsightsClientLifecycleListener.java │ │ │ │ ├── auth │ │ │ │ ├── AuthUtils.java │ │ │ │ ├── DseGssApiAuthProvider.java │ │ │ │ └── DsePlainTextAuthProvider.java │ │ │ │ ├── cql │ │ │ │ ├── DseConversions.java │ │ │ │ ├── continuous │ │ │ │ │ ├── ContinuousCqlRequestAsyncProcessor.java │ │ │ │ │ ├── ContinuousCqlRequestHandler.java │ │ │ │ │ ├── ContinuousCqlRequestSyncProcessor.java │ │ │ │ │ ├── ContinuousRequestHandlerBase.java │ │ │ │ │ ├── DefaultContinuousAsyncResultSet.java │ │ │ │ │ ├── DefaultContinuousResultSet.java │ │ │ │ │ └── reactive │ │ │ │ │ │ ├── ContinuousCqlRequestReactiveProcessor.java │ │ │ │ │ │ └── DefaultContinuousReactiveResultSet.java │ │ │ │ └── reactive │ │ │ │ │ ├── CqlRequestReactiveProcessor.java │ │ │ │ │ ├── DefaultReactiveResultSet.java │ │ │ │ │ ├── DefaultReactiveRow.java │ │ │ │ │ ├── EmptySubscription.java │ │ │ │ │ ├── FailedPublisher.java │ │ │ │ │ ├── FailedReactiveResultSet.java │ │ │ │ │ ├── ReactiveOperators.java │ │ │ │ │ ├── ReactiveResultSetBase.java │ │ │ │ │ ├── ReactiveResultSetSubscription.java │ │ │ │ │ └── SimpleUnicastProcessor.java │ │ │ │ ├── data │ │ │ │ └── geometry │ │ │ │ │ ├── DefaultGeometry.java │ │ │ │ │ ├── DefaultLineString.java │ │ │ │ │ ├── DefaultPoint.java │ │ │ │ │ ├── DefaultPolygon.java │ │ │ │ │ ├── Distance.java │ │ │ │ │ ├── DistanceSerializationProxy.java │ │ │ │ │ ├── WkbSerializationProxy.java │ │ │ │ │ └── WkbUtil.java │ │ │ │ ├── graph │ │ │ │ ├── ByteBufUtil.java │ │ │ │ ├── BytecodeGraphStatement.java │ │ │ │ ├── ContinuousAsyncGraphResultSet.java │ │ │ │ ├── ContinuousGraphRequestHandler.java │ │ │ │ ├── CqlCollectionPredicate.java │ │ │ │ ├── DefaultAsyncGraphResultSet.java │ │ │ │ ├── DefaultBatchGraphStatement.java │ │ │ │ ├── DefaultDseRemoteConnectionBuilder.java │ │ │ │ ├── DefaultFluentGraphStatement.java │ │ │ │ ├── DefaultScriptGraphStatement.java │ │ │ │ ├── DseGraphRemoteConnection.java │ │ │ │ ├── DseGraphTraversal.java │ │ │ │ ├── DsePredicate.java │ │ │ │ ├── EditDistance.java │ │ │ │ ├── GeoPredicate.java │ │ │ │ ├── GeoUtils.java │ │ │ │ ├── GraphConversions.java │ │ │ │ ├── GraphExecutionInfoConverter.java │ │ │ │ ├── GraphProtocol.java │ │ │ │ ├── GraphRequestAsyncProcessor.java │ │ │ │ ├── GraphRequestHandler.java │ │ │ │ ├── GraphRequestSyncProcessor.java │ │ │ │ ├── GraphResultIterator.java │ │ │ │ ├── GraphResultSets.java │ │ │ │ ├── GraphSON1SerdeTP.java │ │ │ │ ├── GraphSON2SerdeTP.java │ │ │ │ ├── GraphSONUtils.java │ │ │ │ ├── GraphStatementBase.java │ │ │ │ ├── GraphSupportChecker.java │ │ │ │ ├── LegacyGraphNode.java │ │ │ │ ├── MultiPageGraphResultSet.java │ │ │ │ ├── ObjectGraphNode.java │ │ │ │ ├── SearchPredicate.java │ │ │ │ ├── SearchUtils.java │ │ │ │ ├── SinglePageGraphResultSet.java │ │ │ │ ├── TinkerpopBufferUtil.java │ │ │ │ ├── binary │ │ │ │ │ ├── AbstractDynamicGraphBinaryCustomSerializer.java │ │ │ │ │ ├── AbstractSimpleGraphBinaryCustomSerializer.java │ │ │ │ │ ├── ComplexTypeSerializerUtil.java │ │ │ │ │ ├── CqlDurationSerializer.java │ │ │ │ │ ├── DistanceSerializer.java │ │ │ │ │ ├── EditDistanceSerializer.java │ │ │ │ │ ├── GeometrySerializer.java │ │ │ │ │ ├── GraphBinaryModule.java │ │ │ │ │ ├── GraphBinaryUtils.java │ │ │ │ │ ├── LineStringSerializer.java │ │ │ │ │ ├── PairSerializer.java │ │ │ │ │ ├── PointSerializer.java │ │ │ │ │ ├── PolygonSerializer.java │ │ │ │ │ ├── TupleValueSerializer.java │ │ │ │ │ ├── UdtValueSerializer.java │ │ │ │ │ └── buffer │ │ │ │ │ │ ├── DseNettyBuffer.java │ │ │ │ │ │ └── DseNettyBufferFactory.java │ │ │ │ └── reactive │ │ │ │ │ ├── DefaultReactiveGraphNode.java │ │ │ │ │ ├── DefaultReactiveGraphResultSet.java │ │ │ │ │ ├── FailedReactiveGraphResultSet.java │ │ │ │ │ ├── ReactiveGraphRequestProcessor.java │ │ │ │ │ └── ReactiveGraphResultSetSubscription.java │ │ │ │ ├── insights │ │ │ │ ├── AddressFormatter.java │ │ │ │ ├── ConfigAntiPatternsFinder.java │ │ │ │ ├── DataCentersFinder.java │ │ │ │ ├── ExecutionProfilesInfoFinder.java │ │ │ │ ├── InsightsClient.java │ │ │ │ ├── InsightsSupportVerifier.java │ │ │ │ ├── PackageUtil.java │ │ │ │ ├── PlatformInfoFinder.java │ │ │ │ ├── ReconnectionPolicyInfoFinder.java │ │ │ │ ├── configuration │ │ │ │ │ └── InsightsConfiguration.java │ │ │ │ ├── exceptions │ │ │ │ │ └── InsightEventFormatException.java │ │ │ │ └── schema │ │ │ │ │ ├── AuthProviderType.java │ │ │ │ │ ├── Insight.java │ │ │ │ │ ├── InsightMetadata.java │ │ │ │ │ ├── InsightType.java │ │ │ │ │ ├── InsightsPlatformInfo.java │ │ │ │ │ ├── InsightsStartupData.java │ │ │ │ │ ├── InsightsStatusData.java │ │ │ │ │ ├── LoadBalancingInfo.java │ │ │ │ │ ├── PoolSizeByHostDistance.java │ │ │ │ │ ├── ReconnectionPolicyInfo.java │ │ │ │ │ ├── SSL.java │ │ │ │ │ ├── SessionStateForNode.java │ │ │ │ │ ├── SpecificExecutionProfile.java │ │ │ │ │ └── SpeculativeExecutionInfo.java │ │ │ │ ├── loadbalancing │ │ │ │ ├── DseDcInferringLoadBalancingPolicy.java │ │ │ │ └── DseLoadBalancingPolicy.java │ │ │ │ ├── metadata │ │ │ │ └── schema │ │ │ │ │ ├── DefaultDseAggregateMetadata.java │ │ │ │ │ ├── DefaultDseColumnMetadata.java │ │ │ │ │ ├── DefaultDseEdgeMetadata.java │ │ │ │ │ ├── DefaultDseFunctionMetadata.java │ │ │ │ │ ├── DefaultDseIndexMetadata.java │ │ │ │ │ ├── DefaultDseKeyspaceMetadata.java │ │ │ │ │ ├── DefaultDseTableMetadata.java │ │ │ │ │ ├── DefaultDseVertexMetadata.java │ │ │ │ │ ├── DefaultDseViewMetadata.java │ │ │ │ │ ├── ScriptHelper.java │ │ │ │ │ └── parsing │ │ │ │ │ ├── DseAggregateParser.java │ │ │ │ │ ├── DseFunctionParser.java │ │ │ │ │ ├── DseSchemaParser.java │ │ │ │ │ ├── DseTableParser.java │ │ │ │ │ └── DseViewParser.java │ │ │ │ ├── protocol │ │ │ │ └── TinkerpopBufferPrimitiveCodec.java │ │ │ │ ├── search │ │ │ │ └── DateRangeUtil.java │ │ │ │ ├── session │ │ │ │ └── DefaultDseSession.java │ │ │ │ ├── type │ │ │ │ └── codec │ │ │ │ │ ├── DseTypeCodecsRegistrar.java │ │ │ │ │ ├── DseTypeCodecsRegistrarSubstitutions.java │ │ │ │ │ ├── geometry │ │ │ │ │ ├── GeometryCodec.java │ │ │ │ │ ├── LineStringCodec.java │ │ │ │ │ ├── PointCodec.java │ │ │ │ │ └── PolygonCodec.java │ │ │ │ │ └── time │ │ │ │ │ └── DateRangeCodec.java │ │ │ │ └── util │ │ │ │ └── concurrent │ │ │ │ └── BoundedConcurrentQueue.java │ │ │ └── oss │ │ │ └── driver │ │ │ ├── api │ │ │ ├── core │ │ │ │ ├── AllNodesFailedException.java │ │ │ │ ├── AsyncAutoCloseable.java │ │ │ │ ├── AsyncPagingIterable.java │ │ │ │ ├── ConsistencyLevel.java │ │ │ │ ├── CqlIdentifier.java │ │ │ │ ├── CqlSession.java │ │ │ │ ├── CqlSessionBuilder.java │ │ │ │ ├── DefaultConsistencyLevel.java │ │ │ │ ├── DefaultProtocolVersion.java │ │ │ │ ├── DriverException.java │ │ │ │ ├── DriverExecutionException.java │ │ │ │ ├── DriverTimeoutException.java │ │ │ │ ├── InvalidKeyspaceException.java │ │ │ │ ├── MappedAsyncPagingIterable.java │ │ │ │ ├── MavenCoordinates.java │ │ │ │ ├── NoNodeAvailableException.java │ │ │ │ ├── NodeUnavailableException.java │ │ │ │ ├── PagingIterable.java │ │ │ │ ├── ProtocolVersion.java │ │ │ │ ├── RequestThrottlingException.java │ │ │ │ ├── UnsupportedProtocolVersionException.java │ │ │ │ ├── Version.java │ │ │ │ ├── addresstranslation │ │ │ │ │ └── AddressTranslator.java │ │ │ │ ├── auth │ │ │ │ │ ├── AuthProvider.java │ │ │ │ │ ├── AuthenticationException.java │ │ │ │ │ ├── Authenticator.java │ │ │ │ │ ├── PlainTextAuthProviderBase.java │ │ │ │ │ ├── ProgrammaticPlainTextAuthProvider.java │ │ │ │ │ ├── SyncAuthenticator.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── config │ │ │ │ │ ├── DefaultDriverOption.java │ │ │ │ │ ├── DriverConfig.java │ │ │ │ │ ├── DriverConfigLoader.java │ │ │ │ │ ├── DriverExecutionProfile.java │ │ │ │ │ ├── DriverOption.java │ │ │ │ │ ├── OngoingConfigOptions.java │ │ │ │ │ ├── OptionsMap.java │ │ │ │ │ ├── ProgrammaticDriverConfigLoaderBuilder.java │ │ │ │ │ ├── TypedDriverOption.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── connection │ │ │ │ │ ├── BusyConnectionException.java │ │ │ │ │ ├── ClosedConnectionException.java │ │ │ │ │ ├── ConnectionInitException.java │ │ │ │ │ ├── CrcMismatchException.java │ │ │ │ │ ├── FrameTooLongException.java │ │ │ │ │ ├── HeartbeatException.java │ │ │ │ │ ├── ReconnectionPolicy.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── context │ │ │ │ │ └── DriverContext.java │ │ │ │ ├── cql │ │ │ │ │ ├── AsyncCqlSession.java │ │ │ │ │ ├── AsyncResultSet.java │ │ │ │ │ ├── BatchStatement.java │ │ │ │ │ ├── BatchStatementBuilder.java │ │ │ │ │ ├── BatchType.java │ │ │ │ │ ├── BatchableStatement.java │ │ │ │ │ ├── Bindable.java │ │ │ │ │ ├── BoundStatement.java │ │ │ │ │ ├── BoundStatementBuilder.java │ │ │ │ │ ├── ColumnDefinition.java │ │ │ │ │ ├── ColumnDefinitions.java │ │ │ │ │ ├── DefaultBatchType.java │ │ │ │ │ ├── ExecutionInfo.java │ │ │ │ │ ├── PagingState.java │ │ │ │ │ ├── PrepareRequest.java │ │ │ │ │ ├── PreparedStatement.java │ │ │ │ │ ├── QueryTrace.java │ │ │ │ │ ├── ResultSet.java │ │ │ │ │ ├── Row.java │ │ │ │ │ ├── SimpleStatement.java │ │ │ │ │ ├── SimpleStatementBuilder.java │ │ │ │ │ ├── Statement.java │ │ │ │ │ ├── StatementBuilder.java │ │ │ │ │ ├── SyncCqlSession.java │ │ │ │ │ └── TraceEvent.java │ │ │ │ ├── data │ │ │ │ │ ├── AccessibleById.java │ │ │ │ │ ├── AccessibleByIndex.java │ │ │ │ │ ├── AccessibleByName.java │ │ │ │ │ ├── ByteUtils.java │ │ │ │ │ ├── CqlDuration.java │ │ │ │ │ ├── CqlVector.java │ │ │ │ │ ├── Data.java │ │ │ │ │ ├── GettableById.java │ │ │ │ │ ├── GettableByIndex.java │ │ │ │ │ ├── GettableByName.java │ │ │ │ │ ├── SettableById.java │ │ │ │ │ ├── SettableByIndex.java │ │ │ │ │ ├── SettableByName.java │ │ │ │ │ ├── TupleValue.java │ │ │ │ │ └── UdtValue.java │ │ │ │ ├── detach │ │ │ │ │ ├── AttachmentPoint.java │ │ │ │ │ └── Detachable.java │ │ │ │ ├── loadbalancing │ │ │ │ │ ├── LoadBalancingPolicy.java │ │ │ │ │ ├── NodeDistance.java │ │ │ │ │ └── NodeDistanceEvaluator.java │ │ │ │ ├── metadata │ │ │ │ │ ├── EndPoint.java │ │ │ │ │ ├── Metadata.java │ │ │ │ │ ├── Node.java │ │ │ │ │ ├── NodeState.java │ │ │ │ │ ├── NodeStateListener.java │ │ │ │ │ ├── NodeStateListenerBase.java │ │ │ │ │ ├── SafeInitNodeStateListener.java │ │ │ │ │ ├── TokenMap.java │ │ │ │ │ ├── schema │ │ │ │ │ │ ├── AggregateMetadata.java │ │ │ │ │ │ ├── ClusteringOrder.java │ │ │ │ │ │ ├── ColumnMetadata.java │ │ │ │ │ │ ├── Describable.java │ │ │ │ │ │ ├── FunctionMetadata.java │ │ │ │ │ │ ├── FunctionSignature.java │ │ │ │ │ │ ├── IndexKind.java │ │ │ │ │ │ ├── IndexMetadata.java │ │ │ │ │ │ ├── KeyspaceMetadata.java │ │ │ │ │ │ ├── RelationMetadata.java │ │ │ │ │ │ ├── SchemaChangeListener.java │ │ │ │ │ │ ├── SchemaChangeListenerBase.java │ │ │ │ │ │ ├── TableMetadata.java │ │ │ │ │ │ └── ViewMetadata.java │ │ │ │ │ └── token │ │ │ │ │ │ ├── Token.java │ │ │ │ │ │ └── TokenRange.java │ │ │ │ ├── metrics │ │ │ │ │ ├── DefaultNodeMetric.java │ │ │ │ │ ├── DefaultSessionMetric.java │ │ │ │ │ ├── Metrics.java │ │ │ │ │ ├── NodeMetric.java │ │ │ │ │ └── SessionMetric.java │ │ │ │ ├── package-info.java │ │ │ │ ├── paging │ │ │ │ │ └── OffsetPager.java │ │ │ │ ├── retry │ │ │ │ │ ├── RetryDecision.java │ │ │ │ │ ├── RetryPolicy.java │ │ │ │ │ └── RetryVerdict.java │ │ │ │ ├── servererrors │ │ │ │ │ ├── AlreadyExistsException.java │ │ │ │ │ ├── BootstrappingException.java │ │ │ │ │ ├── CASWriteUnknownException.java │ │ │ │ │ ├── CDCWriteFailureException.java │ │ │ │ │ ├── CoordinatorException.java │ │ │ │ │ ├── DefaultWriteType.java │ │ │ │ │ ├── FunctionFailureException.java │ │ │ │ │ ├── InvalidConfigurationInQueryException.java │ │ │ │ │ ├── InvalidQueryException.java │ │ │ │ │ ├── OverloadedException.java │ │ │ │ │ ├── ProtocolError.java │ │ │ │ │ ├── QueryConsistencyException.java │ │ │ │ │ ├── QueryExecutionException.java │ │ │ │ │ ├── QueryValidationException.java │ │ │ │ │ ├── ReadFailureException.java │ │ │ │ │ ├── ReadTimeoutException.java │ │ │ │ │ ├── ServerError.java │ │ │ │ │ ├── SyntaxError.java │ │ │ │ │ ├── TruncateException.java │ │ │ │ │ ├── UnauthorizedException.java │ │ │ │ │ ├── UnavailableException.java │ │ │ │ │ ├── WriteFailureException.java │ │ │ │ │ ├── WriteTimeoutException.java │ │ │ │ │ └── WriteType.java │ │ │ │ ├── session │ │ │ │ │ ├── ProgrammaticArguments.java │ │ │ │ │ ├── Request.java │ │ │ │ │ ├── Session.java │ │ │ │ │ ├── SessionBuilder.java │ │ │ │ │ └── throttling │ │ │ │ │ │ ├── RequestThrottler.java │ │ │ │ │ │ └── Throttled.java │ │ │ │ ├── specex │ │ │ │ │ └── SpeculativeExecutionPolicy.java │ │ │ │ ├── ssl │ │ │ │ │ ├── ProgrammaticSslEngineFactory.java │ │ │ │ │ ├── SslEngineFactory.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── time │ │ │ │ │ └── TimestampGenerator.java │ │ │ │ ├── tracker │ │ │ │ │ └── RequestTracker.java │ │ │ │ ├── type │ │ │ │ │ ├── ContainerType.java │ │ │ │ │ ├── CustomType.java │ │ │ │ │ ├── DataType.java │ │ │ │ │ ├── DataTypes.java │ │ │ │ │ ├── ListType.java │ │ │ │ │ ├── MapType.java │ │ │ │ │ ├── SetType.java │ │ │ │ │ ├── TupleType.java │ │ │ │ │ ├── UserDefinedType.java │ │ │ │ │ ├── VectorType.java │ │ │ │ │ ├── codec │ │ │ │ │ │ ├── CodecNotFoundException.java │ │ │ │ │ │ ├── ExtraTypeCodecs.java │ │ │ │ │ │ ├── MappingCodec.java │ │ │ │ │ │ ├── PrimitiveBooleanCodec.java │ │ │ │ │ │ ├── PrimitiveByteCodec.java │ │ │ │ │ │ ├── PrimitiveDoubleCodec.java │ │ │ │ │ │ ├── PrimitiveFloatCodec.java │ │ │ │ │ │ ├── PrimitiveIntCodec.java │ │ │ │ │ │ ├── PrimitiveLongCodec.java │ │ │ │ │ │ ├── PrimitiveShortCodec.java │ │ │ │ │ │ ├── TypeCodec.java │ │ │ │ │ │ ├── TypeCodecs.java │ │ │ │ │ │ └── registry │ │ │ │ │ │ │ ├── CodecRegistry.java │ │ │ │ │ │ │ └── MutableCodecRegistry.java │ │ │ │ │ └── reflect │ │ │ │ │ │ ├── GenericType.java │ │ │ │ │ │ └── GenericTypeParameter.java │ │ │ │ └── uuid │ │ │ │ │ └── Uuids.java │ │ │ └── package-info.java │ │ │ └── internal │ │ │ ├── core │ │ │ ├── AsyncPagingIterableWrapper.java │ │ │ ├── ConsistencyLevelRegistry.java │ │ │ ├── ContactPoints.java │ │ │ ├── CqlIdentifiers.java │ │ │ ├── DefaultConsistencyLevelRegistry.java │ │ │ ├── DefaultMavenCoordinates.java │ │ │ ├── DefaultProtocolFeature.java │ │ │ ├── DefaultProtocolVersionRegistry.java │ │ │ ├── PagingIterableWrapper.java │ │ │ ├── ProtocolFeature.java │ │ │ ├── ProtocolVersionRegistry.java │ │ │ ├── addresstranslation │ │ │ │ ├── Ec2MultiRegionAddressTranslator.java │ │ │ │ ├── FixedHostNameAddressTranslator.java │ │ │ │ └── PassThroughAddressTranslator.java │ │ │ ├── adminrequest │ │ │ │ ├── AdminRequestHandler.java │ │ │ │ ├── AdminResult.java │ │ │ │ ├── AdminRow.java │ │ │ │ ├── ThrottledAdminRequestHandler.java │ │ │ │ ├── UnexpectedResponseException.java │ │ │ │ └── package-info.java │ │ │ ├── auth │ │ │ │ └── PlainTextAuthProvider.java │ │ │ ├── channel │ │ │ │ ├── ChannelEvent.java │ │ │ │ ├── ChannelFactory.java │ │ │ │ ├── ChannelHandlerRequest.java │ │ │ │ ├── ClusterNameMismatchException.java │ │ │ │ ├── ConnectInitHandler.java │ │ │ │ ├── DefaultWriteCoalescer.java │ │ │ │ ├── DriverChannel.java │ │ │ │ ├── DriverChannelOptions.java │ │ │ │ ├── EventCallback.java │ │ │ │ ├── HeartbeatHandler.java │ │ │ │ ├── InFlightHandler.java │ │ │ │ ├── InboundTrafficMeter.java │ │ │ │ ├── OutboundTrafficMeter.java │ │ │ │ ├── PassThroughWriteCoalescer.java │ │ │ │ ├── ProtocolInitHandler.java │ │ │ │ ├── ResponseCallback.java │ │ │ │ ├── StreamIdGenerator.java │ │ │ │ ├── WriteCoalescer.java │ │ │ │ └── package-info.java │ │ │ ├── config │ │ │ │ ├── ConfigChangeEvent.java │ │ │ │ ├── DerivedExecutionProfile.java │ │ │ │ ├── DriverOptionConfigBuilder.java │ │ │ │ ├── cloud │ │ │ │ │ ├── CloudConfig.java │ │ │ │ │ └── CloudConfigFactory.java │ │ │ │ ├── composite │ │ │ │ │ ├── CompositeDriverConfig.java │ │ │ │ │ ├── CompositeDriverConfigLoader.java │ │ │ │ │ └── CompositeDriverExecutionProfile.java │ │ │ │ ├── map │ │ │ │ │ ├── MapBasedDriverConfig.java │ │ │ │ │ ├── MapBasedDriverConfigLoader.java │ │ │ │ │ └── MapBasedDriverExecutionProfile.java │ │ │ │ └── typesafe │ │ │ │ │ ├── DefaultDriverConfigLoader.java │ │ │ │ │ ├── DefaultDriverConfigLoaderBuilder.java │ │ │ │ │ ├── DefaultProgrammaticDriverConfigLoaderBuilder.java │ │ │ │ │ ├── TypesafeDriverConfig.java │ │ │ │ │ ├── TypesafeDriverExecutionProfile.java │ │ │ │ │ └── package-info.java │ │ │ ├── connection │ │ │ │ ├── ConstantReconnectionPolicy.java │ │ │ │ └── ExponentialReconnectionPolicy.java │ │ │ ├── context │ │ │ │ ├── DefaultDriverContext.java │ │ │ │ ├── DefaultNettyOptions.java │ │ │ │ ├── EventBus.java │ │ │ │ ├── InternalDriverContext.java │ │ │ │ ├── LifecycleListener.java │ │ │ │ ├── NettyOptions.java │ │ │ │ └── StartupOptionsBuilder.java │ │ │ ├── control │ │ │ │ └── ControlConnection.java │ │ │ ├── cql │ │ │ │ ├── Conversions.java │ │ │ │ ├── CqlPrepareAsyncProcessor.java │ │ │ │ ├── CqlPrepareHandler.java │ │ │ │ ├── CqlPrepareSyncProcessor.java │ │ │ │ ├── CqlRequestAsyncProcessor.java │ │ │ │ ├── CqlRequestHandler.java │ │ │ │ ├── CqlRequestSyncProcessor.java │ │ │ │ ├── DefaultAsyncResultSet.java │ │ │ │ ├── DefaultBatchStatement.java │ │ │ │ ├── DefaultBoundStatement.java │ │ │ │ ├── DefaultColumnDefinition.java │ │ │ │ ├── DefaultColumnDefinitions.java │ │ │ │ ├── DefaultExecutionInfo.java │ │ │ │ ├── DefaultPagingState.java │ │ │ │ ├── DefaultPrepareRequest.java │ │ │ │ ├── DefaultPreparedStatement.java │ │ │ │ ├── DefaultQueryTrace.java │ │ │ │ ├── DefaultRow.java │ │ │ │ ├── DefaultSimpleStatement.java │ │ │ │ ├── DefaultTraceEvent.java │ │ │ │ ├── EmptyColumnDefinitions.java │ │ │ │ ├── MultiPageResultSet.java │ │ │ │ ├── PagingIterableSpliterator.java │ │ │ │ ├── QueryTraceFetcher.java │ │ │ │ ├── ResultSets.java │ │ │ │ └── SinglePageResultSet.java │ │ │ ├── data │ │ │ │ ├── DefaultTupleValue.java │ │ │ │ ├── DefaultUdtValue.java │ │ │ │ ├── IdentifierIndex.java │ │ │ │ └── ValuesHelper.java │ │ │ ├── loadbalancing │ │ │ │ ├── BasicLoadBalancingPolicy.java │ │ │ │ ├── DcInferringLoadBalancingPolicy.java │ │ │ │ ├── DefaultLoadBalancingPolicy.java │ │ │ │ ├── helper │ │ │ │ │ ├── DefaultNodeDistanceEvaluatorHelper.java │ │ │ │ │ ├── InferringLocalDcHelper.java │ │ │ │ │ ├── LocalDcHelper.java │ │ │ │ │ ├── MandatoryLocalDcHelper.java │ │ │ │ │ ├── NodeDistanceEvaluatorHelper.java │ │ │ │ │ ├── NodeFilterToDistanceEvaluatorAdapter.java │ │ │ │ │ └── OptionalLocalDcHelper.java │ │ │ │ └── nodeset │ │ │ │ │ ├── DcAgnosticNodeSet.java │ │ │ │ │ ├── MultiDcNodeSet.java │ │ │ │ │ ├── NodeSet.java │ │ │ │ │ └── SingleDcNodeSet.java │ │ │ ├── metadata │ │ │ │ ├── AddNodeRefresh.java │ │ │ │ ├── CloudTopologyMonitor.java │ │ │ │ ├── DefaultEndPoint.java │ │ │ │ ├── DefaultMetadata.java │ │ │ │ ├── DefaultNode.java │ │ │ │ ├── DefaultNodeInfo.java │ │ │ │ ├── DefaultTopologyMonitor.java │ │ │ │ ├── DistanceEvent.java │ │ │ │ ├── FullNodeListRefresh.java │ │ │ │ ├── InitialNodeListRefresh.java │ │ │ │ ├── LoadBalancingPolicyWrapper.java │ │ │ │ ├── MetadataManager.java │ │ │ │ ├── MetadataRefresh.java │ │ │ │ ├── MultiplexingNodeStateListener.java │ │ │ │ ├── NodeInfo.java │ │ │ │ ├── NodeStateEvent.java │ │ │ │ ├── NodeStateManager.java │ │ │ │ ├── NodesRefresh.java │ │ │ │ ├── NoopNodeStateListener.java │ │ │ │ ├── PeerRowValidator.java │ │ │ │ ├── RemoveNodeRefresh.java │ │ │ │ ├── SchemaAgreementChecker.java │ │ │ │ ├── SniEndPoint.java │ │ │ │ ├── TokensChangedRefresh.java │ │ │ │ ├── TopologyEvent.java │ │ │ │ ├── TopologyMonitor.java │ │ │ │ ├── schema │ │ │ │ │ ├── DefaultAggregateMetadata.java │ │ │ │ │ ├── DefaultColumnMetadata.java │ │ │ │ │ ├── DefaultFunctionMetadata.java │ │ │ │ │ ├── DefaultIndexMetadata.java │ │ │ │ │ ├── DefaultKeyspaceMetadata.java │ │ │ │ │ ├── DefaultTableMetadata.java │ │ │ │ │ ├── DefaultViewMetadata.java │ │ │ │ │ ├── MultiplexingSchemaChangeListener.java │ │ │ │ │ ├── NoopSchemaChangeListener.java │ │ │ │ │ ├── SchemaChangeType.java │ │ │ │ │ ├── ScriptBuilder.java │ │ │ │ │ ├── ShallowUserDefinedType.java │ │ │ │ │ ├── events │ │ │ │ │ │ ├── AggregateChangeEvent.java │ │ │ │ │ │ ├── FunctionChangeEvent.java │ │ │ │ │ │ ├── KeyspaceChangeEvent.java │ │ │ │ │ │ ├── TableChangeEvent.java │ │ │ │ │ │ ├── TypeChangeEvent.java │ │ │ │ │ │ └── ViewChangeEvent.java │ │ │ │ │ ├── parsing │ │ │ │ │ │ ├── AggregateParser.java │ │ │ │ │ │ ├── CassandraSchemaParser.java │ │ │ │ │ │ ├── DataTypeClassNameCompositeParser.java │ │ │ │ │ │ ├── DataTypeClassNameParser.java │ │ │ │ │ │ ├── DataTypeCqlNameParser.java │ │ │ │ │ │ ├── DataTypeParser.java │ │ │ │ │ │ ├── DefaultSchemaParserFactory.java │ │ │ │ │ │ ├── FunctionParser.java │ │ │ │ │ │ ├── RawColumn.java │ │ │ │ │ │ ├── RelationParser.java │ │ │ │ │ │ ├── SchemaParser.java │ │ │ │ │ │ ├── SchemaParserFactory.java │ │ │ │ │ │ ├── SimpleJsonParser.java │ │ │ │ │ │ ├── TableParser.java │ │ │ │ │ │ ├── UserDefinedTypeParser.java │ │ │ │ │ │ └── ViewParser.java │ │ │ │ │ ├── queries │ │ │ │ │ │ ├── Cassandra21SchemaQueries.java │ │ │ │ │ │ ├── Cassandra22SchemaQueries.java │ │ │ │ │ │ ├── Cassandra3SchemaQueries.java │ │ │ │ │ │ ├── Cassandra4SchemaQueries.java │ │ │ │ │ │ ├── CassandraSchemaQueries.java │ │ │ │ │ │ ├── CassandraSchemaRows.java │ │ │ │ │ │ ├── DefaultSchemaQueriesFactory.java │ │ │ │ │ │ ├── Dse68SchemaQueries.java │ │ │ │ │ │ ├── KeyspaceFilter.java │ │ │ │ │ │ ├── RuleBasedKeyspaceFilter.java │ │ │ │ │ │ ├── SchemaQueries.java │ │ │ │ │ │ ├── SchemaQueriesFactory.java │ │ │ │ │ │ └── SchemaRows.java │ │ │ │ │ └── refresh │ │ │ │ │ │ └── SchemaRefresh.java │ │ │ │ └── token │ │ │ │ │ ├── ByteOrderedToken.java │ │ │ │ │ ├── ByteOrderedTokenFactory.java │ │ │ │ │ ├── ByteOrderedTokenRange.java │ │ │ │ │ ├── CanonicalNodeSetBuilder.java │ │ │ │ │ ├── DefaultReplicationStrategyFactory.java │ │ │ │ │ ├── DefaultTokenFactoryRegistry.java │ │ │ │ │ ├── DefaultTokenMap.java │ │ │ │ │ ├── EverywhereReplicationStrategy.java │ │ │ │ │ ├── KeyspaceTokenMap.java │ │ │ │ │ ├── LocalReplicationStrategy.java │ │ │ │ │ ├── Murmur3Token.java │ │ │ │ │ ├── Murmur3TokenFactory.java │ │ │ │ │ ├── Murmur3TokenRange.java │ │ │ │ │ ├── NetworkTopologyReplicationStrategy.java │ │ │ │ │ ├── RandomToken.java │ │ │ │ │ ├── RandomTokenFactory.java │ │ │ │ │ ├── RandomTokenRange.java │ │ │ │ │ ├── ReplicationFactor.java │ │ │ │ │ ├── ReplicationStrategy.java │ │ │ │ │ ├── ReplicationStrategyFactory.java │ │ │ │ │ ├── SimpleReplicationStrategy.java │ │ │ │ │ ├── TokenFactory.java │ │ │ │ │ ├── TokenFactoryRegistry.java │ │ │ │ │ └── TokenRangeBase.java │ │ │ ├── metrics │ │ │ │ ├── AbstractMetricUpdater.java │ │ │ │ ├── DefaultMetricId.java │ │ │ │ ├── DefaultMetricIdGenerator.java │ │ │ │ ├── DefaultMetrics.java │ │ │ │ ├── DefaultMetricsFactory.java │ │ │ │ ├── DefaultMetricsFactorySubstitutions.java │ │ │ │ ├── DropwizardMetricUpdater.java │ │ │ │ ├── DropwizardMetricsFactory.java │ │ │ │ ├── DropwizardNodeMetricUpdater.java │ │ │ │ ├── DropwizardSessionMetricUpdater.java │ │ │ │ ├── HdrReservoir.java │ │ │ │ ├── MetricId.java │ │ │ │ ├── MetricIdGenerator.java │ │ │ │ ├── MetricPaths.java │ │ │ │ ├── MetricUpdater.java │ │ │ │ ├── MetricsFactory.java │ │ │ │ ├── NodeMetricUpdater.java │ │ │ │ ├── NoopMetricsFactory.java │ │ │ │ ├── NoopNodeMetricUpdater.java │ │ │ │ ├── NoopSessionMetricUpdater.java │ │ │ │ ├── SessionMetricUpdater.java │ │ │ │ └── TaggingMetricIdGenerator.java │ │ │ ├── os │ │ │ │ ├── CpuInfo.java │ │ │ │ ├── EmptyLibc.java │ │ │ │ ├── GraalGetpid.java │ │ │ │ ├── GraalLibc.java │ │ │ │ ├── JnrLibc.java │ │ │ │ ├── JnrLibcSubstitution.java │ │ │ │ ├── Libc.java │ │ │ │ └── Native.java │ │ │ ├── pool │ │ │ │ ├── ChannelPool.java │ │ │ │ ├── ChannelPoolFactory.java │ │ │ │ └── ChannelSet.java │ │ │ ├── protocol │ │ │ │ ├── BuiltInCompressors.java │ │ │ │ ├── ByteBufCompressor.java │ │ │ │ ├── ByteBufPrimitiveCodec.java │ │ │ │ ├── ByteBufSegmentBuilder.java │ │ │ │ ├── BytesToSegmentDecoder.java │ │ │ │ ├── CompressorSubstitutions.java │ │ │ │ ├── FrameDecoder.java │ │ │ │ ├── FrameDecodingException.java │ │ │ │ ├── FrameEncoder.java │ │ │ │ ├── FrameToSegmentEncoder.java │ │ │ │ ├── Lz4Compressor.java │ │ │ │ ├── SegmentToBytesEncoder.java │ │ │ │ ├── SegmentToFrameDecoder.java │ │ │ │ ├── SnappyCompressor.java │ │ │ │ └── package-info.java │ │ │ ├── retry │ │ │ │ ├── ConsistencyDowngradingRetryPolicy.java │ │ │ │ ├── ConsistencyDowngradingRetryVerdict.java │ │ │ │ ├── DefaultRetryPolicy.java │ │ │ │ └── DefaultRetryVerdict.java │ │ │ ├── servererrors │ │ │ │ ├── DefaultWriteTypeRegistry.java │ │ │ │ └── WriteTypeRegistry.java │ │ │ ├── session │ │ │ │ ├── BuiltInRequestProcessors.java │ │ │ │ ├── BuiltInRequestProcessorsSubstitutions.java │ │ │ │ ├── DefaultSession.java │ │ │ │ ├── PoolManager.java │ │ │ │ ├── ReprepareOnUp.java │ │ │ │ ├── RepreparePayload.java │ │ │ │ ├── RequestProcessor.java │ │ │ │ ├── RequestProcessorRegistry.java │ │ │ │ ├── SchemaListenerNotifier.java │ │ │ │ ├── SessionWrapper.java │ │ │ │ └── throttling │ │ │ │ │ ├── ConcurrencyLimitingRequestThrottler.java │ │ │ │ │ ├── NanoClock.java │ │ │ │ │ ├── PassThroughRequestThrottler.java │ │ │ │ │ └── RateLimitingRequestThrottler.java │ │ │ ├── specex │ │ │ │ ├── ConstantSpeculativeExecutionPolicy.java │ │ │ │ └── NoSpeculativeExecutionPolicy.java │ │ │ ├── ssl │ │ │ │ ├── DefaultSslEngineFactory.java │ │ │ │ ├── JdkSslHandlerFactory.java │ │ │ │ ├── ReloadingKeyManagerFactory.java │ │ │ │ ├── SniSslEngineFactory.java │ │ │ │ └── SslHandlerFactory.java │ │ │ ├── time │ │ │ │ ├── AtomicTimestampGenerator.java │ │ │ │ ├── Clock.java │ │ │ │ ├── JavaClock.java │ │ │ │ ├── MonotonicTimestampGenerator.java │ │ │ │ ├── NativeClock.java │ │ │ │ ├── ServerSideTimestampGenerator.java │ │ │ │ └── ThreadLocalTimestampGenerator.java │ │ │ ├── tracker │ │ │ │ ├── MultiplexingRequestTracker.java │ │ │ │ ├── NoopRequestTracker.java │ │ │ │ ├── RequestLogFormatter.java │ │ │ │ └── RequestLogger.java │ │ │ ├── type │ │ │ │ ├── DataTypeHelper.java │ │ │ │ ├── DefaultCustomType.java │ │ │ │ ├── DefaultListType.java │ │ │ │ ├── DefaultMapType.java │ │ │ │ ├── DefaultSetType.java │ │ │ │ ├── DefaultTupleType.java │ │ │ │ ├── DefaultUserDefinedType.java │ │ │ │ ├── DefaultVectorType.java │ │ │ │ ├── PrimitiveType.java │ │ │ │ ├── UserDefinedTypeBuilder.java │ │ │ │ ├── codec │ │ │ │ │ ├── BigIntCodec.java │ │ │ │ │ ├── BlobCodec.java │ │ │ │ │ ├── BooleanCodec.java │ │ │ │ │ ├── CounterCodec.java │ │ │ │ │ ├── CqlDurationCodec.java │ │ │ │ │ ├── CustomCodec.java │ │ │ │ │ ├── DateCodec.java │ │ │ │ │ ├── DecimalCodec.java │ │ │ │ │ ├── DoubleCodec.java │ │ │ │ │ ├── FloatCodec.java │ │ │ │ │ ├── InetCodec.java │ │ │ │ │ ├── IntCodec.java │ │ │ │ │ ├── ListCodec.java │ │ │ │ │ ├── MapCodec.java │ │ │ │ │ ├── ParseUtils.java │ │ │ │ │ ├── SetCodec.java │ │ │ │ │ ├── SimpleBlobCodec.java │ │ │ │ │ ├── SmallIntCodec.java │ │ │ │ │ ├── StringCodec.java │ │ │ │ │ ├── TimeCodec.java │ │ │ │ │ ├── TimeUuidCodec.java │ │ │ │ │ ├── TimestampCodec.java │ │ │ │ │ ├── TinyIntCodec.java │ │ │ │ │ ├── TupleCodec.java │ │ │ │ │ ├── UdtCodec.java │ │ │ │ │ ├── UuidCodec.java │ │ │ │ │ ├── VarIntCodec.java │ │ │ │ │ ├── VectorCodec.java │ │ │ │ │ ├── extras │ │ │ │ │ │ ├── OptionalCodec.java │ │ │ │ │ │ ├── array │ │ │ │ │ │ │ ├── AbstractListToArrayCodec.java │ │ │ │ │ │ │ ├── AbstractPrimitiveListToArrayCodec.java │ │ │ │ │ │ │ ├── BooleanListToArrayCodec.java │ │ │ │ │ │ │ ├── ByteListToArrayCodec.java │ │ │ │ │ │ │ ├── DoubleListToArrayCodec.java │ │ │ │ │ │ │ ├── FloatListToArrayCodec.java │ │ │ │ │ │ │ ├── IntListToArrayCodec.java │ │ │ │ │ │ │ ├── LongListToArrayCodec.java │ │ │ │ │ │ │ ├── ObjectListToArrayCodec.java │ │ │ │ │ │ │ └── ShortListToArrayCodec.java │ │ │ │ │ │ ├── enums │ │ │ │ │ │ │ ├── EnumNameCodec.java │ │ │ │ │ │ │ └── EnumOrdinalCodec.java │ │ │ │ │ │ ├── json │ │ │ │ │ │ │ └── JsonCodec.java │ │ │ │ │ │ ├── time │ │ │ │ │ │ │ ├── LocalTimestampCodec.java │ │ │ │ │ │ │ ├── PersistentZonedTimestampCodec.java │ │ │ │ │ │ │ ├── TimestampMillisCodec.java │ │ │ │ │ │ │ └── ZonedTimestampCodec.java │ │ │ │ │ │ └── vector │ │ │ │ │ │ │ ├── AbstractVectorToArrayCodec.java │ │ │ │ │ │ │ └── FloatVectorToArrayCodec.java │ │ │ │ │ └── registry │ │ │ │ │ │ ├── CachingCodecRegistry.java │ │ │ │ │ │ ├── CodecRegistryConstants.java │ │ │ │ │ │ └── DefaultCodecRegistry.java │ │ │ │ └── util │ │ │ │ │ └── VIntCoding.java │ │ │ └── util │ │ │ │ ├── ArrayUtils.java │ │ │ │ ├── CollectionsUtils.java │ │ │ │ ├── CountingIterator.java │ │ │ │ ├── DefaultDependencyChecker.java │ │ │ │ ├── Dependency.java │ │ │ │ ├── DirectedGraph.java │ │ │ │ ├── GraalDependencyChecker.java │ │ │ │ ├── Loggers.java │ │ │ │ ├── NanoTime.java │ │ │ │ ├── ProtocolUtils.java │ │ │ │ ├── Reflection.java │ │ │ │ ├── RoutingKey.java │ │ │ │ ├── Sizes.java │ │ │ │ ├── Strings.java │ │ │ │ ├── collection │ │ │ │ ├── CompositeQueryPlan.java │ │ │ │ ├── EmptyQueryPlan.java │ │ │ │ ├── LazyQueryPlan.java │ │ │ │ ├── QueryPlan.java │ │ │ │ ├── QueryPlanBase.java │ │ │ │ └── SimpleQueryPlan.java │ │ │ │ ├── concurrent │ │ │ │ ├── BlockingOperation.java │ │ │ │ ├── CompletableFutures.java │ │ │ │ ├── CycleDetector.java │ │ │ │ ├── Debouncer.java │ │ │ │ ├── DriverBlockHoundIntegration.java │ │ │ │ ├── LazyReference.java │ │ │ │ ├── PromiseCombiner.java │ │ │ │ ├── Reconnection.java │ │ │ │ ├── ReplayingEventFilter.java │ │ │ │ ├── RunOrSchedule.java │ │ │ │ └── UncaughtExceptions.java │ │ │ │ └── package-info.java │ │ │ └── package-info.java │ └── resources │ │ ├── META-INF │ │ ├── native-image │ │ │ └── com.datastax.oss │ │ │ │ └── java-driver-core │ │ │ │ ├── native-image.properties │ │ │ │ ├── proxy.json │ │ │ │ └── reflection.json │ │ └── services │ │ │ └── reactor.blockhound.integration.BlockHoundIntegration │ │ ├── com │ │ └── datastax │ │ │ └── oss │ │ │ └── driver │ │ │ └── Driver.properties │ │ └── reference.conf │ └── test │ ├── java │ └── com │ │ └── datastax │ │ ├── dse │ │ └── driver │ │ │ ├── Assertions.java │ │ │ ├── DriverRunListener.java │ │ │ ├── DseTestDataProviders.java │ │ │ ├── DseTestFixtures.java │ │ │ ├── TinkerpopBufferAssert.java │ │ │ ├── api │ │ │ └── core │ │ │ │ ├── data │ │ │ │ └── time │ │ │ │ │ ├── DateRangePrecisionTest.java │ │ │ │ │ └── DateRangeTest.java │ │ │ │ └── graph │ │ │ │ └── predicates │ │ │ │ ├── CqlCollectionTest.java │ │ │ │ ├── GeoTest.java │ │ │ │ └── SearchTest.java │ │ │ └── internal │ │ │ ├── DependencyCheckTest.java │ │ │ ├── DependencyCheckTestBase.java │ │ │ └── core │ │ │ ├── context │ │ │ └── DseStartupOptionsBuilderTest.java │ │ │ ├── cql │ │ │ ├── continuous │ │ │ │ ├── ContinuousCqlRequestHandlerNodeTargetingTest.java │ │ │ │ ├── ContinuousCqlRequestHandlerReprepareTest.java │ │ │ │ ├── ContinuousCqlRequestHandlerRetryTest.java │ │ │ │ ├── ContinuousCqlRequestHandlerTest.java │ │ │ │ ├── ContinuousCqlRequestHandlerTestBase.java │ │ │ │ ├── DefaultContinuousAsyncResultSetTest.java │ │ │ │ ├── DefaultContinuousResultSetTest.java │ │ │ │ └── reactive │ │ │ │ │ └── ContinuousCqlRequestReactiveProcessorTest.java │ │ │ └── reactive │ │ │ │ ├── CqlRequestReactiveProcessorTest.java │ │ │ │ ├── DefaultReactiveResultSetTckTest.java │ │ │ │ ├── MockAsyncResultSet.java │ │ │ │ ├── MockRow.java │ │ │ │ ├── ReactiveResultSetSubscriptionTest.java │ │ │ │ ├── SimpleUnicastProcessorTckTest.java │ │ │ │ ├── SimpleUnicastProcessorTest.java │ │ │ │ └── TestSubscriber.java │ │ │ ├── data │ │ │ └── geometry │ │ │ │ ├── DefaultLineStringTest.java │ │ │ │ ├── DefaultPointTest.java │ │ │ │ ├── DefaultPolygonTest.java │ │ │ │ ├── DistanceTest.java │ │ │ │ └── SerializationUtils.java │ │ │ ├── graph │ │ │ ├── ContinuousGraphRequestHandlerSpeculativeExecutionTest.java │ │ │ ├── ContinuousGraphRequestHandlerTest.java │ │ │ ├── GraphExecutionInfoConverterTest.java │ │ │ ├── GraphNodeTest.java │ │ │ ├── GraphRequestHandlerTest.java │ │ │ ├── GraphRequestHandlerTestHarness.java │ │ │ ├── GraphResultSetTestBase.java │ │ │ ├── GraphResultSetsTest.java │ │ │ ├── GraphStatementBuilderBaseTest.java │ │ │ ├── GraphSupportCheckerTest.java │ │ │ ├── GraphTestUtils.java │ │ │ ├── binary │ │ │ │ └── GraphDataTypesTest.java │ │ │ ├── reactive │ │ │ │ └── ReactiveGraphRequestProcessorTest.java │ │ │ └── schema │ │ │ │ └── refresh │ │ │ │ └── GraphSchemaRefreshTest.java │ │ │ ├── insights │ │ │ ├── AddressFormatterTest.java │ │ │ ├── ConfigAntiPatternsFinderTest.java │ │ │ ├── DataCentersFinderTest.java │ │ │ ├── ExecutionProfileMockUtil.java │ │ │ ├── ExecutionProfilesInfoFinderTest.java │ │ │ ├── InsightsClientTest.java │ │ │ ├── InsightsSupportVerifierTest.java │ │ │ ├── PackageUtilTest.java │ │ │ ├── PlatformInfoFinderTest.java │ │ │ └── ReconnectionPolicyInfoFinderTest.java │ │ │ ├── protocol │ │ │ └── TinkerpopBufferPrimitiveCodecTest.java │ │ │ ├── type │ │ │ └── codec │ │ │ │ ├── geometry │ │ │ │ ├── GeometryCodecTest.java │ │ │ │ ├── LineStringCodecTest.java │ │ │ │ ├── PointCodecTest.java │ │ │ │ └── PolygonCodecTest.java │ │ │ │ └── time │ │ │ │ └── DateRangeCodecTest.java │ │ │ └── util │ │ │ └── concurrent │ │ │ └── BoundedConcurrentQueueTest.java │ │ └── oss │ │ └── driver │ │ ├── Assertions.java │ │ ├── ByteBufAssert.java │ │ ├── DriverRunListener.java │ │ ├── TestDataProviders.java │ │ ├── api │ │ └── core │ │ │ ├── AllNodesFailedExceptionTest.java │ │ │ ├── CqlIdentifierTest.java │ │ │ ├── VersionAssert.java │ │ │ ├── VersionTest.java │ │ │ ├── auth │ │ │ └── ProgrammaticPlainTextAuthProviderTest.java │ │ │ ├── config │ │ │ ├── OptionsMapTest.java │ │ │ └── TypedDriverOptionTest.java │ │ │ ├── cql │ │ │ ├── StatementBuilderTest.java │ │ │ └── StatementProfileTest.java │ │ │ ├── data │ │ │ ├── CqlDurationTest.java │ │ │ └── CqlVectorTest.java │ │ │ ├── metadata │ │ │ └── SafeInitNodeStateListenerTest.java │ │ │ ├── paging │ │ │ ├── OffsetPagerAsyncTest.java │ │ │ ├── OffsetPagerSyncTest.java │ │ │ ├── OffsetPagerTestBase.java │ │ │ └── OffsetPagerTestFixture.java │ │ │ ├── retry │ │ │ ├── ConsistencyDowngradingRetryPolicyTest.java │ │ │ ├── DefaultRetryPolicyTest.java │ │ │ └── RetryPolicyTestBase.java │ │ │ ├── specex │ │ │ └── ConstantSpeculativeExecutionPolicyTest.java │ │ │ ├── type │ │ │ ├── UserDefinedTypeTest.java │ │ │ └── reflect │ │ │ │ └── GenericTypeTest.java │ │ │ └── uuid │ │ │ └── UuidsTest.java │ │ └── internal │ │ ├── SerializationHelper.java │ │ └── core │ │ ├── AsyncPagingIterableWrapperTest.java │ │ ├── CompletionStageAssert.java │ │ ├── ContactPointsTest.java │ │ ├── DefaultProtocolVersionRegistryTest.java │ │ ├── DriverConfigAssert.java │ │ ├── MockAsyncPagingIterable.java │ │ ├── MockPagingIterable.java │ │ ├── NettyFutureAssert.java │ │ ├── PagingIterableWrapperTest.java │ │ ├── TestResponses.java │ │ ├── addresstranslation │ │ ├── Ec2MultiRegionAddressTranslatorTest.java │ │ └── FixedHostNameAddressTranslatorTest.java │ │ ├── channel │ │ ├── ChannelFactoryAvailableIdsTest.java │ │ ├── ChannelFactoryClusterNameTest.java │ │ ├── ChannelFactoryProtocolNegotiationTest.java │ │ ├── ChannelFactorySupportedOptionsTest.java │ │ ├── ChannelFactoryTestBase.java │ │ ├── ChannelHandlerTestBase.java │ │ ├── ConnectInitHandlerTest.java │ │ ├── DriverChannelTest.java │ │ ├── EmbeddedEndPoint.java │ │ ├── InFlightHandlerTest.java │ │ ├── LocalEndPoint.java │ │ ├── MockAuthenticator.java │ │ ├── MockChannelFactoryHelper.java │ │ ├── MockResponseCallback.java │ │ ├── ProtocolInitHandlerTest.java │ │ └── StreamIdGeneratorTest.java │ │ ├── config │ │ ├── MockOptions.java │ │ ├── MockTypedOptions.java │ │ ├── cloud │ │ │ └── CloudConfigFactoryTest.java │ │ ├── composite │ │ │ ├── CompositeDriverConfigReloadTest.java │ │ │ └── CompositeDriverConfigTest.java │ │ ├── map │ │ │ ├── MapBasedDriverConfigLoaderTest.java │ │ │ └── MapBasedDriverConfigTest.java │ │ └── typesafe │ │ │ ├── DefaultDriverConfigLoaderTest.java │ │ │ ├── DefaultProgrammaticDriverConfigLoaderBuilderTest.java │ │ │ ├── TypeSafeDriverConfigOverrideDefaultsTest.java │ │ │ └── TypesafeDriverConfigTest.java │ │ ├── connection │ │ └── ExponentialReconnectionPolicyTest.java │ │ ├── context │ │ ├── DefaultDriverContextTest.java │ │ ├── MockedDriverContextFactory.java │ │ ├── StartupOptionsBuilderTest.java │ │ └── bus │ │ │ └── EventBusTest.java │ │ ├── control │ │ ├── ControlConnectionEventsTest.java │ │ ├── ControlConnectionTest.java │ │ └── ControlConnectionTestBase.java │ │ ├── cql │ │ ├── ConversionsTest.java │ │ ├── CqlPrepareHandlerTest.java │ │ ├── CqlRequestHandlerRetryTest.java │ │ ├── CqlRequestHandlerSpeculativeExecutionTest.java │ │ ├── CqlRequestHandlerTest.java │ │ ├── CqlRequestHandlerTestBase.java │ │ ├── CqlRequestHandlerTrackerTest.java │ │ ├── DefaultAsyncResultSetTest.java │ │ ├── PagingIterableSpliteratorTest.java │ │ ├── PoolBehavior.java │ │ ├── QueryTraceFetcherTest.java │ │ ├── RequestHandlerTestHarness.java │ │ ├── ResultSetTestBase.java │ │ ├── ResultSetsTest.java │ │ └── StatementSizeTest.java │ │ ├── data │ │ ├── AccessibleByIdTestBase.java │ │ ├── AccessibleByIndexTestBase.java │ │ ├── DefaultTupleValueTest.java │ │ ├── DefaultUdtValueTest.java │ │ └── IdentifierIndexTest.java │ │ ├── loadbalancing │ │ ├── BasicLoadBalancingPolicyDcAgnosticTest.java │ │ ├── BasicLoadBalancingPolicyDcFailoverTest.java │ │ ├── BasicLoadBalancingPolicyDistanceTest.java │ │ ├── BasicLoadBalancingPolicyEventsTest.java │ │ ├── BasicLoadBalancingPolicyInitTest.java │ │ ├── BasicLoadBalancingPolicyPreferredRemoteDcsTest.java │ │ ├── BasicLoadBalancingPolicyQueryPlanTest.java │ │ ├── DcInferringLoadBalancingPolicyDcFailoverTest.java │ │ ├── DcInferringLoadBalancingPolicyDistanceTest.java │ │ ├── DcInferringLoadBalancingPolicyEventsTest.java │ │ ├── DcInferringLoadBalancingPolicyInitTest.java │ │ ├── DcInferringLoadBalancingPolicyQueryPlanTest.java │ │ ├── DefaultLoadBalancingPolicyDcFailoverTest.java │ │ ├── DefaultLoadBalancingPolicyDistanceTest.java │ │ ├── DefaultLoadBalancingPolicyEventsTest.java │ │ ├── DefaultLoadBalancingPolicyInitTest.java │ │ ├── DefaultLoadBalancingPolicyQueryPlanTest.java │ │ ├── DefaultLoadBalancingPolicyRequestTrackerTest.java │ │ ├── LoadBalancingPolicyTestBase.java │ │ └── nodeset │ │ │ ├── DcAgnosticNodeSetTest.java │ │ │ ├── MultiDcNodeSetTest.java │ │ │ └── SingleDcNodeSetTest.java │ │ ├── metadata │ │ ├── AddNodeRefreshTest.java │ │ ├── DefaultEndPointTest.java │ │ ├── DefaultMetadataTokenMapTest.java │ │ ├── DefaultNodeTest.java │ │ ├── DefaultTopologyMonitorTest.java │ │ ├── FullNodeListRefreshTest.java │ │ ├── InitialNodeListRefreshTest.java │ │ ├── LoadBalancingPolicyWrapperTest.java │ │ ├── MetadataManagerTest.java │ │ ├── MultiplexingNodeStateListenerTest.java │ │ ├── NodeStateManagerTest.java │ │ ├── PeerRowValidatorTest.java │ │ ├── RemoveNodeRefreshTest.java │ │ ├── SchemaAgreementCheckerTest.java │ │ ├── TestNodeFactory.java │ │ ├── schema │ │ │ ├── IndexMetadataTest.java │ │ │ ├── MultiplexingSchemaChangeListenerTest.java │ │ │ ├── TableMetadataTest.java │ │ │ ├── parsing │ │ │ │ ├── AggregateParserTest.java │ │ │ │ ├── DataTypeClassNameParserTest.java │ │ │ │ ├── DataTypeCqlNameParserTest.java │ │ │ │ ├── FunctionParserTest.java │ │ │ │ ├── SchemaParserTest.java │ │ │ │ ├── SchemaParserTestBase.java │ │ │ │ ├── TableParserTest.java │ │ │ │ ├── UserDefinedTypeListParserTest.java │ │ │ │ └── ViewParserTest.java │ │ │ ├── queries │ │ │ │ ├── Cassandra21SchemaQueriesTest.java │ │ │ │ ├── Cassandra22SchemaQueriesTest.java │ │ │ │ ├── Cassandra3SchemaQueriesTest.java │ │ │ │ ├── DefaultSchemaQueriesFactoryTest.java │ │ │ │ ├── KeyspaceFilterTest.java │ │ │ │ └── SchemaQueriesTest.java │ │ │ └── refresh │ │ │ │ └── SchemaRefreshTest.java │ │ └── token │ │ │ ├── ByteOrderedTokenRangeTest.java │ │ │ ├── DefaultTokenMapTest.java │ │ │ ├── Murmur3TokenRangeTest.java │ │ │ ├── NetworkTopologyReplicationStrategyTest.java │ │ │ ├── RandomTokenRangeTest.java │ │ │ ├── ReplicationFactorTest.java │ │ │ ├── SimpleReplicationStrategyTest.java │ │ │ ├── TokenRangeAssert.java │ │ │ └── TokenRangeTest.java │ │ ├── metrics │ │ ├── DefaultMetricIdGeneratorTest.java │ │ ├── DefaultMetricIdTest.java │ │ ├── DropwizardMetricsFactoryTest.java │ │ ├── DropwizardNodeMetricUpdaterTest.java │ │ ├── NoopMetricsFactoryTest.java │ │ └── TaggingMetricIdGeneratorTest.java │ │ ├── os │ │ ├── JnrLibcTest.java │ │ └── NativeTest.java │ │ ├── pool │ │ ├── ChannelPoolInitTest.java │ │ ├── ChannelPoolKeyspaceTest.java │ │ ├── ChannelPoolReconnectTest.java │ │ ├── ChannelPoolResizeTest.java │ │ ├── ChannelPoolShutdownTest.java │ │ ├── ChannelPoolTestBase.java │ │ └── ChannelSetTest.java │ │ ├── protocol │ │ ├── BuiltInCompressorsTest.java │ │ ├── ByteBufPrimitiveCodecTest.java │ │ ├── BytesToSegmentDecoderTest.java │ │ ├── FrameDecoderTest.java │ │ ├── SegmentToFrameDecoderTest.java │ │ └── SliceWriteListenerTest.java │ │ ├── session │ │ ├── DefaultSessionPoolsTest.java │ │ ├── MockChannelPoolFactoryHelper.java │ │ ├── PoolManagerTest.java │ │ ├── ReprepareOnUpTest.java │ │ └── throttling │ │ │ ├── ConcurrencyLimitingRequestThrottlerTest.java │ │ │ ├── MockThrottled.java │ │ │ ├── RateLimitingRequestThrottlerTest.java │ │ │ └── SettableNanoClock.java │ │ ├── ssl │ │ └── ReloadingKeyManagerFactoryTest.java │ │ ├── time │ │ ├── AtomicTimestampGeneratorTest.java │ │ ├── MonotonicTimestampGeneratorTestBase.java │ │ └── ThreadLocalTimestampGeneratorTest.java │ │ ├── tracker │ │ ├── MultiplexingRequestTrackerTest.java │ │ └── RequestLogFormatterTest.java │ │ ├── type │ │ ├── DataTypeDetachableTest.java │ │ ├── DataTypeSerializationTest.java │ │ ├── PrimitiveTypeTest.java │ │ ├── codec │ │ │ ├── AsciiCodecTest.java │ │ │ ├── BigIntCodecTest.java │ │ │ ├── BlobCodecTest.java │ │ │ ├── BooleanCodecTest.java │ │ │ ├── CodecTestBase.java │ │ │ ├── CounterCodecTest.java │ │ │ ├── CqlDurationCodecTest.java │ │ │ ├── CqlIntToStringCodec.java │ │ │ ├── CustomCodecTest.java │ │ │ ├── DateCodecTest.java │ │ │ ├── DecimalCodecTest.java │ │ │ ├── DoubleCodecTest.java │ │ │ ├── FloatCodecTest.java │ │ │ ├── InetCodecTest.java │ │ │ ├── IntCodecTest.java │ │ │ ├── ListCodecTest.java │ │ │ ├── MapCodecTest.java │ │ │ ├── MappingCodecTest.java │ │ │ ├── SetCodecTest.java │ │ │ ├── SimpleBlobCodecTest.java │ │ │ ├── SmallIntCodecTest.java │ │ │ ├── TextCodecTest.java │ │ │ ├── TimeCodecTest.java │ │ │ ├── TimeUuidCodecTest.java │ │ │ ├── TimestampCodecTest.java │ │ │ ├── TinyIntCodecTest.java │ │ │ ├── TupleCodecTest.java │ │ │ ├── UdtCodecTest.java │ │ │ ├── UuidCodecTest.java │ │ │ ├── VarintCodecTest.java │ │ │ ├── VectorCodecTest.java │ │ │ ├── extras │ │ │ │ ├── OptionalCodecTest.java │ │ │ │ ├── array │ │ │ │ │ ├── BooleanArrayCodecTest.java │ │ │ │ │ ├── ByteArrayCodecTest.java │ │ │ │ │ ├── DoubleArrayCodecTest.java │ │ │ │ │ ├── FloatArrayCodecTest.java │ │ │ │ │ ├── IntArrayCodecTest.java │ │ │ │ │ ├── LongArrayCodecTest.java │ │ │ │ │ ├── ObjectArrayCodecTest.java │ │ │ │ │ └── ShortArrayCodecTest.java │ │ │ │ ├── enums │ │ │ │ │ ├── EnumNameCodecTest.java │ │ │ │ │ └── EnumOrdinalCodecTest.java │ │ │ │ ├── json │ │ │ │ │ └── JsonCodecTest.java │ │ │ │ └── time │ │ │ │ │ ├── LocalTimestampCodecTest.java │ │ │ │ │ ├── PersistentZonedTimestampCodecTest.java │ │ │ │ │ ├── TimestampMillisCodecTest.java │ │ │ │ │ └── ZonedTimestampCodecTest.java │ │ │ └── registry │ │ │ │ ├── CachingCodecRegistryTest.java │ │ │ │ └── CachingCodecRegistryTestDataProviders.java │ │ └── util │ │ │ └── VIntCodingTest.java │ │ └── util │ │ ├── ArrayUtilsTest.java │ │ ├── ByteBufs.java │ │ ├── CollectionsUtilsTest.java │ │ ├── DirectedGraphTest.java │ │ ├── LoggerTest.java │ │ ├── ReflectionTest.java │ │ ├── StringsTest.java │ │ ├── collection │ │ ├── CompositeQueryPlanTest.java │ │ ├── LazyQueryPlanTest.java │ │ ├── QueryPlanTestBase.java │ │ └── SimpleQueryPlanTest.java │ │ └── concurrent │ │ ├── CapturingTimer.java │ │ ├── CompletableFuturesTest.java │ │ ├── CycleDetectorTest.java │ │ ├── DebouncerTest.java │ │ ├── PromiseCombinerTest.java │ │ ├── ReconnectionTest.java │ │ ├── ReplayingEventFilterTest.java │ │ ├── ScheduledTaskCapturingEventLoop.java │ │ └── ScheduledTaskCapturingEventLoopTest.java │ └── resources │ ├── ReloadingKeyManagerFactoryTest │ ├── README.md │ └── certs │ │ ├── client-alternate.keystore │ │ ├── client-original.keystore │ │ ├── client.truststore │ │ ├── server.keystore │ │ └── server.truststore │ ├── application.conf │ ├── config │ ├── cloud │ │ ├── creds.zip │ │ ├── identity.jks │ │ ├── metadata.json │ │ └── trustStore.jks │ ├── customApplication.conf │ ├── customApplication.json │ └── customApplication.properties │ ├── insights │ ├── duplicate-dependencies.txt │ ├── malformed-pom.properties │ ├── netty-dependency-optional.txt │ ├── netty-dependency.txt │ ├── ordered-dependencies.txt │ ├── pom.properties │ └── test-dependencies.txt │ ├── logback-test.xml │ └── project.properties ├── distribution-source ├── pom.xml └── src │ └── assembly │ └── source-tarball.xml ├── distribution-tests ├── pom.xml └── src │ └── test │ └── java │ └── com │ └── datastax │ └── oss │ └── driver │ └── api │ └── core │ ├── DriverDependencyTest.java │ ├── OptionalDependencyTest.java │ └── ProvidedDependencyTest.java ├── distribution ├── pom.xml └── src │ └── assembly │ └── binary-tarball.xml ├── docs.yaml ├── examples ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── datastax │ │ └── oss │ │ └── driver │ │ └── examples │ │ ├── astra │ │ └── AstraReadCassandraVersion.java │ │ ├── basic │ │ ├── CreateAndPopulateKeyspace.java │ │ ├── ReadCassandraVersion.java │ │ └── ReadTopologyAndSchemaMetadata.java │ │ ├── concurrent │ │ ├── LimitConcurrencyCustom.java │ │ ├── LimitConcurrencyCustomAsync.java │ │ └── LimitConcurrencyRequestThrottler.java │ │ ├── datatypes │ │ ├── Blobs.java │ │ ├── CustomCodecs.java │ │ ├── TuplesMapped.java │ │ ├── TuplesSimple.java │ │ ├── UserDefinedTypesMapped.java │ │ └── UserDefinedTypesSimple.java │ │ ├── failover │ │ └── CrossDatacenterFailover.java │ │ ├── json │ │ ├── PlainTextJson.java │ │ ├── jackson │ │ │ ├── JacksonJsonColumn.java │ │ │ ├── JacksonJsonFunction.java │ │ │ └── JacksonJsonRow.java │ │ └── jsr │ │ │ ├── Jsr353JsonCodec.java │ │ │ ├── Jsr353JsonColumn.java │ │ │ ├── Jsr353JsonFunction.java │ │ │ └── Jsr353JsonRow.java │ │ ├── mapper │ │ ├── KillrVideoMapperExample.java │ │ └── killrvideo │ │ │ ├── KillrVideoMapper.java │ │ │ ├── user │ │ │ ├── CreateUserQueryProvider.java │ │ │ ├── LoginQueryProvider.java │ │ │ ├── PasswordHashing.java │ │ │ ├── User.java │ │ │ ├── UserCredentials.java │ │ │ └── UserDao.java │ │ │ └── video │ │ │ ├── CreateVideoQueryProvider.java │ │ │ ├── LatestVideo.java │ │ │ ├── UserVideo.java │ │ │ ├── Video.java │ │ │ ├── VideoBase.java │ │ │ ├── VideoByTag.java │ │ │ └── VideoDao.java │ │ ├── paging │ │ ├── ForwardPagingRestUi.java │ │ └── RandomPagingRestUi.java │ │ └── retry │ │ └── DowngradingRetry.java │ └── resources │ ├── application.conf │ ├── cassandra_logo.png │ ├── killrvideo_schema.cql │ └── logback.xml ├── faq └── README.md ├── guava-shaded ├── pom.xml └── src │ ├── assembly │ └── shaded-jar.xml │ └── main │ ├── java │ └── com │ │ └── google │ │ └── common │ │ └── primitives │ │ ├── LexicographicalComparatorHolderSubstitution.java │ │ └── UnsafeComparatorSubstitution.java │ └── javadoc │ └── README.txt ├── install-snapshots.sh ├── integration-tests ├── pom.xml └── src │ └── test │ ├── java │ └── com │ │ └── datastax │ │ ├── dse │ │ └── driver │ │ │ └── api │ │ │ └── core │ │ │ ├── auth │ │ │ ├── DseGssApiAuthProviderAlternateIT.java │ │ │ ├── DseGssApiAuthProviderIT.java │ │ │ ├── DsePlainTextAuthProviderIT.java │ │ │ ├── DseProxyAuthenticationIT.java │ │ │ ├── EmbeddedAds.java │ │ │ ├── EmbeddedAdsRule.java │ │ │ └── KerberosUtils.java │ │ │ ├── cql │ │ │ └── continuous │ │ │ │ ├── ContinuousPagingIT.java │ │ │ │ ├── ContinuousPagingITBase.java │ │ │ │ └── reactive │ │ │ │ └── ContinuousPagingReactiveIT.java │ │ │ ├── data │ │ │ ├── geometry │ │ │ │ ├── GeometryIT.java │ │ │ │ ├── LineStringIT.java │ │ │ │ ├── PointIT.java │ │ │ │ └── PolygonIT.java │ │ │ └── time │ │ │ │ └── DateRangeIT.java │ │ │ ├── graph │ │ │ ├── ClassicGraphDataTypeITBase.java │ │ │ ├── ClassicGraphGeoSearchIndexIT.java │ │ │ ├── ClassicGraphTextSearchIndexIT.java │ │ │ ├── CoreGraphDataTypeITBase.java │ │ │ ├── CoreGraphGeoSearchIndexIT.java │ │ │ ├── CoreGraphTextSearchIndexIT.java │ │ │ ├── CqlCollectionIT.java │ │ │ ├── GraphAuthenticationIT.java │ │ │ ├── GraphGeoSearchIndexITBase.java │ │ │ ├── GraphPagingIT.java │ │ │ ├── GraphSpeculativeExecutionIT.java │ │ │ ├── GraphTestSupport.java │ │ │ ├── GraphTextSearchIndexITBase.java │ │ │ ├── GraphTimeoutsIT.java │ │ │ ├── SampleGraphScripts.java │ │ │ ├── SocialTraversalDsl.java │ │ │ ├── SocialTraversalSourceDsl.java │ │ │ ├── TinkerEdgeAssert.java │ │ │ ├── TinkerElementAssert.java │ │ │ ├── TinkerGraphAssertions.java │ │ │ ├── TinkerPathAssert.java │ │ │ ├── TinkerTreeAssert.java │ │ │ ├── TinkerVertexAssert.java │ │ │ ├── TinkerVertexPropertyAssert.java │ │ │ ├── reactive │ │ │ │ └── DefaultReactiveGraphResultSetIT.java │ │ │ ├── remote │ │ │ │ ├── ClassicGraphDataTypeRemoteIT.java │ │ │ │ ├── ClassicGraphTraversalRemoteIT.java │ │ │ │ ├── CoreGraphDataTypeRemoteIT.java │ │ │ │ ├── CoreGraphTraversalRemoteIT.java │ │ │ │ ├── GraphTraversalMetaPropertiesRemoteIT.java │ │ │ │ ├── GraphTraversalMultiPropertiesRemoteIT.java │ │ │ │ └── GraphTraversalRemoteITBase.java │ │ │ └── statement │ │ │ │ ├── ClassicGraphDataTypeFluentIT.java │ │ │ │ ├── ClassicGraphDataTypeScriptIT.java │ │ │ │ ├── ClassicGraphTraversalBatchIT.java │ │ │ │ ├── ClassicGraphTraversalIT.java │ │ │ │ ├── CoreGraphDataTypeFluentIT.java │ │ │ │ ├── CoreGraphDataTypeScriptIT.java │ │ │ │ ├── CoreGraphTraversalBatchIT.java │ │ │ │ ├── CoreGraphTraversalIT.java │ │ │ │ ├── GraphTraversalBatchITBase.java │ │ │ │ ├── GraphTraversalITBase.java │ │ │ │ ├── GraphTraversalMetaPropertiesIT.java │ │ │ │ └── GraphTraversalMultiPropertiesIT.java │ │ │ ├── insights │ │ │ └── InsightsClientIT.java │ │ │ └── metadata │ │ │ └── schema │ │ │ ├── AbstractMetadataIT.java │ │ │ ├── DseAggregateMetadataIT.java │ │ │ ├── DseFunctionMetadataIT.java │ │ │ ├── KeyspaceGraphMetadataIT.java │ │ │ ├── TableGraphMetadataCaseSensitiveIT.java │ │ │ └── TableGraphMetadataIT.java │ │ └── oss │ │ └── driver │ │ ├── api │ │ └── core │ │ │ └── cloud │ │ │ ├── CloudIT.java │ │ │ ├── SniProxyRule.java │ │ │ └── SniProxyServer.java │ │ ├── core │ │ ├── AllNodesFailedIT.java │ │ ├── ConnectIT.java │ │ ├── ConnectKeyspaceIT.java │ │ ├── PeersV2NodeRefreshIT.java │ │ ├── PoolBalancingIT.java │ │ ├── ProtocolVersionInitialNegotiationIT.java │ │ ├── ProtocolVersionMixedClusterIT.java │ │ ├── SerializationIT.java │ │ ├── SessionLeakIT.java │ │ ├── auth │ │ │ └── PlainTextAuthProviderIT.java │ │ ├── compression │ │ │ ├── DirectCompressionIT.java │ │ │ └── HeapCompressionIT.java │ │ ├── config │ │ │ ├── DriverConfigValidationIT.java │ │ │ ├── DriverExecutionProfileCcmIT.java │ │ │ ├── DriverExecutionProfileReloadIT.java │ │ │ ├── DriverExecutionProfileSimulacronIT.java │ │ │ └── MapBasedConfigLoaderIT.java │ │ ├── connection │ │ │ ├── ChannelSocketOptionsIT.java │ │ │ ├── FrameLengthIT.java │ │ │ └── NettyResourceLeakDetectionIT.java │ │ ├── context │ │ │ └── LifecycleListenerIT.java │ │ ├── cql │ │ │ ├── AsyncResultSetIT.java │ │ │ ├── BatchStatementIT.java │ │ │ ├── BoundStatementCcmIT.java │ │ │ ├── BoundStatementSimulacronIT.java │ │ │ ├── ExecutionInfoWarningsIT.java │ │ │ ├── NowInSecondsIT.java │ │ │ ├── PagingIterableSpliteratorIT.java │ │ │ ├── PagingStateIT.java │ │ │ ├── PerRequestKeyspaceIT.java │ │ │ ├── PreparedStatementCachingIT.java │ │ │ ├── PreparedStatementCancellationIT.java │ │ │ ├── PreparedStatementIT.java │ │ │ ├── QueryTraceIT.java │ │ │ ├── SimpleStatementCcmIT.java │ │ │ ├── SimpleStatementSimulacronIT.java │ │ │ └── reactive │ │ │ │ ├── DefaultReactiveResultSetIT.java │ │ │ │ └── ReactiveRetryIT.java │ │ ├── data │ │ │ └── DataTypeIT.java │ │ ├── heartbeat │ │ │ ├── HeartbeatDisabledIT.java │ │ │ └── HeartbeatIT.java │ │ ├── loadbalancing │ │ │ ├── AllLoadBalancingPoliciesSimulacronIT.java │ │ │ ├── DefaultLoadBalancingPolicyIT.java │ │ │ ├── NodeTargetingIT.java │ │ │ └── PerProfileLoadBalancingPolicyIT.java │ │ ├── metadata │ │ │ ├── ByteOrderedTokenIT.java │ │ │ ├── ByteOrderedTokenVnodesIT.java │ │ │ ├── CaseSensitiveUdtIT.java │ │ │ ├── DescribeIT.java │ │ │ ├── MetadataIT.java │ │ │ ├── Murmur3TokenIT.java │ │ │ ├── Murmur3TokenVnodesIT.java │ │ │ ├── NodeMetadataIT.java │ │ │ ├── NodeStateIT.java │ │ │ ├── RandomTokenIT.java │ │ │ ├── RandomTokenVnodesIT.java │ │ │ ├── SchemaAgreementIT.java │ │ │ ├── SchemaChangesIT.java │ │ │ ├── SchemaIT.java │ │ │ └── TokenITBase.java │ │ ├── metrics │ │ │ ├── DropwizardMetricsIT.java │ │ │ └── MetricsITBase.java │ │ ├── retry │ │ │ ├── ConsistencyDowngradingRetryPolicyIT.java │ │ │ ├── DefaultRetryPolicyIT.java │ │ │ └── PerProfileRetryPolicyIT.java │ │ ├── session │ │ │ ├── AddedNodeIT.java │ │ │ ├── ExceptionIT.java │ │ │ ├── ListenersIT.java │ │ │ ├── RemovedNodeIT.java │ │ │ ├── RequestProcessorIT.java │ │ │ └── ShutdownIT.java │ │ ├── specex │ │ │ └── SpeculativeExecutionIT.java │ │ ├── ssl │ │ │ ├── DefaultSslEngineFactoryHostnameValidationIT.java │ │ │ ├── DefaultSslEngineFactoryIT.java │ │ │ ├── DefaultSslEngineFactoryPropertyBasedIT.java │ │ │ ├── DefaultSslEngineFactoryPropertyBasedWithClientAuthIT.java │ │ │ ├── DefaultSslEngineFactoryWithClientAuthIT.java │ │ │ └── ProgrammaticSslIT.java │ │ ├── throttling │ │ │ └── ThrottlingIT.java │ │ ├── tracker │ │ │ ├── RequestLoggerIT.java │ │ │ └── RequestNodeLoggerExample.java │ │ └── type │ │ │ └── codec │ │ │ ├── CqlIntToStringCodec.java │ │ │ ├── ExtraTypeCodecsIT.java │ │ │ └── registry │ │ │ └── CodecRegistryIT.java │ │ ├── example │ │ └── guava │ │ │ ├── api │ │ │ ├── GuavaSession.java │ │ │ ├── GuavaSessionBuilder.java │ │ │ └── GuavaSessionUtils.java │ │ │ └── internal │ │ │ ├── DefaultGuavaSession.java │ │ │ ├── GuavaDriverContext.java │ │ │ ├── GuavaRequestAsyncProcessor.java │ │ │ ├── KeyRequest.java │ │ │ └── KeyRequestProcessor.java │ │ ├── internal │ │ └── core │ │ │ ├── type │ │ │ └── codec │ │ │ │ └── UdtCodecIT.java │ │ │ └── util │ │ │ └── concurrent │ │ │ ├── DriverBlockHoundIntegrationCcmIT.java │ │ │ └── DriverBlockHoundIntegrationIT.java │ │ ├── mapper │ │ ├── ComputedIT.java │ │ ├── CustomResultTypeIT.java │ │ ├── DefaultKeyspaceIT.java │ │ ├── DefaultNullSavingStrategyIT.java │ │ ├── DeleteIT.java │ │ ├── DeleteReactiveIT.java │ │ ├── EntityPolymorphismIT.java │ │ ├── FluentEntityIT.java │ │ ├── GetEntityIT.java │ │ ├── GuavaFutureProducerService.java │ │ ├── ImmutableEntityIT.java │ │ ├── IncrementIT.java │ │ ├── IncrementWithNullsIT.java │ │ ├── InsertIT.java │ │ ├── InsertReactiveIT.java │ │ ├── InventoryITBase.java │ │ ├── NamingStrategyIT.java │ │ ├── NestedUdtIT.java │ │ ├── NullSavingStrategyIT.java │ │ ├── PrimitivesIT.java │ │ ├── ProfileIT.java │ │ ├── QueryKeyspaceAndTableIT.java │ │ ├── QueryProviderIT.java │ │ ├── QueryReactiveIT.java │ │ ├── QueryReturnTypesIT.java │ │ ├── SchemaValidationIT.java │ │ ├── SelectCustomWhereClauseIT.java │ │ ├── SelectIT.java │ │ ├── SelectOtherClausesIT.java │ │ ├── SelectReactiveIT.java │ │ ├── SetEntityIT.java │ │ ├── StatementAttributesIT.java │ │ ├── TransientIT.java │ │ ├── UdtKeyIT.java │ │ ├── UpdateCustomIfClauseIT.java │ │ ├── UpdateIT.java │ │ ├── UpdateNamingIT.java │ │ └── UpdateReactiveIT.java │ │ ├── metrics │ │ ├── micrometer │ │ │ └── MicrometerMetricsIT.java │ │ └── microprofile │ │ │ └── MicroProfileMetricsIT.java │ │ └── querybuilder │ │ └── JsonInsertIT.java │ └── resources │ ├── DescribeIT │ ├── dse │ │ ├── 4.8.cql │ │ ├── 5.0.cql │ │ ├── 5.1.cql │ │ └── 6.8.cql │ ├── hcd │ │ └── 1.0.cql │ └── oss │ │ ├── 2.1.cql │ │ ├── 2.2.cql │ │ ├── 3.0.cql │ │ ├── 3.11.cql │ │ └── 4.0.cql │ ├── META-INF │ └── services │ │ └── com.datastax.oss.driver.api.mapper.result.MapperResultProducerService │ ├── application.conf │ └── logback-test.xml ├── licenses ├── HdrHistogram.txt ├── asm.txt ├── jnr-posix.txt ├── jnr-x86asm.txt ├── reactive-streams.txt └── slf4j-api.txt ├── manual ├── .nav ├── README.md ├── api_conventions │ └── README.md ├── case_sensitivity │ └── README.md ├── cloud │ └── README.md ├── core │ ├── README.md │ ├── address_resolution │ │ └── README.md │ ├── async │ │ └── README.md │ ├── authentication │ │ └── README.md │ ├── bom │ │ └── README.md │ ├── compression │ │ └── README.md │ ├── configuration │ │ ├── README.md │ │ └── reference │ │ │ └── README.rst │ ├── control_connection │ │ └── README.md │ ├── custom_codecs │ │ └── README.md │ ├── detachable_types │ │ └── README.md │ ├── dse │ │ ├── .nav │ │ ├── README.md │ │ ├── geotypes │ │ │ └── README.md │ │ └── graph │ │ │ ├── .nav │ │ │ ├── README.md │ │ │ ├── fluent │ │ │ ├── .nav │ │ │ ├── README.md │ │ │ ├── explicit │ │ │ │ └── README.md │ │ │ └── implicit │ │ │ │ └── README.md │ │ │ ├── options │ │ │ └── README.md │ │ │ ├── results │ │ │ └── README.md │ │ │ └── script │ │ │ └── README.md │ ├── graalvm │ │ └── README.md │ ├── idempotence │ │ └── README.md │ ├── integration │ │ └── README.md │ ├── load_balancing │ │ └── README.md │ ├── logging │ │ └── README.md │ ├── metadata │ │ ├── README.md │ │ ├── node │ │ │ └── README.md │ │ ├── schema │ │ │ └── README.md │ │ └── token │ │ │ └── README.md │ ├── metrics │ │ └── README.md │ ├── native_protocol │ │ └── README.md │ ├── non_blocking │ │ └── README.md │ ├── paging │ │ └── README.md │ ├── performance │ │ └── README.md │ ├── pooling │ │ └── README.md │ ├── query_timestamps │ │ └── README.md │ ├── reactive │ │ └── README.md │ ├── reconnection │ │ └── README.md │ ├── request_tracker │ │ └── README.md │ ├── retries │ │ └── README.md │ ├── shaded_jar │ │ └── README.md │ ├── speculative_execution │ │ └── README.md │ ├── ssl │ │ └── README.md │ ├── statements │ │ ├── .nav │ │ ├── README.md │ │ ├── batch │ │ │ └── README.md │ │ ├── per_query_keyspace │ │ │ └── README.md │ │ ├── prepared │ │ │ └── README.md │ │ └── simple │ │ │ └── README.md │ ├── temporal_types │ │ └── README.md │ ├── throttling │ │ └── README.md │ ├── tracing │ │ └── README.md │ ├── tuples │ │ └── README.md │ └── udts │ │ └── README.md ├── developer │ ├── .nav │ ├── README.md │ ├── admin │ │ └── README.md │ ├── common │ │ ├── .nav │ │ ├── README.md │ │ ├── concurrency │ │ │ └── README.md │ │ ├── context │ │ │ └── README.md │ │ └── event_bus │ │ │ └── README.md │ ├── native_protocol │ │ └── README.md │ ├── netty_pipeline │ │ └── README.md │ └── request_execution │ │ └── README.md ├── mapper │ ├── .nav │ ├── README.md │ ├── config │ │ ├── README.md │ │ ├── kotlin │ │ │ └── README.md │ │ ├── lombok │ │ │ └── README.md │ │ ├── record │ │ │ └── README.md │ │ └── scala │ │ │ └── README.md │ ├── daos │ │ ├── .nav │ │ ├── README.md │ │ ├── custom_types │ │ │ └── README.md │ │ ├── delete │ │ │ └── README.md │ │ ├── getentity │ │ │ └── README.md │ │ ├── increment │ │ │ └── README.md │ │ ├── insert │ │ │ └── README.md │ │ ├── null_saving │ │ │ └── README.md │ │ ├── query │ │ │ └── README.md │ │ ├── queryprovider │ │ │ └── README.md │ │ ├── select │ │ │ └── README.md │ │ ├── setentity │ │ │ └── README.md │ │ ├── statement_attributes │ │ │ └── README.md │ │ └── update │ │ │ └── README.md │ ├── entities │ │ └── README.md │ └── mapper │ │ └── README.md ├── osgi │ └── README.md └── query_builder │ ├── .nav │ ├── README.md │ ├── condition │ └── README.md │ ├── delete │ └── README.md │ ├── idempotence │ └── README.md │ ├── insert │ └── README.md │ ├── relation │ └── README.md │ ├── schema │ ├── .nav │ ├── README.md │ ├── aggregate │ │ └── README.md │ ├── function │ │ └── README.md │ ├── index │ │ └── README.md │ ├── keyspace │ │ └── README.md │ ├── materialized_view │ │ └── README.md │ ├── table │ │ └── README.md │ └── type │ │ └── README.md │ ├── select │ └── README.md │ ├── term │ └── README.md │ ├── truncate │ └── README.md │ └── update │ └── README.md ├── mapper-processor ├── CONTRIBUTING.md ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── datastax │ │ │ └── oss │ │ │ └── driver │ │ │ └── internal │ │ │ └── mapper │ │ │ └── processor │ │ │ ├── CodeGenerator.java │ │ │ ├── CodeGeneratorFactory.java │ │ │ ├── DecoratedMessager.java │ │ │ ├── DefaultCodeGeneratorFactory.java │ │ │ ├── DefaultProcessorContext.java │ │ │ ├── GeneratedNames.java │ │ │ ├── JavaPoetFiler.java │ │ │ ├── MapperProcessor.java │ │ │ ├── MethodGenerator.java │ │ │ ├── ProcessorContext.java │ │ │ ├── SingleFileCodeGenerator.java │ │ │ ├── dao │ │ │ ├── DaoDeleteMethodGenerator.java │ │ │ ├── DaoGetEntityMethodGenerator.java │ │ │ ├── DaoImplementationGenerator.java │ │ │ ├── DaoImplementationSharedCode.java │ │ │ ├── DaoIncrementMethodGenerator.java │ │ │ ├── DaoInsertMethodGenerator.java │ │ │ ├── DaoMethodGenerator.java │ │ │ ├── DaoQueryMethodGenerator.java │ │ │ ├── DaoQueryProviderMethodGenerator.java │ │ │ ├── DaoReturnType.java │ │ │ ├── DaoReturnTypeKind.java │ │ │ ├── DaoReturnTypeParser.java │ │ │ ├── DaoSelectMethodGenerator.java │ │ │ ├── DaoSetEntityMethodGenerator.java │ │ │ ├── DaoUpdateMethodGenerator.java │ │ │ ├── DefaultDaoReturnTypeKind.java │ │ │ ├── DefaultDaoReturnTypeParser.java │ │ │ ├── EntityUtils.java │ │ │ ├── LoggingGenerator.java │ │ │ └── NullSavingStrategyValidation.java │ │ │ ├── entity │ │ │ ├── BuiltInNameConversions.java │ │ │ ├── CqlNameGenerator.java │ │ │ ├── DefaultEntityDefinition.java │ │ │ ├── DefaultEntityFactory.java │ │ │ ├── DefaultPropertyDefinition.java │ │ │ ├── EntityDefinition.java │ │ │ ├── EntityFactory.java │ │ │ ├── EntityHelperDeleteByPrimaryKeyMethodGenerator.java │ │ │ ├── EntityHelperDeleteByPrimaryKeyPartsMethodGenerator.java │ │ │ ├── EntityHelperDeleteStartMethodGenerator.java │ │ │ ├── EntityHelperGenerator.java │ │ │ ├── EntityHelperGetMethodGenerator.java │ │ │ ├── EntityHelperInsertMethodGenerator.java │ │ │ ├── EntityHelperSchemaValidationMethodGenerator.java │ │ │ ├── EntityHelperSelectByPrimaryKeyMethodGenerator.java │ │ │ ├── EntityHelperSelectByPrimaryKeyPartsMethodGenerator.java │ │ │ ├── EntityHelperSelectStartMethodGenerator.java │ │ │ ├── EntityHelperSetMethodGenerator.java │ │ │ ├── EntityHelperUpdateByPrimaryKeyMethodGenerator.java │ │ │ ├── EntityHelperUpdateStartMethodGenerator.java │ │ │ └── PropertyDefinition.java │ │ │ ├── mapper │ │ │ ├── MapperBuilderGenerator.java │ │ │ ├── MapperDaoFactoryMethodGenerator.java │ │ │ ├── MapperGenerator.java │ │ │ ├── MapperImplementationGenerator.java │ │ │ └── MapperImplementationSharedCode.java │ │ │ └── util │ │ │ ├── AnnotationScanner.java │ │ │ ├── Capitalizer.java │ │ │ ├── Classes.java │ │ │ ├── HierarchyScanner.java │ │ │ ├── NameIndex.java │ │ │ ├── ResolvedAnnotation.java │ │ │ └── generation │ │ │ ├── BindableHandlingSharedCode.java │ │ │ ├── GeneratedCodePatterns.java │ │ │ ├── GenericTypeConstantGenerator.java │ │ │ └── PropertyType.java │ └── resources │ │ └── META-INF │ │ └── services │ │ └── javax.annotation.processing.Processor │ └── test │ ├── java │ └── com │ │ └── datastax │ │ ├── dse │ │ └── driver │ │ │ └── internal │ │ │ └── mapper │ │ │ └── processor │ │ │ └── DependencyCheckTest.java │ │ └── oss │ │ └── driver │ │ └── internal │ │ └── mapper │ │ ├── entity │ │ └── EntityHelperBaseTest.java │ │ └── processor │ │ ├── MapperProcessorTest.java │ │ ├── dao │ │ ├── DaoAnnotationTest.java │ │ ├── DaoDeleteMethodGeneratorTest.java │ │ ├── DaoGetEntityMethodGeneratorTest.java │ │ ├── DaoImplementationGeneratorTest.java │ │ ├── DaoInsertMethodGeneratorTest.java │ │ ├── DaoMethodGeneratorTest.java │ │ ├── DaoQueryMethodGeneratorTest.java │ │ ├── DaoQueryProviderMethodGeneratorTest.java │ │ ├── DaoSelectMethodGeneratorTest.java │ │ ├── DaoSetEntityMethodGeneratorTest.java │ │ ├── DaoUpdateMethodGeneratorTest.java │ │ └── compiled │ │ │ ├── CompiledProduct.java │ │ │ ├── CompiledProductDao.java │ │ │ └── DaoCompiledMethodGeneratorTest.java │ │ ├── entity │ │ ├── BuiltInNameConversionsTest.java │ │ ├── EntityAnnotationTest.java │ │ ├── EntityNamingStrategyTest.java │ │ └── EntityPropertyAnnotationsTest.java │ │ ├── mapper │ │ ├── MapperAnnotationTest.java │ │ ├── MapperDaoFactoryMethodGeneratorTest.java │ │ ├── MapperImplementationGeneratorTest.java │ │ └── MapperMethodGeneratorTest.java │ │ └── util │ │ ├── CapitalizerTest.java │ │ └── HierarchyScannerTest.java │ └── resources │ ├── logback-test.xml │ └── project.properties ├── mapper-runtime ├── pom.xml ├── revapi.json └── src │ ├── main │ └── java │ │ └── com │ │ └── datastax │ │ ├── dse │ │ └── driver │ │ │ ├── api │ │ │ └── mapper │ │ │ │ └── reactive │ │ │ │ └── MappedReactiveResultSet.java │ │ │ └── internal │ │ │ └── mapper │ │ │ └── reactive │ │ │ ├── DefaultMappedReactiveResultSet.java │ │ │ ├── FailedMappedReactiveResultSet.java │ │ │ └── ReactiveDaoBase.java │ │ └── oss │ │ └── driver │ │ ├── api │ │ └── mapper │ │ │ ├── MapperBuilder.java │ │ │ ├── MapperContext.java │ │ │ ├── MapperException.java │ │ │ ├── annotations │ │ │ ├── ClusteringColumn.java │ │ │ ├── Computed.java │ │ │ ├── CqlName.java │ │ │ ├── Dao.java │ │ │ ├── DaoFactory.java │ │ │ ├── DaoKeyspace.java │ │ │ ├── DaoProfile.java │ │ │ ├── DaoTable.java │ │ │ ├── DefaultNullSavingStrategy.java │ │ │ ├── Delete.java │ │ │ ├── Entity.java │ │ │ ├── GetEntity.java │ │ │ ├── HierarchyScanStrategy.java │ │ │ ├── Increment.java │ │ │ ├── Insert.java │ │ │ ├── Mapper.java │ │ │ ├── NamingStrategy.java │ │ │ ├── PartitionKey.java │ │ │ ├── PropertyStrategy.java │ │ │ ├── Query.java │ │ │ ├── QueryProvider.java │ │ │ ├── SchemaHint.java │ │ │ ├── Select.java │ │ │ ├── SetEntity.java │ │ │ ├── StatementAttributes.java │ │ │ ├── Transient.java │ │ │ ├── TransientProperties.java │ │ │ └── Update.java │ │ │ ├── entity │ │ │ ├── EntityHelper.java │ │ │ ├── naming │ │ │ │ ├── GetterStyle.java │ │ │ │ ├── NameConverter.java │ │ │ │ ├── NamingConvention.java │ │ │ │ └── SetterStyle.java │ │ │ └── saving │ │ │ │ └── NullSavingStrategy.java │ │ │ └── result │ │ │ ├── MapperResultProducer.java │ │ │ └── MapperResultProducerService.java │ │ └── internal │ │ └── mapper │ │ ├── DaoBase.java │ │ ├── DaoCacheKey.java │ │ ├── DefaultMapperContext.java │ │ └── entity │ │ └── EntityHelperBase.java │ └── test │ ├── java │ └── com │ │ └── datastax │ │ └── dse │ │ └── driver │ │ └── api │ │ └── mapper │ │ ├── DependencyCheckTest.java │ │ └── reactive │ │ ├── MappedReactiveResultSetTckTest.java │ │ ├── MockAsyncResultSet.java │ │ ├── MockRow.java │ │ └── TestSubscriber.java │ └── resources │ └── project.properties ├── metrics ├── micrometer │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── datastax │ │ │ │ └── oss │ │ │ │ └── driver │ │ │ │ └── internal │ │ │ │ └── metrics │ │ │ │ └── micrometer │ │ │ │ ├── MicrometerMetricUpdater.java │ │ │ │ ├── MicrometerMetricsFactory.java │ │ │ │ ├── MicrometerNodeMetricUpdater.java │ │ │ │ ├── MicrometerSessionMetricUpdater.java │ │ │ │ └── MicrometerTags.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── native-image │ │ │ └── com.datastax.oss │ │ │ └── java-driver-metrics-micrometer │ │ │ ├── native-image.properties │ │ │ └── reflection.json │ │ └── test │ │ └── java │ │ └── com │ │ └── datastax │ │ └── oss │ │ └── driver │ │ └── internal │ │ └── metrics │ │ └── micrometer │ │ ├── MicrometerMetricsFactoryTest.java │ │ ├── MicrometerNodeMetricUpdaterTest.java │ │ └── MicrometerSessionMetricUpdaterTest.java └── microprofile │ ├── pom.xml │ └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── datastax │ │ │ └── oss │ │ │ └── driver │ │ │ └── internal │ │ │ └── metrics │ │ │ └── microprofile │ │ │ ├── MicroProfileMetricUpdater.java │ │ │ ├── MicroProfileMetricsFactory.java │ │ │ ├── MicroProfileNodeMetricUpdater.java │ │ │ ├── MicroProfileSessionMetricUpdater.java │ │ │ └── MicroProfileTags.java │ └── resources │ │ └── META-INF │ │ └── native-image │ │ └── com.datastax.oss │ │ └── java-driver-metrics-microprofile │ │ ├── native-image.properties │ │ └── reflection.json │ └── test │ └── java │ └── com │ └── datastax │ └── oss │ └── driver │ └── internal │ └── metrics │ └── microprofile │ ├── MicroProfileMetricsFactoryTest.java │ └── MicroProfileNodeMetricsUpdaterTest.java ├── osgi-tests ├── README.md ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── datastax │ │ │ └── oss │ │ │ └── driver │ │ │ ├── api │ │ │ └── osgi │ │ │ │ ├── CustomRetryPolicy.java │ │ │ │ └── service │ │ │ │ ├── MailboxException.java │ │ │ │ ├── MailboxMessage.java │ │ │ │ ├── MailboxService.java │ │ │ │ ├── geo │ │ │ │ ├── GeoMailboxMessage.java │ │ │ │ └── GeoMailboxService.java │ │ │ │ ├── graph │ │ │ │ └── GraphMailboxService.java │ │ │ │ └── reactive │ │ │ │ └── ReactiveMailboxService.java │ │ │ └── internal │ │ │ └── osgi │ │ │ ├── MailboxActivator.java │ │ │ └── service │ │ │ ├── MailboxMapper.java │ │ │ ├── MailboxMessageDao.java │ │ │ ├── MailboxServiceImpl.java │ │ │ ├── geo │ │ │ ├── GeoMailboxMapper.java │ │ │ ├── GeoMailboxMessageDao.java │ │ │ └── GeoMailboxServiceImpl.java │ │ │ ├── graph │ │ │ └── GraphMailboxServiceImpl.java │ │ │ └── reactive │ │ │ ├── ReactiveMailboxMapper.java │ │ │ ├── ReactiveMailboxMessageDao.java │ │ │ └── ReactiveMailboxServiceImpl.java │ └── resources │ │ └── application.conf │ └── test │ ├── java │ └── com │ │ └── datastax │ │ └── oss │ │ └── driver │ │ └── internal │ │ └── osgi │ │ ├── OsgiCustomLoadBalancingPolicyIT.java │ │ ├── OsgiDefaultIT.java │ │ ├── OsgiGeoTypesIT.java │ │ ├── OsgiGraphIT.java │ │ ├── OsgiLz4IT.java │ │ ├── OsgiReactiveIT.java │ │ ├── OsgiShadedIT.java │ │ ├── OsgiSnappyIT.java │ │ ├── checks │ │ ├── DefaultServiceChecks.java │ │ ├── GeoServiceChecks.java │ │ ├── GraphServiceChecks.java │ │ └── ReactiveServiceChecks.java │ │ └── support │ │ ├── BundleOptions.java │ │ ├── CcmExamReactorFactory.java │ │ ├── CcmPaxExam.java │ │ └── CcmStagedReactor.java │ └── resources │ ├── exam.properties │ └── logback-test.xml ├── performance ├── README.md ├── ctool-cluster-info.png ├── duration-test.yaml └── graphite-setup.yaml ├── pom.xml ├── pre-commit.sh ├── query-builder ├── pom.xml ├── revapi.json └── src │ ├── main │ └── java │ │ └── com │ │ └── datastax │ │ ├── dse │ │ └── driver │ │ │ ├── api │ │ │ └── querybuilder │ │ │ │ ├── DseQueryBuilder.java │ │ │ │ ├── DseSchemaBuilder.java │ │ │ │ ├── package-info.java │ │ │ │ └── schema │ │ │ │ ├── AlterDseKeyspace.java │ │ │ │ ├── AlterDseKeyspaceStart.java │ │ │ │ ├── AlterDseTableAddColumn.java │ │ │ │ ├── AlterDseTableAddColumnEnd.java │ │ │ │ ├── AlterDseTableDropColumn.java │ │ │ │ ├── AlterDseTableDropColumnEnd.java │ │ │ │ ├── AlterDseTableRenameColumn.java │ │ │ │ ├── AlterDseTableRenameColumnEnd.java │ │ │ │ ├── AlterDseTableStart.java │ │ │ │ ├── AlterDseTableWithOptions.java │ │ │ │ ├── AlterDseTableWithOptionsEnd.java │ │ │ │ ├── CreateDseAggregateEnd.java │ │ │ │ ├── CreateDseAggregateStart.java │ │ │ │ ├── CreateDseAggregateStateFunc.java │ │ │ │ ├── CreateDseFunctionEnd.java │ │ │ │ ├── CreateDseFunctionStart.java │ │ │ │ ├── CreateDseFunctionWithLanguage.java │ │ │ │ ├── CreateDseFunctionWithNullOption.java │ │ │ │ ├── CreateDseFunctionWithType.java │ │ │ │ ├── CreateDseKeyspace.java │ │ │ │ ├── CreateDseKeyspaceStart.java │ │ │ │ ├── CreateDseTable.java │ │ │ │ ├── CreateDseTableStart.java │ │ │ │ ├── CreateDseTableWithOptions.java │ │ │ │ ├── DseGraphEdgeSide.java │ │ │ │ ├── DseRelationOptions.java │ │ │ │ ├── DseRelationStructure.java │ │ │ │ ├── DseTableGraphOptions.java │ │ │ │ ├── OngoingDsePartitionKey.java │ │ │ │ └── package-info.java │ │ │ └── internal │ │ │ └── querybuilder │ │ │ └── schema │ │ │ ├── DefaultAlterDseKeyspace.java │ │ │ ├── DefaultAlterDseTable.java │ │ │ ├── DefaultCreateDseAggregate.java │ │ │ ├── DefaultCreateDseFunction.java │ │ │ ├── DefaultCreateDseKeyspace.java │ │ │ ├── DefaultCreateDseTable.java │ │ │ ├── DefaultDseGraphEdgeSide.java │ │ │ ├── DseTableEdgeOperation.java │ │ │ ├── DseTableGraphOperationType.java │ │ │ ├── DseTableVertexOperation.java │ │ │ └── package-info.java │ │ └── oss │ │ └── driver │ │ ├── api │ │ └── querybuilder │ │ │ ├── BindMarker.java │ │ │ ├── BuildableQuery.java │ │ │ ├── CqlSnippet.java │ │ │ ├── Literal.java │ │ │ ├── QueryBuilder.java │ │ │ ├── Raw.java │ │ │ ├── SchemaBuilder.java │ │ │ ├── condition │ │ │ ├── Condition.java │ │ │ ├── ConditionBuilder.java │ │ │ └── ConditionalStatement.java │ │ │ ├── delete │ │ │ ├── Delete.java │ │ │ └── DeleteSelection.java │ │ │ ├── insert │ │ │ ├── Insert.java │ │ │ ├── InsertInto.java │ │ │ ├── JsonInsert.java │ │ │ ├── OngoingValues.java │ │ │ └── RegularInsert.java │ │ │ ├── relation │ │ │ ├── ArithmeticRelationBuilder.java │ │ │ ├── ColumnComponentRelationBuilder.java │ │ │ ├── ColumnRelationBuilder.java │ │ │ ├── InRelationBuilder.java │ │ │ ├── MultiColumnRelationBuilder.java │ │ │ ├── OngoingWhereClause.java │ │ │ ├── Relation.java │ │ │ └── TokenRelationBuilder.java │ │ │ ├── schema │ │ │ ├── AlterKeyspace.java │ │ │ ├── AlterKeyspaceStart.java │ │ │ ├── AlterMaterializedView.java │ │ │ ├── AlterMaterializedViewStart.java │ │ │ ├── AlterTableAddColumn.java │ │ │ ├── AlterTableAddColumnEnd.java │ │ │ ├── AlterTableDropColumn.java │ │ │ ├── AlterTableDropColumnEnd.java │ │ │ ├── AlterTableRenameColumn.java │ │ │ ├── AlterTableRenameColumnEnd.java │ │ │ ├── AlterTableStart.java │ │ │ ├── AlterTableWithOptions.java │ │ │ ├── AlterTableWithOptionsEnd.java │ │ │ ├── AlterTypeRenameField.java │ │ │ ├── AlterTypeRenameFieldEnd.java │ │ │ ├── AlterTypeStart.java │ │ │ ├── CreateAggregateEnd.java │ │ │ ├── CreateAggregateStart.java │ │ │ ├── CreateAggregateStateFunc.java │ │ │ ├── CreateFunctionEnd.java │ │ │ ├── CreateFunctionStart.java │ │ │ ├── CreateFunctionWithLanguage.java │ │ │ ├── CreateFunctionWithNullOption.java │ │ │ ├── CreateFunctionWithType.java │ │ │ ├── CreateIndex.java │ │ │ ├── CreateIndexOnTable.java │ │ │ ├── CreateIndexStart.java │ │ │ ├── CreateKeyspace.java │ │ │ ├── CreateKeyspaceStart.java │ │ │ ├── CreateMaterializedView.java │ │ │ ├── CreateMaterializedViewPrimaryKey.java │ │ │ ├── CreateMaterializedViewPrimaryKeyStart.java │ │ │ ├── CreateMaterializedViewSelection.java │ │ │ ├── CreateMaterializedViewSelectionWithColumns.java │ │ │ ├── CreateMaterializedViewStart.java │ │ │ ├── CreateMaterializedViewWhere.java │ │ │ ├── CreateMaterializedViewWhereStart.java │ │ │ ├── CreateTable.java │ │ │ ├── CreateTableStart.java │ │ │ ├── CreateTableWithOptions.java │ │ │ ├── CreateType.java │ │ │ ├── CreateTypeStart.java │ │ │ ├── Drop.java │ │ │ ├── KeyspaceOptions.java │ │ │ ├── KeyspaceReplicationOptions.java │ │ │ ├── OngoingCreateType.java │ │ │ ├── OngoingPartitionKey.java │ │ │ ├── OptionProvider.java │ │ │ ├── RelationOptions.java │ │ │ ├── RelationStructure.java │ │ │ └── compaction │ │ │ │ ├── CompactionStrategy.java │ │ │ │ ├── LeveledCompactionStrategy.java │ │ │ │ ├── SizeTieredCompactionStrategy.java │ │ │ │ └── TimeWindowCompactionStrategy.java │ │ │ ├── select │ │ │ ├── OngoingSelection.java │ │ │ ├── Select.java │ │ │ ├── SelectFrom.java │ │ │ └── Selector.java │ │ │ ├── term │ │ │ └── Term.java │ │ │ ├── truncate │ │ │ └── Truncate.java │ │ │ └── update │ │ │ ├── Assignment.java │ │ │ ├── OngoingAssignment.java │ │ │ ├── Update.java │ │ │ ├── UpdateStart.java │ │ │ └── UpdateWithAssignments.java │ │ └── internal │ │ └── querybuilder │ │ ├── ArithmeticOperator.java │ │ ├── CqlHelper.java │ │ ├── DefaultLiteral.java │ │ ├── DefaultRaw.java │ │ ├── ImmutableCollections.java │ │ ├── condition │ │ ├── DefaultCondition.java │ │ └── DefaultConditionBuilder.java │ │ ├── delete │ │ └── DefaultDelete.java │ │ ├── insert │ │ └── DefaultInsert.java │ │ ├── lhs │ │ ├── ColumnComponentLeftOperand.java │ │ ├── ColumnLeftOperand.java │ │ ├── FieldLeftOperand.java │ │ ├── LeftOperand.java │ │ ├── TokenLeftOperand.java │ │ └── TupleLeftOperand.java │ │ ├── relation │ │ ├── CustomIndexRelation.java │ │ ├── DefaultColumnComponentRelationBuilder.java │ │ ├── DefaultColumnRelationBuilder.java │ │ ├── DefaultMultiColumnRelationBuilder.java │ │ ├── DefaultRelation.java │ │ └── DefaultTokenRelationBuilder.java │ │ ├── schema │ │ ├── DefaultAlterKeyspace.java │ │ ├── DefaultAlterMaterializedView.java │ │ ├── DefaultAlterTable.java │ │ ├── DefaultAlterType.java │ │ ├── DefaultCreateAggregate.java │ │ ├── DefaultCreateFunction.java │ │ ├── DefaultCreateIndex.java │ │ ├── DefaultCreateKeyspace.java │ │ ├── DefaultCreateMaterializedView.java │ │ ├── DefaultCreateTable.java │ │ ├── DefaultCreateType.java │ │ ├── DefaultDrop.java │ │ ├── DefaultDropKeyspace.java │ │ ├── OptionsUtils.java │ │ ├── RawOptionsWrapper.java │ │ ├── Utils.java │ │ └── compaction │ │ │ ├── DefaultCompactionStrategy.java │ │ │ ├── DefaultLeveledCompactionStrategy.java │ │ │ ├── DefaultSizeTieredCompactionStrategy.java │ │ │ └── DefaultTimeWindowCompactionStrategy.java │ │ ├── select │ │ ├── AllSelector.java │ │ ├── ArithmeticSelector.java │ │ ├── BinaryArithmeticSelector.java │ │ ├── CastSelector.java │ │ ├── CollectionSelector.java │ │ ├── ColumnSelector.java │ │ ├── CountAllSelector.java │ │ ├── DefaultBindMarker.java │ │ ├── DefaultSelect.java │ │ ├── ElementSelector.java │ │ ├── FieldSelector.java │ │ ├── FunctionSelector.java │ │ ├── ListSelector.java │ │ ├── MapSelector.java │ │ ├── OppositeSelector.java │ │ ├── RangeSelector.java │ │ ├── SetSelector.java │ │ ├── TupleSelector.java │ │ └── TypeHintSelector.java │ │ ├── term │ │ ├── ArithmeticTerm.java │ │ ├── BinaryArithmeticTerm.java │ │ ├── FunctionTerm.java │ │ ├── OppositeTerm.java │ │ ├── TupleTerm.java │ │ └── TypeHintTerm.java │ │ ├── truncate │ │ └── DefaultTruncate.java │ │ └── update │ │ ├── AppendAssignment.java │ │ ├── AppendListElementAssignment.java │ │ ├── AppendMapEntryAssignment.java │ │ ├── AppendSetElementAssignment.java │ │ ├── CollectionAssignment.java │ │ ├── CollectionElementAssignment.java │ │ ├── CounterAssignment.java │ │ ├── DecrementAssignment.java │ │ ├── DefaultAssignment.java │ │ ├── DefaultUpdate.java │ │ ├── IncrementAssignment.java │ │ ├── PrependAssignment.java │ │ ├── PrependListElementAssignment.java │ │ ├── PrependMapEntryAssignment.java │ │ ├── PrependSetElementAssignment.java │ │ ├── RemoveAssignment.java │ │ ├── RemoveListElementAssignment.java │ │ ├── RemoveMapEntryAssignment.java │ │ └── RemoveSetElementAssignment.java │ └── test │ ├── java │ └── com │ │ └── datastax │ │ ├── dse │ │ └── driver │ │ │ ├── api │ │ │ └── querybuilder │ │ │ │ ├── Assertions.java │ │ │ │ ├── BuildableQueryAssert.java │ │ │ │ ├── CqlSnippetAssert.java │ │ │ │ └── schema │ │ │ │ ├── AlterDseKeyspaceTest.java │ │ │ │ ├── AlterDseTableTest.java │ │ │ │ ├── CreateDseKeyspaceTest.java │ │ │ │ └── CreateDseTableTest.java │ │ │ └── internal │ │ │ └── querybuilder │ │ │ ├── DependencyCheckTest.java │ │ │ └── schema │ │ │ ├── CreateDseAggregateTest.java │ │ │ └── CreateDseFunctionTest.java │ │ └── oss │ │ └── driver │ │ └── api │ │ └── querybuilder │ │ ├── Assertions.java │ │ ├── BuildableQueryAssert.java │ │ ├── BuildableQueryTest.java │ │ ├── CharsetCodec.java │ │ ├── CqlSnippetAssert.java │ │ ├── TokenLiteralTest.java │ │ ├── condition │ │ └── ConditionTest.java │ │ ├── delete │ │ ├── DeleteFluentConditionTest.java │ │ ├── DeleteFluentRelationTest.java │ │ ├── DeleteIdempotenceTest.java │ │ ├── DeleteSelectorTest.java │ │ └── DeleteTimestampTest.java │ │ ├── insert │ │ ├── InsertIdempotenceTest.java │ │ ├── JsonInsertTest.java │ │ └── RegularInsertTest.java │ │ ├── relation │ │ ├── RelationTest.java │ │ └── TermTest.java │ │ ├── schema │ │ ├── AlterKeyspaceTest.java │ │ ├── AlterMaterializedViewTest.java │ │ ├── AlterTableTest.java │ │ ├── AlterTypeTest.java │ │ ├── CreateAggregateTest.java │ │ ├── CreateFunctionTest.java │ │ ├── CreateIndexTest.java │ │ ├── CreateKeyspaceTest.java │ │ ├── CreateMaterializedViewTest.java │ │ ├── CreateTableTest.java │ │ ├── CreateTypeTest.java │ │ ├── DropAggregateTest.java │ │ ├── DropFunctionTest.java │ │ ├── DropIndexTest.java │ │ ├── DropKeyspaceTest.java │ │ ├── DropMaterializedViewTest.java │ │ ├── DropTableTest.java │ │ └── DropTypeTest.java │ │ ├── select │ │ ├── SelectAllowFilteringTest.java │ │ ├── SelectFluentRelationTest.java │ │ ├── SelectGroupByTest.java │ │ ├── SelectLimitTest.java │ │ ├── SelectOrderingTest.java │ │ └── SelectSelectorTest.java │ │ ├── truncate │ │ └── TruncateTest.java │ │ └── update │ │ ├── UpdateFluentAssignmentTest.java │ │ ├── UpdateFluentConditionTest.java │ │ ├── UpdateFluentRelationTest.java │ │ ├── UpdateIdempotenceTest.java │ │ └── UpdateUsingTest.java │ └── resources │ └── project.properties ├── test-infra ├── pom.xml ├── revapi.json └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── datastax │ │ │ └── oss │ │ │ └── driver │ │ │ ├── api │ │ │ └── testinfra │ │ │ │ ├── CassandraRequirement.java │ │ │ │ ├── CassandraResourceRule.java │ │ │ │ ├── DseRequirement.java │ │ │ │ ├── ccm │ │ │ │ ├── BaseCcmRule.java │ │ │ │ ├── CcmBridge.java │ │ │ │ ├── CcmRule.java │ │ │ │ ├── CustomCcmRule.java │ │ │ │ ├── DefaultCcmBridgeBuilderCustomizer.java │ │ │ │ ├── DistributionCassandraVersions.java │ │ │ │ └── SchemaChangeSynchronizer.java │ │ │ │ ├── loadbalancing │ │ │ │ ├── NodeComparator.java │ │ │ │ └── SortingLoadBalancingPolicy.java │ │ │ │ ├── requirement │ │ │ │ ├── BackendRequirement.java │ │ │ │ ├── BackendRequirementRule.java │ │ │ │ ├── BackendRequirements.java │ │ │ │ ├── BackendType.java │ │ │ │ └── VersionRequirement.java │ │ │ │ ├── session │ │ │ │ ├── CqlSessionRuleBuilder.java │ │ │ │ ├── SessionRule.java │ │ │ │ ├── SessionRuleBuilder.java │ │ │ │ └── SessionUtils.java │ │ │ │ ├── simulacron │ │ │ │ ├── QueryCounter.java │ │ │ │ └── SimulacronRule.java │ │ │ │ └── utils │ │ │ │ ├── ConditionChecker.java │ │ │ │ └── NodeUtils.java │ │ │ ├── assertions │ │ │ ├── Assertions.java │ │ │ └── NodeMetadataAssert.java │ │ │ └── categories │ │ │ ├── IsolatedTests.java │ │ │ └── ParallelizableTests.java │ └── resources │ │ ├── client.crt │ │ ├── client.key │ │ ├── client.keystore │ │ ├── client.truststore │ │ ├── server.keystore │ │ ├── server.truststore │ │ └── server_localhost.keystore │ └── test │ └── java │ └── com │ └── datastax │ └── oss │ └── driver │ └── api │ └── testinfra │ └── requirement │ └── VersionRequirementTest.java └── upgrade_guide └── README.md /.asf.yaml: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | notifications: 19 | commits: commits@cassandra.apache.org 20 | issues: commits@cassandra.apache.org 21 | pullrequests: pr@cassandra.apache.org 22 | jira_options: link worklog 23 | 24 | github: 25 | description: "Java Driver for Apache Cassandra®" 26 | homepage: https://cassandra.apache.org/ 27 | enabled_merge_buttons: 28 | squash: false 29 | merge: false 30 | rebase: true 31 | features: 32 | wiki: false 33 | issues: false 34 | projects: false 35 | autolink_jira: 36 | - CASSANDRA 37 | - CASSJAVA 38 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .settings 2 | .DS_Store 3 | .documenter_local_last_run 4 | 5 | /.idea 6 | *.iml 7 | .classpath 8 | .project 9 | 10 | .java-version 11 | .flattened-pom.xml 12 | 13 | .documenter_local_last_run 14 | /docs 15 | target/ 16 | dependency-reduced-pom.xml 17 | -------------------------------------------------------------------------------- /NOTICE.txt: -------------------------------------------------------------------------------- 1 | Apache Cassandra Java Driver 2 | Copyright 2012- The Apache Software Foundation 3 | 4 | This product includes software developed at The Apache Software 5 | Foundation (http://www.apache.org/). 6 | -------------------------------------------------------------------------------- /ci/run-tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | 3 | . ~/.jabba/jabba.sh 4 | . ~/env.txt 5 | cd $(dirname "$(readlink -f "$0")")/.. 6 | printenv | sort 7 | mvn -B -V install -DskipTests -Dmaven.javadoc.skip=true 8 | jabba use ${TEST_JAVA_VERSION} 9 | # Find out the latest patch version of Cassandra 10 | PATCH_SERVER_VERSION=$(curl -s https://downloads.apache.org/cassandra/ | grep -oP '(?<=href=\")[0-9]+\.[0-9]+\.[0-9]+(?=)' | sort -rV | uniq -w 3 | grep $SERVER_VERSION) 11 | printenv | sort 12 | mvn -B -V verify -T 1 -Ptest-jdk-${TEST_JAVA_MAJOR_VERSION} -DtestJavaHome=$(jabba which ${TEST_JAVA_VERSION}) -Dccm.version=${PATCH_SERVER_VERSION} -Dccm.dse=false -Dmaven.test.failure.ignore=true -Dmaven.javadoc.skip=true 13 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/dse/driver/api/core/cql/reactive/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | /** 19 | * Types related to CQL execution using reactive-style programming. 20 | * 21 | *

Note that this is located in a {@code dse} package for historical reasons; reactive queries 22 | * can now be used with open-source Cassandra as well. 23 | */ 24 | package com.datastax.dse.driver.api.core.cql.reactive; 25 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/dse/driver/api/core/graph/PagingEnabledOptions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.api.core.graph; 19 | 20 | public enum PagingEnabledOptions { 21 | ENABLED, 22 | DISABLED, 23 | AUTO 24 | } 25 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/dse/driver/api/core/metadata/schema/DseColumnMetadata.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.api.core.metadata.schema; 19 | 20 | import com.datastax.oss.driver.api.core.metadata.schema.ColumnMetadata; 21 | 22 | /** 23 | * Specialized column metadata for DSE. 24 | * 25 | *

This type exists only for future extensibility; currently, it is identical to {@link 26 | * ColumnMetadata}. 27 | */ 28 | public interface DseColumnMetadata extends ColumnMetadata {} 29 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/dse/driver/api/core/metadata/schema/DseIndexMetadata.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.api.core.metadata.schema; 19 | 20 | import com.datastax.oss.driver.api.core.metadata.schema.IndexMetadata; 21 | 22 | /** 23 | * Specialized index metadata for DSE. 24 | * 25 | *

This type exists only for future extensibility; currently, it is identical to {@link 26 | * IndexMetadata}. 27 | */ 28 | public interface DseIndexMetadata extends IndexMetadata {} 29 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/dse/driver/api/core/metadata/schema/DseVertexMetadata.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.api.core.metadata.schema; 19 | 20 | import com.datastax.oss.driver.api.core.CqlIdentifier; 21 | import edu.umd.cs.findbugs.annotations.NonNull; 22 | 23 | /** Vertex metadata, for a table that was created with CREATE TABLE ... WITH VERTEX LABEL. */ 24 | public interface DseVertexMetadata { 25 | 26 | /** The label of the vertex in graph. */ 27 | @NonNull 28 | CqlIdentifier getLabelName(); 29 | } 30 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/dse/driver/internal/core/cql/reactive/DefaultReactiveResultSet.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.internal.core.cql.reactive; 19 | 20 | import com.datastax.oss.driver.api.core.cql.AsyncResultSet; 21 | import java.util.concurrent.Callable; 22 | import java.util.concurrent.CompletionStage; 23 | import net.jcip.annotations.ThreadSafe; 24 | 25 | @ThreadSafe 26 | public class DefaultReactiveResultSet extends ReactiveResultSetBase { 27 | 28 | public DefaultReactiveResultSet(Callable> firstPage) { 29 | super(firstPage); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/dse/driver/internal/core/cql/reactive/EmptySubscription.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.internal.core.cql.reactive; 19 | 20 | import org.reactivestreams.Subscription; 21 | 22 | public class EmptySubscription implements Subscription { 23 | 24 | public static final EmptySubscription INSTANCE = new EmptySubscription(); 25 | 26 | private EmptySubscription() {} 27 | 28 | @Override 29 | public void request(long n) {} 30 | 31 | @Override 32 | public void cancel() {} 33 | } 34 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/dse/driver/internal/core/graph/GeoUtils.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.internal.core.graph; 19 | 20 | public class GeoUtils { 21 | private static final double DEGREES_TO_RADIANS = Math.PI / 180; 22 | private static final double EARTH_MEAN_RADIUS_KM = 6371.0087714; 23 | private static final double DEG_TO_KM = DEGREES_TO_RADIANS * EARTH_MEAN_RADIUS_KM; 24 | private static final double KM_TO_MILES = 0.621371192; 25 | public static final double KM_TO_DEG = 1 / DEG_TO_KM; 26 | public static final double MILES_TO_KM = 1 / KM_TO_MILES; 27 | } 28 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/dse/driver/internal/core/graph/GraphResultSets.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.internal.core.graph; 19 | 20 | import com.datastax.dse.driver.api.core.graph.AsyncGraphResultSet; 21 | import com.datastax.dse.driver.api.core.graph.GraphResultSet; 22 | 23 | public class GraphResultSets { 24 | 25 | public static GraphResultSet toSync(AsyncGraphResultSet firstPage) { 26 | if (firstPage.hasMorePages()) { 27 | return new MultiPageGraphResultSet(firstPage); 28 | } else { 29 | return new SinglePageGraphResultSet(firstPage); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/dse/driver/internal/core/graph/TinkerpopBufferUtil.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.internal.core.graph; 19 | 20 | import java.nio.ByteBuffer; 21 | import org.apache.tinkerpop.gremlin.structure.io.Buffer; 22 | 23 | /** Mirror of {@link ByteBufUtil} for Tinkerpop Buffer's */ 24 | public class TinkerpopBufferUtil { 25 | 26 | public static ByteBuffer readBytes(Buffer tinkerBuff, int size) { 27 | ByteBuffer res = ByteBuffer.allocate(size); 28 | tinkerBuff.readBytes(res); 29 | res.flip(); 30 | return res; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/LineStringSerializer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.internal.core.graph.binary; 19 | 20 | import com.datastax.dse.driver.api.core.data.geometry.LineString; 21 | import java.nio.ByteBuffer; 22 | 23 | public class LineStringSerializer extends GeometrySerializer { 24 | @Override 25 | public String getTypeName() { 26 | return GraphBinaryModule.GRAPH_BINARY_LINESTRING_TYPE_NAME; 27 | } 28 | 29 | @Override 30 | public LineString fromWellKnownBinary(ByteBuffer buffer) { 31 | return LineString.fromWellKnownBinary(buffer); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/PointSerializer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.internal.core.graph.binary; 19 | 20 | import com.datastax.dse.driver.api.core.data.geometry.Point; 21 | import java.nio.ByteBuffer; 22 | 23 | public class PointSerializer extends GeometrySerializer { 24 | 25 | @Override 26 | public String getTypeName() { 27 | return GraphBinaryModule.GRAPH_BINARY_POINT_TYPE_NAME; 28 | } 29 | 30 | @Override 31 | public Point fromWellKnownBinary(ByteBuffer buffer) { 32 | return Point.fromWellKnownBinary(buffer); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/PolygonSerializer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.internal.core.graph.binary; 19 | 20 | import com.datastax.dse.driver.api.core.data.geometry.Polygon; 21 | import java.nio.ByteBuffer; 22 | 23 | public class PolygonSerializer extends GeometrySerializer { 24 | @Override 25 | public String getTypeName() { 26 | return GraphBinaryModule.GRAPH_BINARY_POLYGON_TYPE_NAME; 27 | } 28 | 29 | @Override 30 | public Polygon fromWellKnownBinary(ByteBuffer buffer) { 31 | return Polygon.fromWellKnownBinary(buffer); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/dse/driver/internal/core/insights/exceptions/InsightEventFormatException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.internal.core.insights.exceptions; 19 | 20 | public class InsightEventFormatException extends RuntimeException { 21 | 22 | public InsightEventFormatException(String message, Throwable cause) { 23 | super(message, cause); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/dse/driver/internal/core/insights/schema/InsightType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.internal.core.insights.schema; 19 | 20 | public enum InsightType { 21 | EVENT, 22 | GAUGE, 23 | COUNTER, 24 | HISTOGRAM, 25 | TIMER, 26 | METER, 27 | LOG; 28 | } 29 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/api/core/MappedAsyncPagingIterable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.core; 19 | 20 | import java.util.function.Function; 21 | 22 | /** The result of calling {@link #map(Function)} on another async iterable. */ 23 | public interface MappedAsyncPagingIterable 24 | extends AsyncPagingIterable> {} 25 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/api/core/MavenCoordinates.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.core; 19 | 20 | import edu.umd.cs.findbugs.annotations.NonNull; 21 | 22 | public interface MavenCoordinates { 23 | 24 | @NonNull 25 | String getGroupId(); 26 | 27 | @NonNull 28 | String getArtifactId(); 29 | 30 | @NonNull 31 | Version getVersion(); 32 | 33 | @NonNull 34 | String getName(); 35 | } 36 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/api/core/auth/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | /** 19 | * Support for authentication between the driver and Cassandra nodes. 20 | * 21 | *

Authentication is performed on each newly open connection. It is customizable via the {@link 22 | * com.datastax.oss.driver.api.core.auth.AuthProvider} interface. 23 | */ 24 | package com.datastax.oss.driver.api.core.auth; 25 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/api/core/config/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | /** 19 | * The configuration of the driver. 20 | * 21 | *

The public API is completely agnostic to the underlying implementation (where the 22 | * configuration is loaded from, what framework is used...). 23 | */ 24 | package com.datastax.oss.driver.api.core.config; 25 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/api/core/connection/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | /** 19 | * Types related to a connection to a Cassandra node. 20 | * 21 | *

The driver generally connects to multiple nodes, and may keep multiple connections to each 22 | * node. 23 | */ 24 | package com.datastax.oss.driver.api.core.connection; 25 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/api/core/cql/BatchableStatement.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.core.cql; 19 | 20 | /** 21 | * A statement that can be added to a CQL batch. 22 | * 23 | * @param the "self type" used for covariant returns in subtypes. 24 | */ 25 | public interface BatchableStatement> 26 | extends Statement {} 27 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/api/core/metadata/schema/ClusteringOrder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.core.metadata.schema; 19 | 20 | /** The order of a clustering column in a table or materialized view. */ 21 | public enum ClusteringOrder { 22 | ASC, 23 | DESC 24 | } 25 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/api/core/metadata/schema/IndexKind.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.core.metadata.schema; 19 | 20 | /** A kind of index in the schema. */ 21 | public enum IndexKind { 22 | KEYS, 23 | CUSTOM, 24 | COMPOSITES 25 | } 26 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/api/core/metadata/token/Token.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.core.metadata.token; 19 | 20 | /** A token on the ring. */ 21 | public interface Token extends Comparable {} 22 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/api/core/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | /** The core API of the driver, that deals with query execution and cluster metadata. */ 19 | package com.datastax.oss.driver.api.core; 20 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/api/core/ssl/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | /** Support for secured communication between the driver and Cassandra nodes. */ 19 | package com.datastax.oss.driver.api.core.ssl; 20 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/api/core/type/ContainerType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.core.type; 19 | 20 | import edu.umd.cs.findbugs.annotations.NonNull; 21 | 22 | /** 23 | * Representation of a type which "contains" some other type. This might be a collection type or it 24 | * could be some other kind of container; the term is deliberately left somewhat vague. 25 | */ 26 | public interface ContainerType { 27 | 28 | @NonNull 29 | DataType getElementType(); 30 | } 31 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/api/core/type/VectorType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.core.type; 19 | 20 | /** 21 | * Type representing a Cassandra vector type as described in CEP-30. At the moment this is 22 | * implemented as a custom type so we include the CustomType interface as well. 23 | */ 24 | public interface VectorType extends CustomType, ContainerType { 25 | 26 | int getDimensions(); 27 | } 28 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/api/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | /** 19 | * The driver's public API. 20 | * 21 | *

This package, and all of its subpackages, contains all the types that are intended to be used 22 | * by clients applications. Binary compatibility is guaranteed across minor versions. 23 | */ 24 | package com.datastax.oss.driver.api; 25 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/adminrequest/UnexpectedResponseException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.adminrequest; 19 | 20 | import com.datastax.oss.protocol.internal.Message; 21 | 22 | public class UnexpectedResponseException extends Exception { 23 | 24 | public final Message message; 25 | 26 | public UnexpectedResponseException(String requestName, Message message) { 27 | super(String.format("%s got unexpected response %s", requestName, message)); 28 | this.message = message; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/channel/EventCallback.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.channel; 19 | 20 | import com.datastax.oss.protocol.internal.Message; 21 | 22 | public interface EventCallback { 23 | /** Invoked when a protocol event is received. */ 24 | void onEvent(Message event); 25 | } 26 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/channel/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | /** Handling of a single connection to a Cassandra node. */ 19 | package com.datastax.oss.driver.internal.core.channel; 20 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/config/ConfigChangeEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.config; 19 | 20 | /** An event triggered when the configuration was changed. */ 21 | public enum ConfigChangeEvent { 22 | // Implementation note: to find where this event is consumed, look for references to the class 23 | // itself, not INSTANCE (EventBus.register takes a class not an object). 24 | INSTANCE 25 | } 26 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/config/typesafe/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | /** 19 | * Implementation of the driver configuration based on the Typesafe config library. 21 | */ 22 | package com.datastax.oss.driver.internal.core.config.typesafe; 23 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/cql/ResultSets.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.cql; 19 | 20 | import com.datastax.oss.driver.api.core.cql.AsyncResultSet; 21 | import com.datastax.oss.driver.api.core.cql.ResultSet; 22 | 23 | public class ResultSets { 24 | public static ResultSet newInstance(AsyncResultSet firstPage) { 25 | return firstPage.hasMorePages() 26 | ? new MultiPageResultSet(firstPage) 27 | : new SinglePageResultSet(firstPage); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/metadata/TokensChangedRefresh.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.metadata; 19 | 20 | import com.datastax.oss.driver.internal.core.context.InternalDriverContext; 21 | import net.jcip.annotations.ThreadSafe; 22 | 23 | @ThreadSafe 24 | class TokensChangedRefresh implements MetadataRefresh { 25 | 26 | @Override 27 | public Result compute( 28 | DefaultMetadata oldMetadata, boolean tokenMapEnabled, InternalDriverContext context) { 29 | return new Result( 30 | oldMetadata.withNodes(oldMetadata.getNodes(), tokenMapEnabled, true, null, context)); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/metadata/schema/SchemaChangeType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.metadata.schema; 19 | 20 | public enum SchemaChangeType { 21 | CREATED, 22 | UPDATED, 23 | DROPPED, 24 | ; 25 | } 26 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/metadata/schema/parsing/SchemaParserFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.metadata.schema.parsing; 19 | 20 | import com.datastax.oss.driver.internal.core.metadata.schema.queries.SchemaRows; 21 | 22 | public interface SchemaParserFactory { 23 | SchemaParser newInstance(SchemaRows rows); 24 | } 25 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/metadata/schema/queries/SchemaQueriesFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.metadata.schema.queries; 19 | 20 | public interface SchemaQueriesFactory { 21 | SchemaQueries newInstance(); 22 | } 23 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/metadata/token/ReplicationStrategy.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.metadata.token; 19 | 20 | import com.datastax.oss.driver.api.core.metadata.Node; 21 | import com.datastax.oss.driver.api.core.metadata.token.Token; 22 | import java.util.List; 23 | import java.util.Map; 24 | import java.util.Set; 25 | 26 | public interface ReplicationStrategy { 27 | Map> computeReplicasByToken(Map tokenToPrimary, List ring); 28 | } 29 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/metadata/token/ReplicationStrategyFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.metadata.token; 19 | 20 | import java.util.Map; 21 | 22 | public interface ReplicationStrategyFactory { 23 | ReplicationStrategy newInstance(Map replicationConfig); 24 | } 25 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/metadata/token/TokenFactoryRegistry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.metadata.token; 19 | 20 | /** A thin layer of indirection to make token factories pluggable. */ 21 | public interface TokenFactoryRegistry { 22 | TokenFactory tokenFactoryFor(String partitioner); 23 | } 24 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/metrics/MetricsFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.metrics; 19 | 20 | import com.datastax.oss.driver.api.core.metadata.Node; 21 | import com.datastax.oss.driver.api.core.metrics.Metrics; 22 | import java.util.Optional; 23 | 24 | public interface MetricsFactory { 25 | 26 | Optional getMetrics(); 27 | 28 | /** @return the unique instance for this session (this must return the same object every time). */ 29 | SessionMetricUpdater getSessionUpdater(); 30 | 31 | NodeMetricUpdater newNodeUpdater(Node node); 32 | } 33 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/metrics/NodeMetricUpdater.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.metrics; 19 | 20 | import com.datastax.oss.driver.api.core.metrics.NodeMetric; 21 | 22 | public interface NodeMetricUpdater extends MetricUpdater {} 23 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/metrics/SessionMetricUpdater.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.metrics; 19 | 20 | import com.datastax.oss.driver.api.core.metrics.SessionMetric; 21 | 22 | public interface SessionMetricUpdater extends MetricUpdater {} 23 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/os/EmptyLibc.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.os; 19 | 20 | import java.util.Optional; 21 | 22 | /** A no-op NativeImpl implementation; useful if we can't load one of the others */ 23 | public class EmptyLibc implements Libc { 24 | 25 | @Override 26 | public boolean available() { 27 | return false; 28 | } 29 | 30 | @Override 31 | public Optional gettimeofday() { 32 | return Optional.empty(); 33 | } 34 | 35 | @Override 36 | public Optional getpid() { 37 | return Optional.empty(); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/os/Libc.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.os; 19 | 20 | import java.util.Optional; 21 | 22 | public interface Libc { 23 | 24 | /* Maintained to allow Native.isXAvailable() functionality without trying to make a native call if 25 | * the underlying support _is_ available. */ 26 | boolean available(); 27 | 28 | Optional gettimeofday(); 29 | 30 | Optional getpid(); 31 | } 32 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/protocol/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | /** Specialization of the native protocol layer for the driver, based on Netty. */ 19 | package com.datastax.oss.driver.internal.core.protocol; 20 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/servererrors/WriteTypeRegistry.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.servererrors; 19 | 20 | import com.datastax.oss.driver.api.core.servererrors.WriteType; 21 | 22 | public interface WriteTypeRegistry { 23 | WriteType fromName(String name); 24 | 25 | /** @return all the values known to this driver instance. */ 26 | Iterable getValues(); 27 | } 28 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/session/throttling/NanoClock.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.session.throttling; 19 | 20 | /** A thin wrapper around {@link System#nanoTime()}, to simplify testing. */ 21 | interface NanoClock { 22 | long nanoTime(); 23 | } 24 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/time/JavaClock.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.time; 19 | 20 | import net.jcip.annotations.ThreadSafe; 21 | 22 | @ThreadSafe 23 | public class JavaClock implements Clock { 24 | @Override 25 | public long currentTimeMicros() { 26 | return System.currentTimeMillis() * 1000; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/type/codec/CounterCodec.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.type.codec; 19 | 20 | import com.datastax.oss.driver.api.core.type.DataType; 21 | import com.datastax.oss.driver.api.core.type.DataTypes; 22 | import edu.umd.cs.findbugs.annotations.NonNull; 23 | import net.jcip.annotations.ThreadSafe; 24 | 25 | @ThreadSafe 26 | public class CounterCodec extends BigIntCodec { 27 | @NonNull 28 | @Override 29 | public DataType getCqlType() { 30 | return DataTypes.COUNTER; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/core/util/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | /** Internal utilities specific to Netty. */ 19 | package com.datastax.oss.driver.internal.core.util; 20 | -------------------------------------------------------------------------------- /core/src/main/java/com/datastax/oss/driver/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | /** 19 | * Internal implementation details of the driver. 20 | * 21 | *

The types present here (and in subpackages) should not be used from client applications. If 22 | * you decide to use them, do so at your own risk: binary compatibility is best-effort, and we 23 | * reserve the right to break things at any time. Documentation may be sparse. 24 | */ 25 | package com.datastax.oss.driver.internal; 26 | -------------------------------------------------------------------------------- /core/src/main/resources/META-INF/native-image/com.datastax.oss/java-driver-core/native-image.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | Args=-H:IncludeResources=reference\\.conf \ 19 | -H:IncludeResources=application\\.conf \ 20 | -H:IncludeResources=application\\.json \ 21 | -H:IncludeResources=application\\.properties \ 22 | -H:IncludeResources=.*Driver\\.properties \ 23 | -H:DynamicProxyConfigurationResources=${.}/proxy.json \ 24 | -H:ReflectionConfigurationResources=${.}/reflection.json \ 25 | --initialize-at-build-time=com.datastax.oss.driver.internal.core.util.Dependency 26 | -------------------------------------------------------------------------------- /core/src/main/resources/META-INF/native-image/com.datastax.oss/java-driver-core/proxy.json: -------------------------------------------------------------------------------- 1 | [ 2 | ["java.lang.reflect.TypeVariable"] 3 | ] 4 | -------------------------------------------------------------------------------- /core/src/main/resources/META-INF/services/reactor.blockhound.integration.BlockHoundIntegration: -------------------------------------------------------------------------------- 1 | com.datastax.oss.driver.internal.core.util.concurrent.DriverBlockHoundIntegration -------------------------------------------------------------------------------- /core/src/main/resources/com/datastax/oss/driver/Driver.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | # Note: properties files should be encoded in ISO-8859-1, but we keep this one 20 | # encoded in UTF-8 because that's much easier when building with Maven. 21 | 22 | driver.groupId=${project.groupId} 23 | driver.artifactId=${project.artifactId} 24 | driver.version=${project.version} 25 | # It would be better to use ${project.parent.name} here, but for some reason the bundle plugin 26 | # prevents that from being resolved correctly (unlike the project-level properties above). 27 | # The value is not likely to change, so we simply hard-code it: 28 | driver.name=Apache Cassandra Java Driver 29 | -------------------------------------------------------------------------------- /core/src/test/java/com/datastax/dse/driver/Assertions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver; 19 | 20 | import org.apache.tinkerpop.gremlin.structure.io.Buffer; 21 | 22 | public class Assertions extends org.assertj.core.api.Assertions { 23 | public static TinkerpopBufferAssert assertThat(Buffer actual) { 24 | return new TinkerpopBufferAssert(actual); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /core/src/test/java/com/datastax/dse/driver/internal/DependencyCheckTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.internal; 19 | 20 | import java.nio.file.Path; 21 | import java.nio.file.Paths; 22 | 23 | public class DependencyCheckTest extends DependencyCheckTestBase { 24 | 25 | @Override 26 | protected Path getDepsTxtPath() { 27 | return Paths.get( 28 | getBaseResourcePathString(), 29 | "target", 30 | "classes", 31 | "com", 32 | "datastax", 33 | "dse", 34 | "driver", 35 | "internal", 36 | "deps.txt"); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /core/src/test/java/com/datastax/oss/driver/api/core/paging/OffsetPagerSyncTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.core.paging; 19 | 20 | public class OffsetPagerSyncTest extends OffsetPagerTestBase { 21 | 22 | @Override 23 | protected OffsetPager.Page getActualPage( 24 | OffsetPager pager, OffsetPagerTestFixture fixture, /*ignored*/ int fetchSize) { 25 | return pager.getPage(fixture.getSyncIterable(), fixture.getRequestedPage()); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /core/src/test/java/com/datastax/oss/driver/internal/core/config/MockOptions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.config; 19 | 20 | import com.datastax.oss.driver.api.core.config.DriverOption; 21 | import edu.umd.cs.findbugs.annotations.NonNull; 22 | 23 | public enum MockOptions implements DriverOption { 24 | INT1("int1"), 25 | INT2("int2"), 26 | AUTH_PROVIDER("auth_provider"), 27 | ; 28 | 29 | private final String path; 30 | 31 | MockOptions(String path) { 32 | this.path = path; 33 | } 34 | 35 | @NonNull 36 | @Override 37 | public String getPath() { 38 | return path; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /core/src/test/java/com/datastax/oss/driver/internal/core/config/MockTypedOptions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.config; 19 | 20 | import com.datastax.oss.driver.api.core.config.TypedDriverOption; 21 | import com.datastax.oss.driver.api.core.type.reflect.GenericType; 22 | 23 | public class MockTypedOptions { 24 | public static final TypedDriverOption INT1 = 25 | new TypedDriverOption<>(MockOptions.INT1, GenericType.INTEGER); 26 | public static final TypedDriverOption INT2 = 27 | new TypedDriverOption<>(MockOptions.INT2, GenericType.INTEGER); 28 | } 29 | -------------------------------------------------------------------------------- /core/src/test/java/com/datastax/oss/driver/internal/core/os/NativeTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.os; 19 | 20 | import static org.assertj.core.api.Assertions.assertThat; 21 | 22 | import org.junit.Test; 23 | 24 | public class NativeTest { 25 | 26 | /** Verifies that {@link Native#getCpu()} returns non-empty cpu architecture */ 27 | @Test 28 | public void should_return_cpu_info() { 29 | assertThat(Native.getCpu()).isNotEmpty(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /core/src/test/java/com/datastax/oss/driver/internal/core/session/throttling/SettableNanoClock.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.session.throttling; 19 | 20 | class SettableNanoClock implements NanoClock { 21 | 22 | private volatile long nanoTime; 23 | 24 | @Override 25 | public long nanoTime() { 26 | return nanoTime; 27 | } 28 | 29 | // This is racy, but in our tests it's never read concurrently 30 | @SuppressWarnings({"NonAtomicVolatileUpdate", "NonAtomicOperationOnVolatileField"}) 31 | void add(long increment) { 32 | nanoTime += increment; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /core/src/test/java/com/datastax/oss/driver/internal/core/util/collection/SimpleQueryPlanTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.core.util.collection; 19 | 20 | import com.datastax.oss.driver.api.core.metadata.Node; 21 | import org.junit.runner.RunWith; 22 | import org.mockito.junit.MockitoJUnitRunner; 23 | 24 | @RunWith(MockitoJUnitRunner.class) 25 | public class SimpleQueryPlanTest extends QueryPlanTestBase { 26 | 27 | @Override 28 | protected QueryPlan newQueryPlan(Node... nodes) { 29 | return new SimpleQueryPlan((Object[]) nodes); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /core/src/test/resources/ReloadingKeyManagerFactoryTest/certs/client-alternate.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/cassandra-java-driver/c9facc3c36e7ba0b1d30fb9b10de69f879d34fb5/core/src/test/resources/ReloadingKeyManagerFactoryTest/certs/client-alternate.keystore -------------------------------------------------------------------------------- /core/src/test/resources/ReloadingKeyManagerFactoryTest/certs/client-original.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/cassandra-java-driver/c9facc3c36e7ba0b1d30fb9b10de69f879d34fb5/core/src/test/resources/ReloadingKeyManagerFactoryTest/certs/client-original.keystore -------------------------------------------------------------------------------- /core/src/test/resources/ReloadingKeyManagerFactoryTest/certs/client.truststore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/cassandra-java-driver/c9facc3c36e7ba0b1d30fb9b10de69f879d34fb5/core/src/test/resources/ReloadingKeyManagerFactoryTest/certs/client.truststore -------------------------------------------------------------------------------- /core/src/test/resources/ReloadingKeyManagerFactoryTest/certs/server.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/cassandra-java-driver/c9facc3c36e7ba0b1d30fb9b10de69f879d34fb5/core/src/test/resources/ReloadingKeyManagerFactoryTest/certs/server.keystore -------------------------------------------------------------------------------- /core/src/test/resources/ReloadingKeyManagerFactoryTest/certs/server.truststore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/cassandra-java-driver/c9facc3c36e7ba0b1d30fb9b10de69f879d34fb5/core/src/test/resources/ReloadingKeyManagerFactoryTest/certs/server.truststore -------------------------------------------------------------------------------- /core/src/test/resources/application.conf: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | datastax-java-driver { 19 | basic.request.timeout = ${datastax-java-driver.advanced.connection.init-query-timeout} 20 | } 21 | -------------------------------------------------------------------------------- /core/src/test/resources/config/cloud/creds.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/cassandra-java-driver/c9facc3c36e7ba0b1d30fb9b10de69f879d34fb5/core/src/test/resources/config/cloud/creds.zip -------------------------------------------------------------------------------- /core/src/test/resources/config/cloud/identity.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/cassandra-java-driver/c9facc3c36e7ba0b1d30fb9b10de69f879d34fb5/core/src/test/resources/config/cloud/identity.jks -------------------------------------------------------------------------------- /core/src/test/resources/config/cloud/metadata.json: -------------------------------------------------------------------------------- 1 | {"region":"local","contact_info":{"type":"sni_proxy","local_dc":"dc1","contact_points":["4ac06655-f861-49f9-881e-3fee22e69b94","2af7c253-3394-4a0d-bfac-f1ad81b5154d","b17b6e2a-3f48-4d6a-81c1-20a0a1f3192a"],"sni_proxy_address":"localhost:30002"}} 2 | -------------------------------------------------------------------------------- /core/src/test/resources/config/cloud/trustStore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/cassandra-java-driver/c9facc3c36e7ba0b1d30fb9b10de69f879d34fb5/core/src/test/resources/config/cloud/trustStore.jks -------------------------------------------------------------------------------- /core/src/test/resources/config/customApplication.conf: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | datastax-java-driver { 19 | // Check that references to other options in `reference.conf` are correctly resolved 20 | basic.request.timeout = ${datastax-java-driver.advanced.connection.init-query-timeout} 21 | 22 | advanced.continuous-paging.max-pages = 10 23 | } 24 | -------------------------------------------------------------------------------- /core/src/test/resources/config/customApplication.json: -------------------------------------------------------------------------------- 1 | { 2 | "datastax-java-driver": { 3 | "basic": { 4 | "request": { 5 | "page-size": "2000" 6 | } 7 | }, 8 | "advanced": { 9 | "continuous-paging": { 10 | "page-size": 2000 11 | } 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /core/src/test/resources/config/customApplication.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | datastax-java-driver.basic.request.consistency=ONE 20 | datastax-java-driver.advanced.continuous-paging.max-enqueued-pages = 8 -------------------------------------------------------------------------------- /core/src/test/resources/insights/duplicate-dependencies.txt: -------------------------------------------------------------------------------- 1 | io.netty:netty-handler:jar:4.0.56.Final:compile 2 | io.netty:netty-handler:jar:4.1.2.Final:compile -------------------------------------------------------------------------------- /core/src/test/resources/insights/malformed-pom.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | #Created by Apache Maven 3.5.0 20 | #no version 21 | groupId=io.netty 22 | artifactId=netty-handler -------------------------------------------------------------------------------- /core/src/test/resources/insights/netty-dependency-optional.txt: -------------------------------------------------------------------------------- 1 | io.netty:netty-handler:jar:4.0.0.Final:compile (optional) -------------------------------------------------------------------------------- /core/src/test/resources/insights/netty-dependency.txt: -------------------------------------------------------------------------------- 1 | io.netty:netty-handler:jar:4.0.0.Final:runtime -------------------------------------------------------------------------------- /core/src/test/resources/insights/ordered-dependencies.txt: -------------------------------------------------------------------------------- 1 | b-org.com:art1:jar:1.0:compile 2 | a-org.com:art1:jar:2.0:compile 3 | c-org.com:art1:jar:3.0:compile -------------------------------------------------------------------------------- /core/src/test/resources/insights/pom.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | #Created by Apache Maven 3.5.0 20 | version=4.0.56.Final 21 | groupId=io.netty 22 | artifactId=netty-handler 23 | 24 | -------------------------------------------------------------------------------- /core/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 21 | 22 | 23 | 24 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /core/src/test/resources/project.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | project.basedir=${basedir} -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- 1 | 19 | 20 | # Java Driver for Apache Cassandra(R) - Examples 21 | 22 | This module contains examples of how to use the Java Driver for 23 | Apache Cassandra(R). 24 | 25 | ## Usage 26 | 27 | Unless otherwise stated, all examples assume that you have a single-node Cassandra 3.0 cluster 28 | listening on localhost:9042. 29 | -------------------------------------------------------------------------------- /examples/src/main/resources/application.conf: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | datastax-java-driver { 19 | basic.contact-points = ["127.0.0.1:9042"] 20 | basic { 21 | load-balancing-policy { 22 | local-datacenter = datacenter1 23 | } 24 | } 25 | # need in LimitConcurrencyRequestThrottler example 26 | advanced.throttler { 27 | class = ConcurrencyLimitingRequestThrottler 28 | max-concurrent-requests = 32 29 | max-queue-size = 10000 30 | } 31 | 32 | advanced.request.warn-if-set-keyspace = false 33 | 34 | profiles { 35 | slow { 36 | basic.request.timeout = 10 seconds 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /examples/src/main/resources/cassandra_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/cassandra-java-driver/c9facc3c36e7ba0b1d30fb9b10de69f879d34fb5/examples/src/main/resources/cassandra_logo.png -------------------------------------------------------------------------------- /guava-shaded/src/main/java/com/google/common/primitives/UnsafeComparatorSubstitution.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.google.common.primitives; 19 | 20 | import com.oracle.svm.core.annotate.Delete; 21 | import com.oracle.svm.core.annotate.TargetClass; 22 | 23 | @TargetClass(UnsignedBytes.LexicographicalComparatorHolder.UnsafeComparator.class) 24 | @Delete 25 | final class UnsafeComparatorSubstitution {} 26 | -------------------------------------------------------------------------------- /guava-shaded/src/main/javadoc/README.txt: -------------------------------------------------------------------------------- 1 | This empty JAR is generated for compliance with Maven Central rules. Please refer to the original 2 | Guava API docs. -------------------------------------------------------------------------------- /integration-tests/src/test/java/com/datastax/oss/driver/example/guava/api/GuavaSessionUtils.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.example.guava.api; 19 | 20 | public class GuavaSessionUtils { 21 | public static GuavaSessionBuilder builder() { 22 | return new GuavaSessionBuilder(); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/com/datastax/oss/driver/example/guava/internal/DefaultGuavaSession.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.example.guava.internal; 19 | 20 | import com.datastax.oss.driver.api.core.session.Session; 21 | import com.datastax.oss.driver.example.guava.api.GuavaSession; 22 | import com.datastax.oss.driver.internal.core.session.SessionWrapper; 23 | 24 | public class DefaultGuavaSession extends SessionWrapper implements GuavaSession { 25 | 26 | public DefaultGuavaSession(Session delegate) { 27 | super(delegate); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /integration-tests/src/test/resources/META-INF/services/com.datastax.oss.driver.api.mapper.result.MapperResultProducerService: -------------------------------------------------------------------------------- 1 | com.datastax.oss.driver.mapper.GuavaFutureProducerService -------------------------------------------------------------------------------- /licenses/jnr-x86asm.txt: -------------------------------------------------------------------------------- 1 | 2 | Copyright (C) 2010 Wayne Meissner 3 | Copyright (c) 2008-2009, Petr Kobalicek 4 | 5 | Permission is hereby granted, free of charge, to any person 6 | obtaining a copy of this software and associated documentation 7 | files (the "Software"), to deal in the Software without 8 | restriction, including without limitation the rights to use, 9 | copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the 11 | Software is furnished to do so, subject to the following 12 | conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 19 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 20 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 21 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 22 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 23 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 24 | OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /licenses/reactive-streams.txt: -------------------------------------------------------------------------------- 1 | MIT No Attribution 2 | 3 | Copyright 2014 Reactive Streams 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /licenses/slf4j-api.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2004-2023 QOS.ch 2 | All rights reserved. 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining 5 | a copy of this software and associated documentation files (the 6 | "Software"), to deal in the Software without restriction, including 7 | without limitation the rights to use, copy, modify, merge, publish, 8 | distribute, sublicense, and/or sell copies of the Software, and to 9 | permit persons to whom the Software is furnished to do so, subject to 10 | the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 19 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 20 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 21 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /manual/.nav: -------------------------------------------------------------------------------- 1 | core 2 | query_builder 3 | mapper 4 | api_conventions 5 | case_sensitivity 6 | osgi 7 | cloud 8 | developer 9 | -------------------------------------------------------------------------------- /manual/README.md: -------------------------------------------------------------------------------- 1 | 19 | 20 | ## Manual 21 | 22 | Driver modules: 23 | 24 | * [Core](core/): the main entry point, deals with connectivity and query execution. 25 | * [Query builder](query_builder/): a fluent API to create CQL queries programmatically. 26 | * [Mapper](mapper/): generates the boilerplate to execute queries and convert the results into 27 | application-level objects. 28 | * [Developer docs](developer/): explains the codebase and internal extension points for advanced 29 | customization. 30 | 31 | Common topics: 32 | 33 | * [API conventions](api_conventions/) 34 | * [Case sensitivity](case_sensitivity/) 35 | * [OSGi](osgi/) 36 | * [Cloud](cloud/) 37 | -------------------------------------------------------------------------------- /manual/core/dse/.nav: -------------------------------------------------------------------------------- 1 | graph 2 | geotypes -------------------------------------------------------------------------------- /manual/core/dse/README.md: -------------------------------------------------------------------------------- 1 | 19 | 20 | ## DSE-specific features 21 | 22 | Some driver features only work with DataStax Enterprise: 23 | 24 | * [Graph](graph/); 25 | * [Geospatial types](geotypes/); 26 | * Proxy and GSSAPI authentication (covered in the [Authentication](../authentication/) page). 27 | 28 | Note that, if you don't use these features, you might be able to exclude certain dependencies in 29 | order to limit the number of JARs in your classpath. See the 30 | [Integration](../integration/#driver-dependencies) page. 31 | -------------------------------------------------------------------------------- /manual/core/dse/graph/.nav: -------------------------------------------------------------------------------- 1 | script 2 | fluent 3 | fluent 4 | options 5 | results -------------------------------------------------------------------------------- /manual/core/dse/graph/fluent/.nav: -------------------------------------------------------------------------------- 1 | explicit 2 | implicit -------------------------------------------------------------------------------- /manual/core/statements/.nav: -------------------------------------------------------------------------------- 1 | simple 2 | prepared 3 | batch -------------------------------------------------------------------------------- /manual/developer/.nav: -------------------------------------------------------------------------------- 1 | common 2 | native_protocol 3 | netty_pipeline 4 | request_execution 5 | admin 6 | -------------------------------------------------------------------------------- /manual/developer/common/.nav: -------------------------------------------------------------------------------- 1 | context 2 | concurrency 3 | event_bus 4 | -------------------------------------------------------------------------------- /manual/developer/common/README.md: -------------------------------------------------------------------------------- 1 | 19 | 20 | ## Common infrastructure 21 | 22 | This covers utilities or concept that are shared throughout the codebase: 23 | 24 | * the [context](context/) is what glues everything together, and your primary entry point to extend 25 | the driver. 26 | * we explain the two major approaches to deal with [concurrency](concurrency/) in the driver. 27 | * the [event bus](event_bus/) is used to decouple some of the internal components through 28 | asynchronous messaging. 29 | -------------------------------------------------------------------------------- /manual/mapper/.nav: -------------------------------------------------------------------------------- 1 | entities 2 | daos 3 | mapper 4 | config 5 | custom_types -------------------------------------------------------------------------------- /manual/mapper/daos/.nav: -------------------------------------------------------------------------------- 1 | delete 2 | getentity 3 | insert 4 | query 5 | queryprovider 6 | select 7 | setentity 8 | update 9 | increment 10 | null_saving 11 | statement_attributes -------------------------------------------------------------------------------- /manual/query_builder/.nav: -------------------------------------------------------------------------------- 1 | select 2 | insert 3 | update 4 | batch 5 | delete 6 | truncate 7 | relation 8 | condition 9 | term 10 | idempotence 11 | schema -------------------------------------------------------------------------------- /manual/query_builder/schema/.nav: -------------------------------------------------------------------------------- 1 | keyspace 2 | table 3 | index 4 | materialized_view 5 | type 6 | function 7 | aggregate -------------------------------------------------------------------------------- /mapper-processor/src/main/java/com/datastax/oss/driver/internal/mapper/processor/CodeGenerator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.mapper.processor; 19 | 20 | /** A component that generates one or more source files. */ 21 | public interface CodeGenerator { 22 | void generate(); 23 | } 24 | -------------------------------------------------------------------------------- /mapper-processor/src/main/java/com/datastax/oss/driver/internal/mapper/processor/dao/DaoReturnTypeParser.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.mapper.processor.dao; 19 | 20 | import edu.umd.cs.findbugs.annotations.NonNull; 21 | import java.util.Map; 22 | import javax.lang.model.element.Name; 23 | import javax.lang.model.element.TypeElement; 24 | import javax.lang.model.type.TypeMirror; 25 | 26 | public interface DaoReturnTypeParser { 27 | @NonNull 28 | DaoReturnType parse( 29 | @NonNull TypeMirror returnTypeMirror, @NonNull Map typeParameters); 30 | } 31 | -------------------------------------------------------------------------------- /mapper-processor/src/main/java/com/datastax/oss/driver/internal/mapper/processor/entity/EntityFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.mapper.processor.entity; 19 | 20 | import com.datastax.oss.driver.api.mapper.annotations.Entity; 21 | import javax.lang.model.element.TypeElement; 22 | 23 | public interface EntityFactory { 24 | 25 | /** 26 | * Parses an {@link Entity}-annotated POJO and returns a descriptor of its properties and 27 | * annotations. 28 | */ 29 | EntityDefinition getDefinition(TypeElement processedClass); 30 | } 31 | -------------------------------------------------------------------------------- /mapper-processor/src/main/resources/META-INF/services/javax.annotation.processing.Processor: -------------------------------------------------------------------------------- 1 | com.datastax.oss.driver.internal.mapper.processor.MapperProcessor 2 | -------------------------------------------------------------------------------- /mapper-processor/src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 21 | 22 | 23 | 24 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /mapper-processor/src/test/resources/project.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | project.basedir=${basedir} -------------------------------------------------------------------------------- /mapper-runtime/src/test/resources/project.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | project.basedir=${basedir} -------------------------------------------------------------------------------- /metrics/micrometer/src/main/resources/META-INF/native-image/com.datastax.oss/java-driver-metrics-micrometer/native-image.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | Args = -H:ReflectionConfigurationResources=${.}/reflection.json 19 | -------------------------------------------------------------------------------- /metrics/micrometer/src/main/resources/META-INF/native-image/com.datastax.oss/java-driver-metrics-micrometer/reflection.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "com.datastax.oss.driver.internal.metrics.micrometer.MicrometerMetricsFactory", 4 | "methods": [ { "name": "", "parameterTypes": [ "com.datastax.oss.driver.api.core.context.DriverContext" ] } ] 5 | } 6 | ] 7 | -------------------------------------------------------------------------------- /metrics/microprofile/src/main/resources/META-INF/native-image/com.datastax.oss/java-driver-metrics-microprofile/native-image.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | Args = -H:ReflectionConfigurationResources=${.}/reflection.json 19 | -------------------------------------------------------------------------------- /metrics/microprofile/src/main/resources/META-INF/native-image/com.datastax.oss/java-driver-metrics-microprofile/reflection.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "com.datastax.oss.driver.internal.metrics.microprofile.MicroProfileMetricsFactory", 4 | "methods": [ { "name": "", "parameterTypes": [ "com.datastax.oss.driver.api.core.context.DriverContext" ] } ] 5 | } 6 | ] 7 | -------------------------------------------------------------------------------- /osgi-tests/src/main/java/com/datastax/oss/driver/api/osgi/CustomRetryPolicy.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.osgi; 19 | 20 | import com.datastax.oss.driver.api.core.context.DriverContext; 21 | import com.datastax.oss.driver.internal.core.retry.DefaultRetryPolicy; 22 | 23 | public class CustomRetryPolicy extends DefaultRetryPolicy { 24 | 25 | public CustomRetryPolicy(DriverContext context, String profileName) { 26 | super(context, profileName); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /osgi-tests/src/main/java/com/datastax/oss/driver/api/osgi/service/MailboxException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.osgi.service; 19 | 20 | public class MailboxException extends Exception { 21 | 22 | public MailboxException(Throwable cause) { 23 | super("Failure interacting with Mailbox", cause); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /osgi-tests/src/main/java/com/datastax/oss/driver/api/osgi/service/geo/GeoMailboxService.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.osgi.service.geo; 19 | 20 | import com.datastax.oss.driver.api.osgi.service.MailboxException; 21 | import com.datastax.oss.driver.api.osgi.service.MailboxService; 22 | 23 | public interface GeoMailboxService extends MailboxService { 24 | 25 | void sendGeoMessage(GeoMailboxMessage message) throws MailboxException; 26 | 27 | Iterable getGeoMessages(String recipient) throws MailboxException; 28 | 29 | void clearGeoMailbox(String recipient) throws MailboxException; 30 | } 31 | -------------------------------------------------------------------------------- /osgi-tests/src/main/java/com/datastax/oss/driver/api/osgi/service/graph/GraphMailboxService.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.osgi.service.graph; 19 | 20 | import com.datastax.oss.driver.api.osgi.service.MailboxException; 21 | import com.datastax.oss.driver.api.osgi.service.MailboxMessage; 22 | import com.datastax.oss.driver.api.osgi.service.MailboxService; 23 | 24 | public interface GraphMailboxService extends MailboxService { 25 | 26 | void sendGraphMessage(MailboxMessage message) throws MailboxException; 27 | 28 | Iterable getGraphMessages(String recipient) throws MailboxException; 29 | } 30 | -------------------------------------------------------------------------------- /osgi-tests/src/main/java/com/datastax/oss/driver/internal/osgi/service/MailboxMapper.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.osgi.service; 19 | 20 | import com.datastax.oss.driver.api.core.CqlIdentifier; 21 | import com.datastax.oss.driver.api.mapper.annotations.DaoFactory; 22 | import com.datastax.oss.driver.api.mapper.annotations.DaoKeyspace; 23 | import com.datastax.oss.driver.api.mapper.annotations.Mapper; 24 | 25 | @Mapper 26 | public interface MailboxMapper { 27 | 28 | @DaoFactory 29 | MailboxMessageDao mailboxMessageDao(@DaoKeyspace CqlIdentifier keyspace); 30 | } 31 | -------------------------------------------------------------------------------- /osgi-tests/src/main/java/com/datastax/oss/driver/internal/osgi/service/geo/GeoMailboxMapper.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.osgi.service.geo; 19 | 20 | import com.datastax.oss.driver.api.core.CqlIdentifier; 21 | import com.datastax.oss.driver.api.mapper.annotations.DaoFactory; 22 | import com.datastax.oss.driver.api.mapper.annotations.DaoKeyspace; 23 | import com.datastax.oss.driver.api.mapper.annotations.Mapper; 24 | 25 | @Mapper 26 | public interface GeoMailboxMapper { 27 | 28 | @DaoFactory 29 | GeoMailboxMessageDao mailboxMessageDao(@DaoKeyspace CqlIdentifier keyspace); 30 | } 31 | -------------------------------------------------------------------------------- /osgi-tests/src/main/java/com/datastax/oss/driver/internal/osgi/service/reactive/ReactiveMailboxMapper.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.osgi.service.reactive; 19 | 20 | import com.datastax.oss.driver.api.core.CqlIdentifier; 21 | import com.datastax.oss.driver.api.mapper.annotations.DaoFactory; 22 | import com.datastax.oss.driver.api.mapper.annotations.DaoKeyspace; 23 | import com.datastax.oss.driver.api.mapper.annotations.Mapper; 24 | 25 | @Mapper 26 | public interface ReactiveMailboxMapper { 27 | 28 | @DaoFactory 29 | ReactiveMailboxMessageDao mailboxMessageDao(@DaoKeyspace CqlIdentifier keyspace); 30 | } 31 | -------------------------------------------------------------------------------- /osgi-tests/src/test/resources/exam.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | pax.exam.system=test 20 | pax.exam.logging=none -------------------------------------------------------------------------------- /performance/ctool-cluster-info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/cassandra-java-driver/c9facc3c36e7ba0b1d30fb9b10de69f879d34fb5/performance/ctool-cluster-info.png -------------------------------------------------------------------------------- /pre-commit.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | 19 | # STASH_NAME="pre-commit-$(date +%s)" 20 | # git stash save --keep-index $STASH_NAME 21 | 22 | mvn clean test 23 | RESULT=$? 24 | 25 | # STASHES=$(git stash list) 26 | # if [[ $STASHES == *$STASH_NAME* ]]; then 27 | # git stash pop 28 | # fi 29 | 30 | [ $RESULT -ne 0 ] && exit 1 31 | exit 0 32 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/dse/driver/api/querybuilder/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | /** 19 | * This package effectively mirrors the Cassandra OSS Query Builder package to allow DSE extended 20 | * schema and query building for the DSE driver. In general, a class in this package should simply 21 | * extend the equivalent class in the OSS driver and add extended functionality. 22 | */ 23 | package com.datastax.dse.driver.api.querybuilder; 24 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/dse/driver/api/querybuilder/schema/AlterDseTableAddColumnEnd.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | 22 | public interface AlterDseTableAddColumnEnd extends AlterDseTableAddColumn, BuildableQuery {} 23 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/dse/driver/api/querybuilder/schema/AlterDseTableDropColumnEnd.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | 22 | public interface AlterDseTableDropColumnEnd extends AlterDseTableDropColumn, BuildableQuery {} 23 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/dse/driver/api/querybuilder/schema/AlterDseTableRenameColumnEnd.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | 22 | public interface AlterDseTableRenameColumnEnd extends AlterDseTableRenameColumn, BuildableQuery {} 23 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/dse/driver/api/querybuilder/schema/AlterDseTableWithOptions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.api.querybuilder.schema; 19 | 20 | public interface AlterDseTableWithOptions extends DseRelationOptions {} 21 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/dse/driver/api/querybuilder/schema/AlterDseTableWithOptionsEnd.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | 22 | public interface AlterDseTableWithOptionsEnd 23 | extends DseRelationOptions, BuildableQuery {} 24 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/dse/driver/api/querybuilder/schema/CreateDseFunctionEnd.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | 22 | public interface CreateDseFunctionEnd extends BuildableQuery {} 23 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/dse/driver/api/querybuilder/schema/CreateDseTableStart.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.api.querybuilder.schema; 19 | 20 | import edu.umd.cs.findbugs.annotations.NonNull; 21 | 22 | public interface CreateDseTableStart extends OngoingDsePartitionKey { 23 | 24 | /** 25 | * Adds IF NOT EXISTS to the create table specification. This indicates that the table should not 26 | * be created if it already exists. 27 | */ 28 | @NonNull 29 | CreateDseTableStart ifNotExists(); 30 | } 31 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/dse/driver/api/querybuilder/schema/CreateDseTableWithOptions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | import edu.umd.cs.findbugs.annotations.NonNull; 22 | 23 | public interface CreateDseTableWithOptions 24 | extends BuildableQuery, 25 | DseRelationStructure, 26 | DseTableGraphOptions { 27 | 28 | /** Enables COMPACT STORAGE in the CREATE TABLE statement. */ 29 | @NonNull 30 | CreateDseTableWithOptions withCompactStorage(); 31 | } 32 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/dse/driver/api/querybuilder/schema/DseRelationOptions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.schema.RelationOptions; 21 | 22 | public interface DseRelationOptions> 23 | extends RelationOptions {} 24 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/dse/driver/api/querybuilder/schema/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | /** 19 | * This package effectively mirrors the Cassandra OSS Schema interfaces to allow extended schema and 20 | * query building for the DSE driver. NOTE: Changes made to the OSS driver will need to be mirrored 21 | * here if the OSS driver changes affect an extended schema build strategy for the DSE driver. 22 | */ 23 | package com.datastax.dse.driver.api.querybuilder.schema; 24 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/dse/driver/internal/querybuilder/schema/DseTableGraphOperationType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.internal.querybuilder.schema; 19 | 20 | public enum DseTableGraphOperationType { 21 | WITH, 22 | WITHOUT 23 | } 24 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/dse/driver/internal/querybuilder/schema/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | /** 19 | * This package effectively mirrors the Cassandra OSS default query and schema implementations to 20 | * allow extended schema and query building for the DSE driver. In general, a class in this package 21 | * will need to implement the DSE equivalent interfaces for any DSE specific extensions. 22 | */ 23 | package com.datastax.dse.driver.internal.querybuilder.schema; 24 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/CqlSnippet.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder; 19 | 20 | import edu.umd.cs.findbugs.annotations.NonNull; 21 | 22 | /** An element in the query builder DSL, that will generate part of a CQL query. */ 23 | public interface CqlSnippet { 24 | void appendTo(@NonNull StringBuilder builder); 25 | } 26 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/condition/ConditionBuilder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.condition; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.relation.ArithmeticRelationBuilder; 21 | import com.datastax.oss.driver.api.querybuilder.relation.InRelationBuilder; 22 | 23 | public interface ConditionBuilder 24 | extends ArithmeticRelationBuilder, InRelationBuilder {} 25 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/delete/Delete.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.delete; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | import com.datastax.oss.driver.api.querybuilder.condition.ConditionalStatement; 22 | import com.datastax.oss.driver.api.querybuilder.relation.OngoingWhereClause; 23 | 24 | /** A complete DELETE statement, with at least one WHERE clause. */ 25 | public interface Delete 26 | extends OngoingWhereClause, ConditionalStatement, BuildableQuery {} 27 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/insert/RegularInsert.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.insert; 19 | 20 | /** A regular (not JSON) INSERT statement. */ 21 | public interface RegularInsert extends OngoingValues, Insert {} 22 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/relation/ColumnComponentRelationBuilder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.relation; 19 | 20 | public interface ColumnComponentRelationBuilder 21 | extends ArithmeticRelationBuilder {} 22 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/relation/MultiColumnRelationBuilder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.relation; 19 | 20 | public interface MultiColumnRelationBuilder 21 | extends ArithmeticRelationBuilder, InRelationBuilder {} 22 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/relation/TokenRelationBuilder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.relation; 19 | 20 | public interface TokenRelationBuilder extends ArithmeticRelationBuilder {} 21 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/AlterKeyspace.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | 22 | public interface AlterKeyspace 23 | extends BuildableQuery, 24 | KeyspaceOptions, 25 | KeyspaceReplicationOptions {} 26 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/AlterKeyspaceStart.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | public interface AlterKeyspaceStart 21 | extends KeyspaceOptions, KeyspaceReplicationOptions {} 22 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/AlterMaterializedView.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | 22 | public interface AlterMaterializedView 23 | extends RelationOptions, BuildableQuery {} 24 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/AlterMaterializedViewStart.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | public interface AlterMaterializedViewStart extends RelationOptions {} 21 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/AlterTableAddColumnEnd.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | 22 | public interface AlterTableAddColumnEnd extends AlterTableAddColumn, BuildableQuery {} 23 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/AlterTableDropColumnEnd.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | 22 | public interface AlterTableDropColumnEnd extends AlterTableDropColumn, BuildableQuery {} 23 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/AlterTableRenameColumnEnd.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | 22 | public interface AlterTableRenameColumnEnd extends AlterTableRenameColumn, BuildableQuery {} 23 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/AlterTableWithOptions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | public interface AlterTableWithOptions extends RelationOptions {} 21 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/AlterTableWithOptionsEnd.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | 22 | public interface AlterTableWithOptionsEnd 23 | extends RelationOptions, BuildableQuery {} 24 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/AlterTypeRenameFieldEnd.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | 22 | public interface AlterTypeRenameFieldEnd extends AlterTypeRenameField, BuildableQuery {} 23 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/CreateFunctionEnd.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | 22 | public interface CreateFunctionEnd extends BuildableQuery {} 23 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/CreateKeyspace.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | 22 | public interface CreateKeyspace extends BuildableQuery, KeyspaceOptions {} 23 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/CreateKeyspaceStart.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | import edu.umd.cs.findbugs.annotations.NonNull; 21 | 22 | public interface CreateKeyspaceStart extends KeyspaceReplicationOptions { 23 | /** 24 | * Adds IF NOT EXISTS to the create keyspace specification. This indicates that the keyspace 25 | * should not be created it already exists. 26 | */ 27 | @NonNull 28 | CreateKeyspaceStart ifNotExists(); 29 | } 30 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/CreateMaterializedView.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | 22 | public interface CreateMaterializedView 23 | extends BuildableQuery, RelationStructure {} 24 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/CreateMaterializedViewSelectionWithColumns.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | public interface CreateMaterializedViewSelectionWithColumns 21 | extends CreateMaterializedViewSelection, CreateMaterializedViewWhereStart {} 22 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/CreateMaterializedViewWhere.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | public interface CreateMaterializedViewWhere 21 | extends CreateMaterializedViewWhereStart, CreateMaterializedViewPrimaryKeyStart {} 22 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/CreateMaterializedViewWhereStart.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.relation.OngoingWhereClause; 21 | 22 | public interface CreateMaterializedViewWhereStart 23 | extends OngoingWhereClause {} 24 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/CreateTableStart.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | import edu.umd.cs.findbugs.annotations.NonNull; 21 | 22 | public interface CreateTableStart extends OngoingPartitionKey { 23 | 24 | /** 25 | * Adds IF NOT EXISTS to the create table specification. This indicates that the table should not 26 | * be created if it already exists. 27 | */ 28 | @NonNull 29 | CreateTableStart ifNotExists(); 30 | } 31 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/CreateType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | 22 | public interface CreateType extends BuildableQuery, OngoingCreateType {} 23 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/CreateTypeStart.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | import edu.umd.cs.findbugs.annotations.NonNull; 21 | 22 | public interface CreateTypeStart extends OngoingCreateType { 23 | 24 | /** 25 | * Adds IF NOT EXISTS to the create type specification. This indicates that the type should not be 26 | * created if it already exists. 27 | */ 28 | @NonNull 29 | CreateTypeStart ifNotExists(); 30 | } 31 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/Drop.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | import edu.umd.cs.findbugs.annotations.NonNull; 22 | 23 | public interface Drop extends BuildableQuery { 24 | 25 | /** Adds 'IF EXISTS" to the drop specification. */ 26 | @NonNull 27 | Drop ifExists(); 28 | } 29 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/compaction/LeveledCompactionStrategy.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.schema.compaction; 19 | 20 | import edu.umd.cs.findbugs.annotations.CheckReturnValue; 21 | import edu.umd.cs.findbugs.annotations.NonNull; 22 | 23 | public interface LeveledCompactionStrategy> 24 | extends CompactionStrategy { 25 | 26 | @NonNull 27 | @CheckReturnValue 28 | default SelfT withSSTableSizeInMB(int ssTableSizeInMB) { 29 | return withOption("sstable_size_in_mb", ssTableSizeInMB); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/truncate/Truncate.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.truncate; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | 22 | /** A buildable TRUNCATE statement. */ 23 | public interface Truncate extends BuildableQuery {} 24 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/update/UpdateWithAssignments.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder.update; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.relation.OngoingWhereClause; 21 | 22 | /** 23 | * An UPDATE statement that has at least one assignment. You can keep adding assignments, or add 24 | * WHERE clauses to get a buildable statement. 25 | */ 26 | public interface UpdateWithAssignments extends OngoingAssignment, OngoingWhereClause {} 27 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/internal/querybuilder/update/AppendAssignment.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.querybuilder.update; 19 | 20 | import com.datastax.oss.driver.api.core.CqlIdentifier; 21 | import com.datastax.oss.driver.api.querybuilder.term.Term; 22 | import edu.umd.cs.findbugs.annotations.NonNull; 23 | import net.jcip.annotations.Immutable; 24 | 25 | @Immutable 26 | public class AppendAssignment extends CollectionAssignment { 27 | 28 | public AppendAssignment(@NonNull CqlIdentifier columnId, @NonNull Term value) { 29 | super(columnId, Operator.APPEND, value); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/internal/querybuilder/update/DecrementAssignment.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.querybuilder.update; 19 | 20 | import com.datastax.oss.driver.api.core.CqlIdentifier; 21 | import com.datastax.oss.driver.api.querybuilder.term.Term; 22 | import edu.umd.cs.findbugs.annotations.NonNull; 23 | import net.jcip.annotations.Immutable; 24 | 25 | @Immutable 26 | public class DecrementAssignment extends CounterAssignment { 27 | 28 | public DecrementAssignment(@NonNull CqlIdentifier columnId, @NonNull Term value) { 29 | super(columnId, Operator.DECREMENT, value); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/internal/querybuilder/update/IncrementAssignment.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.querybuilder.update; 19 | 20 | import com.datastax.oss.driver.api.core.CqlIdentifier; 21 | import com.datastax.oss.driver.api.querybuilder.term.Term; 22 | import edu.umd.cs.findbugs.annotations.NonNull; 23 | import net.jcip.annotations.Immutable; 24 | 25 | @Immutable 26 | public class IncrementAssignment extends CounterAssignment { 27 | 28 | public IncrementAssignment(@NonNull CqlIdentifier columnId, @NonNull Term value) { 29 | super(columnId, Operator.INCREMENT, value); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/internal/querybuilder/update/PrependAssignment.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.querybuilder.update; 19 | 20 | import com.datastax.oss.driver.api.core.CqlIdentifier; 21 | import com.datastax.oss.driver.api.querybuilder.term.Term; 22 | import edu.umd.cs.findbugs.annotations.NonNull; 23 | import net.jcip.annotations.Immutable; 24 | 25 | @Immutable 26 | public class PrependAssignment extends CollectionAssignment { 27 | 28 | public PrependAssignment(@NonNull CqlIdentifier columnId, @NonNull Term prefix) { 29 | super(columnId, Operator.PREPEND, prefix); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /query-builder/src/main/java/com/datastax/oss/driver/internal/querybuilder/update/RemoveAssignment.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.internal.querybuilder.update; 19 | 20 | import com.datastax.oss.driver.api.core.CqlIdentifier; 21 | import com.datastax.oss.driver.api.querybuilder.term.Term; 22 | import edu.umd.cs.findbugs.annotations.NonNull; 23 | import net.jcip.annotations.Immutable; 24 | 25 | @Immutable 26 | public class RemoveAssignment extends CollectionAssignment { 27 | 28 | public RemoveAssignment(@NonNull CqlIdentifier columnId, @NonNull Term value) { 29 | super(columnId, Operator.REMOVE, value); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /query-builder/src/test/java/com/datastax/dse/driver/api/querybuilder/Assertions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.dse.driver.api.querybuilder; 19 | 20 | import com.datastax.oss.driver.api.querybuilder.BuildableQuery; 21 | import com.datastax.oss.driver.api.querybuilder.CqlSnippet; 22 | 23 | public class Assertions extends org.assertj.core.api.Assertions { 24 | 25 | public static BuildableQueryAssert assertThat(BuildableQuery actual) { 26 | return new BuildableQueryAssert(actual); 27 | } 28 | 29 | public static CqlSnippetAssert assertThat(CqlSnippet actual) { 30 | return new CqlSnippetAssert(actual); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /query-builder/src/test/java/com/datastax/oss/driver/api/querybuilder/Assertions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.querybuilder; 19 | 20 | public class Assertions extends org.assertj.core.api.Assertions { 21 | 22 | public static BuildableQueryAssert assertThat(BuildableQuery actual) { 23 | return new BuildableQueryAssert(actual); 24 | } 25 | 26 | public static CqlSnippetAssert assertThat(CqlSnippet actual) { 27 | return new CqlSnippetAssert(actual); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /query-builder/src/test/resources/project.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | project.basedir=${basedir} -------------------------------------------------------------------------------- /test-infra/src/main/java/com/datastax/oss/driver/api/testinfra/requirement/BackendRequirements.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.api.testinfra.requirement; 19 | 20 | import java.lang.annotation.Retention; 21 | import java.lang.annotation.RetentionPolicy; 22 | 23 | /** Annotation to allow @BackendRequirement to be repeatable. */ 24 | @Retention(RetentionPolicy.RUNTIME) 25 | public @interface BackendRequirements { 26 | BackendRequirement[] value(); 27 | } 28 | -------------------------------------------------------------------------------- /test-infra/src/main/java/com/datastax/oss/driver/assertions/Assertions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.assertions; 19 | 20 | import com.datastax.oss.driver.api.core.metadata.Node; 21 | 22 | public class Assertions extends org.assertj.core.api.Assertions { 23 | public static NodeMetadataAssert assertThat(Node actual) { 24 | return new NodeMetadataAssert(actual); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /test-infra/src/main/java/com/datastax/oss/driver/categories/IsolatedTests.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.categories; 19 | 20 | /** 21 | * Defines a classification of tests that should be run in their own jvm fork. 22 | * 23 | *

This is generally because they need to set system properties. 24 | */ 25 | public interface IsolatedTests {} 26 | -------------------------------------------------------------------------------- /test-infra/src/main/java/com/datastax/oss/driver/categories/ParallelizableTests.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.datastax.oss.driver.categories; 19 | 20 | import com.datastax.oss.driver.api.testinfra.ccm.CcmRule; 21 | import com.datastax.oss.driver.api.testinfra.ccm.CustomCcmRule; 22 | 23 | /** 24 | * Defines a classification of tests that can be run in parallel, namely: tests that use {@link 25 | * CcmRule} (not {@link CustomCcmRule}), and tests that use Simulacron. 26 | */ 27 | public interface ParallelizableTests {} 28 | -------------------------------------------------------------------------------- /test-infra/src/main/resources/client.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDqTCCApGgAwIBAgIERLZiJzANBgkqhkiG9w0BAQsFADCBhDELMAkGA1UEBhMCVVMxEzARBgNV 3 | BAgTCkNhbGlmb3JuaWExFDASBgNVBAcTC1NhbnRhIENsYXJhMRYwFAYDVQQKEw1EYXRhU3RheCBJ 4 | bmMuMRowGAYDVQQLExFEcml2ZXJzIGFuZCBUb29sczEWMBQGA1UEAxMNRHJpdmVyIENsaWVudDAe 5 | Fw0xNTAzMTIwMTA4MjRaFw0xNTA2MTAwMTA4MjRaMIGEMQswCQYDVQQGEwJVUzETMBEGA1UECBMK 6 | Q2FsaWZvcm5pYTEUMBIGA1UEBxMLU2FudGEgQ2xhcmExFjAUBgNVBAoTDURhdGFTdGF4IEluYy4x 7 | GjAYBgNVBAsTEURyaXZlcnMgYW5kIFRvb2xzMRYwFAYDVQQDEw1Ecml2ZXIgQ2xpZW50MIIBIjAN 8 | BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq0J0EoZQnOv2KRrvwA+1ZL9VZ3hDdQMwkDfitoGN 9 | B6upvMUZpf8W+ReQmaY6yacYJthHzsZTd3G97Bw81/3VNHQB9PnXGmbupMLVXeFXysSCs1nPEdJl 10 | TBbJXWHSh41AE4ejJaoCoTuigKGwI9lTbOOPDz/WMcio9nagsCJdsdG2+TxmR7RlyzEIANJ0wpnL 11 | JEIeJmRS2loLVuCU4lZ9hDLN57cP9jEVD4Hk2kJD4Exx7G9HQFH+/63H6XtEDZsJcYldR7yBNsGr 12 | pz9CupULCS1R40ePQEIlUXhM4ft/hsljQybLQvvfXNVTvk5WgY7LNaBJy6A/Tfg32SXEn3wUvwID 13 | AQABoyEwHzAdBgNVHQ4EFgQUt+JDOeziZzHNYTFU/FL9PhDGqSQwDQYJKoZIhvcNAQELBQADggEB 14 | ADOYpa1f9dPcVLq3RiMytajHo3YJ0AQqGRzVgngkeRFSdhyy/y+/8D0/V5s6QbNt/l6x3FxkoiTR 15 | 1Lptf96eylnS5AkGQTgogJP53cSNrqkDL0IyyvErSiATEXNpBKz6ivY+e5J1GLTfX9Ylu8limzIq 16 | Y6YBnr8fMLD6XWraxtzzkJ9NIPhhaz696rxqr8ix6uy0mgxR/7/jUglreimZkLW40/qiABgX7Evw 17 | UqpuJWmqNbQP9UXecx/UJ0hdxxxuxkZsoRoQwWYhkeT4aGCLJv/hjiNTfFAt23uHe0LVfW/HqykW 18 | KoEj8F08mJVe5ZfpjF974i5qO9PU9XxvLfLjNvo= 19 | -----END CERTIFICATE----- 20 | -------------------------------------------------------------------------------- /test-infra/src/main/resources/client.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/cassandra-java-driver/c9facc3c36e7ba0b1d30fb9b10de69f879d34fb5/test-infra/src/main/resources/client.keystore -------------------------------------------------------------------------------- /test-infra/src/main/resources/client.truststore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/cassandra-java-driver/c9facc3c36e7ba0b1d30fb9b10de69f879d34fb5/test-infra/src/main/resources/client.truststore -------------------------------------------------------------------------------- /test-infra/src/main/resources/server.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/cassandra-java-driver/c9facc3c36e7ba0b1d30fb9b10de69f879d34fb5/test-infra/src/main/resources/server.keystore -------------------------------------------------------------------------------- /test-infra/src/main/resources/server.truststore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/cassandra-java-driver/c9facc3c36e7ba0b1d30fb9b10de69f879d34fb5/test-infra/src/main/resources/server.truststore -------------------------------------------------------------------------------- /test-infra/src/main/resources/server_localhost.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/cassandra-java-driver/c9facc3c36e7ba0b1d30fb9b10de69f879d34fb5/test-infra/src/main/resources/server_localhost.keystore --------------------------------------------------------------------------------