Skip to content
Open
Show file tree
Hide file tree
Changes from 74 commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
e3fba03
release/redhat: fix typo
wprzytula Aug 6, 2025
c6839c5
docs: rename index.rst to contents.rst
wprzytula Jul 21, 2025
944995d
docs: delete the sample page
wprzytula Jul 21, 2025
280a427
conf.py: update site description
wprzytula Jul 23, 2025
cd6fd9e
import Doxyfile.in from cpp-driver
wprzytula Jul 23, 2025
0de457e
adjust Doxyfile.in from cpp-driver
wprzytula Aug 14, 2025
3084f52
docs: import topics from cpp-driver
wprzytula Jul 23, 2025
f1c05c2
codewide: Scylla -> ScyllaDB
wprzytula Jul 23, 2025
7a9370d
codewide: remove mentions of ancient Cassandras
wprzytula Jul 23, 2025
1d752f0
docs/tracing: fix typos
wprzytula Jul 23, 2025
bd78961
docs: delete cloud topic
wprzytula Jul 23, 2025
079149f
docs: remove DSE features documentation
wprzytula Jul 23, 2025
ad31cc5
docs: mention only currect default consistency
wprzytula Jul 23, 2025
935e23e
docs: adjust for default client-side timestamps
wprzytula Jul 23, 2025
51527b9
docs: describe default serial consistency
wprzytula Jul 23, 2025
6660d53
docs: describe callbacks limitations on blocking
wprzytula Jul 23, 2025
a557f1b
docs: add main index.md
wprzytula Jul 29, 2025
11c9827
docs: add API index.md
wprzytula Jul 29, 2025
344e512
docs: rename Features -> Overview
wprzytula Aug 1, 2025
3480705
docs: extract Observability
wprzytula Aug 1, 2025
b2d509b
docs: specify tree structure in `contents.rst`
wprzytula Aug 1, 2025
f4f85fd
docs: extract load_balancing
wprzytula Aug 1, 2025
0b25e72
docs: extract speculative_execution
wprzytula Aug 1, 2025
91e8528
docs: retry_policies/README.md -> retry_policies.md
wprzytula Aug 1, 2025
d7d52c1
docs: extract performance tips
wprzytula Aug 1, 2025
58d05fa
docs: rename README->index and reduce nesting
wprzytula Aug 2, 2025
3e0e2a4
docs: replace underscores with hyphens
wprzytula Aug 2, 2025
e763be7
docs/ssl: fix heading level hierarchy
wprzytula Aug 2, 2025
a0e68c2
docs: remove FAQ, as it's empty anyway
wprzytula Aug 2, 2025
4056c2b
docs/configuration: extract connection config
wprzytula Aug 14, 2025
2d8e826
docs/configuration: extract nonsupported options
wprzytula Aug 2, 2025
e4fee9f
docs/basics/index.md: fix typo
wprzytula Aug 5, 2025
6f8fe5f
docs/basics: Remove supported versions column
wprzytula Aug 5, 2025
c5e18dc
docs: update links to point to ScyllaDB docs
wprzytula Aug 5, 2025
4e06587
docs: remove mentions of Custom types
wprzytula Aug 5, 2025
94da72a
docs/futures: small fixes
wprzytula Aug 5, 2025
01bd261
docs: more considerations on setting keyspace
wprzytula Aug 5, 2025
ba4b610
docswide: Cassandra -> ScyllaDB/Cassandra
wprzytula Aug 5, 2025
0b20294
docs/load-balancing: adjust for CPP-Rust
wprzytula Aug 5, 2025
36cc10d
docs/retry-polices: adjust for CPP-Rust
wprzytula Aug 5, 2025
6d141a2
docs: move client-configuration to configuration
wprzytula Aug 5, 2025
7674c5a
docs: move execution-profiles to configuration
wprzytula Aug 5, 2025
435e905
docs/exec_profile: mention SEP as available setting
wprzytula Aug 5, 2025
0aaf654
docs: move shard awareness to load balancing
wprzytula Aug 5, 2025
ade3ad0
docs/metrics: adjust for CPP-Rust
wprzytula Aug 5, 2025
d2d8184
docs/security: extract nonsupported features
wprzytula Aug 5, 2025
f3c7a92
docs/ssl: don't offer DataStax mailing list
wprzytula Aug 5, 2025
7872ddb
docs: SSL -> TLS
wprzytula Aug 5, 2025
e1db681
docs/security: extract authentication section
wprzytula Aug 6, 2025
147de60
docs: adjust quickstart code for CPP-Rust Driver
wprzytula Aug 5, 2025
825fbda
docs/overview: fix IO thread description accuracy
wprzytula Aug 5, 2025
a954892
docs/overview: remove TODO section
wprzytula Aug 5, 2025
751544a
docs/overview: Update links for cpp-rust-driver
wprzytula Aug 5, 2025
51f918f
docs: remove ccm VM setup documentation
wprzytula Aug 6, 2025
11b504d
docs: extract Getting Started
wprzytula Aug 6, 2025
1328b5b
docs: extract Architecture Overview
wprzytula Aug 6, 2025
5ac06ae
docs/basics: move data types mapping
wprzytula Aug 6, 2025
b85430b
docs: client-configuration -> client-identity
wprzytula Aug 6, 2025
d6f2e2c
docs/configuration: add table of contents
wprzytula Aug 6, 2025
780584a
docs/basics: group datatypes-related topics
wprzytula Aug 6, 2025
7e8dbac
docs/basic: add table of contents
wprzytula Aug 6, 2025
4c80957
docs: basics -> using the driver
wprzytula Aug 14, 2025
ae06e33
docs: fix typos found by Copilot
wprzytula Aug 14, 2025
69e661a
docs/building: remove Windows section
wprzytula Aug 5, 2025
8e60341
docs: remove mentions of zlib dependency
wprzytula Aug 6, 2025
dd4695f
build system: remove zlib-related code
wprzytula Aug 6, 2025
a579cda
docs: remove mentions of Kerberos dependency
wprzytula Aug 6, 2025
c13e482
IT: remove embedded_ads code
wprzytula Aug 6, 2025
3059a1b
build system: remove Kerberos-related code
wprzytula Aug 6, 2025
7da985e
docs/building: modernise libuv mentions
wprzytula Aug 5, 2025
7ac356e
docs: update building & installation instructions
wprzytula Aug 6, 2025
250e4f6
docs: list contents on the front page
wprzytula Aug 14, 2025
1c5f18c
README: update front description
wprzytula Aug 7, 2025
7b77e66
WIP: setup sphinx docs
wprzytula Jul 29, 2025
5aeb383
WIP: URLs: DataStax -> ScyllaDB docs
wprzytula Aug 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,10 @@ option(CASS_INSTALL_HEADER_IN_SUBDIR "Install header file under 'include/cassand
option(CASS_INSTALL_PKG_CONFIG "Install pkg-config file(s)" ON)
option(CASS_MULTICORE_COMPILATION "Enable multicore compilation" ON)
option(CASS_USE_BOOST_ATOMIC "Use Boost atomics library" OFF)
option(CASS_USE_KERBEROS "Use Kerberos" OFF)
option(CASS_USE_LIBSSH2 "Use libssh2 for integration tests" OFF)
option(CASS_USE_OPENSSL "Use OpenSSL" ON)
option(CASS_USE_STATIC_LIBS "Link static libraries when building executables" OFF)
option(CASS_USE_STD_ATOMIC "Use std::atomic library" ON)
option(CASS_USE_ZLIB "Use zlib" OFF)
option(CASS_USE_TIMERFD "Use timerfd (Linux only)" ON)
option(CASS_USE_LIBUV "Use libuv" OFF)

Expand All @@ -65,7 +63,6 @@ endif()

if(CASS_BUILD_INTEGRATION_TESTS OR CASS_BUILD_UNIT_TESTS)
set(CASS_USE_OPENSSL ON) # Required for tests
set(CASS_USE_KERBEROS ON) # Required for tests
set(CASS_USE_LIBUV ON)
endif()

Expand Down
1,864 changes: 1,864 additions & 0 deletions Doxyfile.in

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ScyllaDB Cpp-Rust Driver
___
Wrapper around ScyllaDB's rust-driver compatible with Datastax cpp-driver.
Wrapper around [ScyllaDB's Rust Driver](https://cpp-rust-driver.docs.scylladb.com/stable), which is API-compatible with both ScyllaDB and Datastax C/C++ Driver and may be considered a drop-in replacement (with some minor limitations, see [Limitations](#limitations)).

#### Note: It is work in progress, bug reports and pull requests are welcome!

Expand Down Expand Up @@ -146,9 +146,9 @@ The driver inherits almost all the features of C/C++ and Rust drivers, such as:
* Retry policies
* SSL
* Authentication
* [Tuples](http://datastax.github.io/cpp-driver/topics/basics/tuples/) and [UDTs](http://datastax.github.io/cpp-driver/topics/basics/user_defined_types/)
* [Nested collections](http://datastax.github.io/cpp-driver/topics/basics/binding_parameters/#nested-collections)
* [Data types](http://datastax.github.io/cpp-driver/topics/basics/data_types/)
* [Tuples](http://datastax.github.io/cpp-driver/topics/basics/data-types/tuples/) and [UDTs](http://datastax.github.io/cpp-driver/topics/basics/data-types/user-defined-types/)
* [Nested collections](http://datastax.github.io/cpp-driver/topics/basics/binding-parameters/#nested-collections)
* [Data types](http://datastax.github.io/cpp-driver/topics/basics/data-types/)
* Schema metadata (keyspace metadata, materialized views, etc.)

# Limitations
Expand Down Expand Up @@ -395,7 +395,7 @@ Some tests are added to GitHub Actions workflows and are used to test every pull

To build and run the integration tests several requirements need to be met:

* Install `libuv`, `openssl` and `kerberos` on your system:
* Install `libuv` and `openssl` on your system:

```shell
# On Ubuntu
Expand Down
45 changes: 0 additions & 45 deletions cmake/Dependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -107,51 +107,6 @@ if(CASS_USE_OPENSSL)
set(CASS_LIBS ${CASS_LIBS} ${OPENSSL_LIBRARIES})
endif()

#------------------------
# ZLIB
#------------------------

if(CASS_USE_ZLIB)
if(NOT ZLIB_LIBRARY_NAME)
# Setup the root directory for zlib
set(ZLIB_ROOT "${PROJECT_SOURCE_DIR}/lib/zlib/"
"${PROJECT_SOURCE_DIR}/build/libs/zlib/")
set(ZLIB_ROOT ${ZLIB_ROOT} ${ZLIB_ROOT_DIR} $ENV{ZLIB_ROOT_DIR})

# Ensure zlib was found (assign zlib include/libraries or present warning)
find_package(ZLIB)
if(ZLIB_FOUND)
# Determine if the static library needs to be used for Windows
if(WIN32 AND CASS_USE_STATIC_LIBS)
string(REPLACE "zlib.lib" "zlibstatic.lib" ZLIB_LIBRARIES "${ZLIB_LIBRARIES}")
endif()

# Assign zlib properties
set(CASS_INCLUDES ${CASS_INCLUDES} ${ZLIB_INCLUDE_DIRS})
set(CASS_LIBS ${CASS_LIBS} ${ZLIB_LIBRARIES})
set(HAVE_ZLIB On)
else()
message(WARNING "Could not find zlib, try to set the path to zlib root folder in the system variable ZLIB_ROOT_DIR")
message(WARNING "zlib libraries will not be linked into build")
endif()
else()
# Assign zlib properties
set(CASS_INCLUDES ${CASS_INCLUDES} ${ZLIB_INCLUDE_DIRS})
set(CASS_LIBS ${CASS_LIBS} ${ZLIB_LIBRARIES})
endif()
endif()

#------------------------
# Kerberos
#------------------------

if(CASS_USE_KERBEROS)
# Discover Kerberos and assign Kerberos include and libraries
find_package(Kerberos REQUIRED)
set(CASS_INCLUDES ${CASS_INCLUDES} ${KERBEROS_INCLUDE_DIR})
set(CASS_LIBS ${CASS_LIBS} ${KERBEROS_LIBRARIES})
endif()

#------------------------
# Boost
#------------------------
Expand Down
31 changes: 0 additions & 31 deletions cmake/ExternalProject-OpenSSL.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,6 @@ if(NOT OPENSSL_VERSION)
set(OPENSSL_VERSION "1.0.2s")
endif()
option(OPENSSL_INSTALL_PREFIX "OpenSSL installation prefix location")
if(CASS_USE_ZLIB)
include(ExternalProject-zlib)
endif()
set(OPENSSL_VERSION ${OPENSSL_VERSION} CACHE STRING "OpenSSL version to build and install" FORCE)

# Determine the major and minor version of OpenSSL used
Expand Down Expand Up @@ -91,19 +88,6 @@ else()
endif()
set(OPENSSL_ROOT_DIR "${OPENSSL_INSTALL_DIR}" CACHE STRING "OpenSSL root directory" FORCE)

# Create build options for the platform build scripts
if(BUILD_SHARED_LIBS)
if(CASS_USE_ZLIB)
set(OPENSSL_ZLIB_CONFIGURE_ARGUMENT "zlib-dynamic")
set(ZLIB_LIB zlib.lib)
endif()
else()
if(CASS_USE_ZLIB)
set(OPENSSL_ZLIB_CONFIGURE_ARGUMENT "no-zlib-dynamic")
set(ZLIB_LIB zlibstatic.lib)
endif()
endif()

# Determine if shared or static library should be built
set(OPENSSL_CONFIGURE_COMPILER "no-asm no-ssl2")
if(BUILD_SHARED_LIBS)
Expand Down Expand Up @@ -273,16 +257,6 @@ file(APPEND ${OPENSSL_CONFIGURE_SCRIPT}
"POPD\r\n"
"SET PATH=${PERL_PATH};%PATH%\r\n"
"CALL :SHORTENPATH \"${OPENSSL_NATIVE_INSTALL_DIR}\" SHORTENED_OPENSSL_INSTALL_DIR\r\n")
if(CASS_USE_ZLIB)
# OpenSSL requires zlib paths to be relative (otherwise build errors may occur)
externalproject_get_property(${OPENSSL_LIBRARY_NAME} SOURCE_DIR)
file(RELATIVE_PATH ZLIB_INCLUDE_RELATIVE_DIR ${SOURCE_DIR} ${ZLIB_INCLUDE_DIR})
file(TO_NATIVE_PATH ${ZLIB_INCLUDE_RELATIVE_DIR} ZLIB_NATIVE_INCLUDE_RELATIVE_DIR)
file(RELATIVE_PATH ZLIB_LIBRARY_RELATIVE_DIR ${SOURCE_DIR} ${ZLIB_LIBRARY_DIR})
file(TO_NATIVE_PATH ${ZLIB_LIBRARY_RELATIVE_DIR} ZLIB_NATIVE_LIBRARY_RELATIVE_DIR)
set(OPENSSL_WITH_ZLIB_ARGUMENT "zlib ${OPENSSL_ZLIB_CONFIGURE_ARGUMENT} --with-zlib-include=\"${ZLIB_NATIVE_INCLUDE_RELATIVE_DIR}\" --with-zlib-lib=\"${ZLIB_NATIVE_LIBRARY_RELATIVE_DIR}\\${ZLIB_LIB}\"")
set(OPENSSL_WITH_ZLIB_ARGUMENT "zlib ${OPENSSL_ZLIB_CONFIGURE_ARGUMENT} --with-zlib-include=\"${ZLIB_INCLUDE_RELATIVE_DIR}\" --with-zlib-lib=\"${ZLIB_LIBRARY_RELATIVE_DIR}\\${ZLIB_LIB}\"")
endif()
file(APPEND ${OPENSSL_CONFIGURE_SCRIPT}
"perl Configure ${OPENSSL_WITH_ZLIB_ARGUMENT} --openssldir=!SHORTENED_OPENSSL_INSTALL_DIR! --prefix=!SHORTENED_OPENSSL_INSTALL_DIR! ${OPENSSL_CONFIGURE_COMPILER}\r\n"
"IF NOT %ERRORLEVEL% EQU 0 (\r\n"
Expand Down Expand Up @@ -317,10 +291,5 @@ file(APPEND ${OPENSSL_CONFIGURE_SCRIPT}
" FOR %%A IN (\"%~1\") DO SET %~2=%%~SA\r\n"
" EXIT /B\r\n")

# Determine if zlib should be added as a dependency
if(CASS_USE_ZLIB)
add_dependencies(${OPENSSL_LIBRARY_NAME} ${ZLIB_LIBRARY_NAME})
endif()

# Update the include directory to use OpenSSL
include_directories(${OPENSSL_INCLUDE_DIR})
99 changes: 0 additions & 99 deletions cmake/ExternalProject-zlib.cmake

This file was deleted.

81 changes: 0 additions & 81 deletions cmake/FindKerberos.cmake

This file was deleted.

2 changes: 1 addition & 1 deletion dist/redhat/scylla-cpp-rust-driver.spec
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Conflicts: scylla-cpp-driver
API-compatible rewrite of https://github.com/scylladb/cpp-driver as a wrapper for Rust driver.

%package devel
Summary: Development libraries for ${name}
Summary: Development libraries for %{name}
Group: Development/Tools
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig
Expand Down
8 changes: 7 additions & 1 deletion docs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ SPHINXOPTS = -j auto
SPHINXBUILD = $(POETRY) run sphinx-build
PAPER =
BUILDDIR = _build
SOURCEDIR = source
SOURCEDIR = _source

# Internal variables
PAPEROPT_a4 = -D latex_paper_size=a4
Expand All @@ -20,10 +20,16 @@ all: dirhtml
.PHONY: setupenv
setupenv:
pip install -q poetry
sudo apt-get install doxygen

.PHONY: setup
setup:
$(POETRY) install
$(POETRY) update
cd .. && doxygen Doxyfile.in
@if [ ! -d "$(SOURCEDIR)" ]; then mkdir -p "$(SOURCEDIR)"; fi
cp -RL source/* $(SOURCEDIR)
# cd $(SOURCEDIR) && find . -name README.md -execdir mv '{}' index.md ';'
Comment on lines +30 to +32
Copy link
Contributor

@dgarcia360 dgarcia360 Aug 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lines 28 and 29 look ok.

We can remove lines 30–32 and set SOURCEDIR to source.

In this project, it does not appear necessary to copy the documentation to a separate _sources folder for post-processing. That workflow is only required in projects where files need to be renamed at runtime, such as converting README.md to index.md.


.PHONY: update
update:
Expand Down
Loading