Skip to content

Commit c6a297d

Browse files
authored
Merge pull request #5 from riptano/unified_driver_private
Merge unified driver
2 parents 076bd23 + fa8defc commit c6a297d

421 files changed

Lines changed: 20849 additions & 27174 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.nav

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
topics
2+
dse_features
23
changelog
34
api

CHANGELOG.md

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,53 @@
1+
2.15.0
2+
===========
3+
4+
Features
5+
--------
6+
* [CPP-865] Unified driver
7+
* We have open sourced and merged DataStax Enterprise (DSE) driver features
8+
into a single, open source driver that supports both Apache Cassandra and
9+
DataStax products. *Note:* DSE-specific driver features still require DSE.
10+
* Support for the DSE authentication mechanisms including plaintext and LDAP
11+
(via GSSAPI)
12+
* Support for geospatial types including `POINT`, `LINESTRING`, and `POLYGON`
13+
* Supporting JIRA issues
14+
* [CPP-864] Merge DSE into core driver
15+
* [CPP-867] Merge DSE docs into core driver
16+
* [CPP-866] Move DSE uses of external authentication provider to internal interfaces
17+
* [CPP-861] Add `CASS_USE_KERBEROS` option and return errors from dependent auth API functions
18+
19+
Bug Fixes
20+
--------
21+
* [CPP-871] Fix SSL cleanup on error conditions in mockssandra
22+
* [CPP-855] Fix C\*/DSE protocol lowering attempts when `cass_cluster_set_use_beta_protocol_version()` is true
23+
24+
Other
25+
--------
26+
* [CPP-220] Remove use of external Boost from unit and integration tests
27+
28+
129
2.14.0
230
===========
331

432
Bug Fixes
533
--------
6-
* [CPP-819] - Ensure port is updated on already assigned contact points
7-
* [CPP-825] - Cloud should be verifying the peer certificates CN
34+
* [CPP-819] Ensure port is updated on already assigned contact points
35+
* [CPP-825] Cloud should be verifying the peer certificates CN
836

937
2.14.0-alpha2
1038
===========
1139

1240
Features
1341
--------
14-
* [CPP-812] - Enable warnings for implicit casts and fix problems
15-
* [CPP-813] - Detect CaaS and change consistency default
16-
* [CPP-817] - Provide error if mixed usage of secure connect bundle and contact points/ssl context
42+
* [CPP-812] Enable warnings for implicit casts and fix problems
43+
* [CPP-813] Detect CaaS and change consistency default
44+
* [CPP-817] Provide error if mixed usage of secure connect bundle and contact points/ssl context
1745

1846
Bug Fixes
1947
--------
20-
* [CPP-802] - Handle prepared id mismatch when repreparing on the fly
21-
* [CPP-815] - Schema agreement fails with SNI
22-
* [CPP-811] - Requests won't complete if they exceed the number of streams on a connection
48+
* [CPP-802] Handle prepared id mismatch when repreparing on the fly
49+
* [CPP-815] Schema agreement fails with SNI
50+
* [CPP-811] Requests won't complete if they exceed the number of streams on a connection
2351

2452
2.14.0-alpha
2553
===========

CMakeLists.txt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ option(CASS_INSTALL_HEADER_IN_SUBDIR "Install header file under 'include/cassand
3838
option(CASS_INSTALL_PKG_CONFIG "Install pkg-config file(s)" ON)
3939
option(CASS_MULTICORE_COMPILATION "Enable multicore compilation" ON)
4040
option(CASS_USE_BOOST_ATOMIC "Use Boost atomics library" OFF)
41+
option(CASS_USE_KERBEROS "Use Kerberos" OFF)
4142
option(CASS_USE_LIBSSH2 "Use libssh2 for integration tests" OFF)
4243
option(CASS_USE_OPENSSL "Use OpenSSL" ON)
4344
option(CASS_USE_STATIC_LIBS "Link static libraries when building executables" OFF)
@@ -53,12 +54,10 @@ if(CASS_BUILD_TESTS)
5354
set(CASS_BUILD_UNIT_TESTS ON)
5455
endif()
5556

56-
if(CASS_BUILD_INTEGRATION_TESTS)
57-
set(CASS_USE_OPENSSL ON) # Required for integration tests
58-
endif()
59-
6057
if(CASS_BUILD_INTEGRATION_TESTS OR CASS_BUILD_UNIT_TESTS)
6158
set(CASS_BUILD_STATIC ON) # Required for tests
59+
set(CASS_USE_OPENSSL ON) # Required for tests
60+
set(CASS_USE_KERBEROS ON) # Required for tests
6261
endif()
6362

6463
# Determine which driver target should be used as a dependency

Doxyfile.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ DOXYFILE_ENCODING = UTF-8
2626
# identify the project. Note that if you do not use Doxywizard you need
2727
# to put quotes around the project name if it contains spaces.
2828

29-
PROJECT_NAME = "DataStax C/C++ Driver"
29+
PROJECT_NAME = "DataStax C/C++ Driver for Apache Cassandra and DataStax Products"
3030

3131
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
3232
# This could be handy for archiving the generated documentation or
@@ -38,7 +38,7 @@ PROJECT_NUMBER = 2.0
3838
# for a project that appears at the top of each page and should give viewer
3939
# a quick idea about the purpose of the project. Keep the description short.
4040

41-
PROJECT_BRIEF = "Library for the Cassandra native binary protocol"
41+
PROJECT_BRIEF = "Library for the Apache Cassandra native binary protocol"
4242

4343
# With the PROJECT_LOGO tag one can specify an logo or icon that is
4444
# included in the documentation. The maximum height of the logo should not

README.md

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
1-
# DataStax C/C++ Driver for Apache Cassandra
1+
# DataStax C/C++ Driver for Apache Cassandra and DataStax Products
22

33
A modern, feature-rich] and highly tunable C/C++ client library for
44
[Apache Cassandra] 2.1+ using exclusively Cassandra's binary protocol and
5-
Cassandra Query Language v3. __Use the [DSE C/C++ driver] for better
6-
compatibility and support for [DataStax Enterprise]__.
5+
Cassandra Query Language v3. This driver can also be used with other DataStax
6+
products:
7+
8+
* [DataStax Enterprise]
9+
* [DataStax Constellation]
710

811
## Getting the Driver
912

1013
Binary versions of the driver, available for multiple operating systems and
1114
multiple architectures, can be obtained from our [download server]. The
12-
source code is made available via [GitHub]. __If using [DataStax Enterprise]
13-
use the [DSE C/C++ driver] instead__.
15+
source code is made available via [GitHub].
1416

1517
Packages for the driver's dependencies, libuv (1.x)
1618
and OpenSSL, are also provided under the `dependencies` directory for each
@@ -51,6 +53,14 @@ provided with the distribution:
5153
* [Reverse DNS] with SSL peer identity verification support
5254
* Randomized contact points
5355
* [Speculative execution]
56+
* DSE Features
57+
* [DSE authentication]
58+
* Plaintext/DSE
59+
* LDAP
60+
* GSSAPI (Kerberos)
61+
* [DSE geospatial types]
62+
* DSE [proxy authentication][DSE Proxy Authentication] and [proxy execution][DSE Proxy Execution]
63+
* [DSE DateRange]
5464
* Support for [DataStax Constellation] Cloud Data Platform
5565

5666
## Compatibility
@@ -60,10 +70,9 @@ Cassandra's native protocol. The current version works with:
6070

6171
* Apache Cassandra versions 2.1, 2.2 and 3.0+
6272
* Architectures: 32-bit (x86) and 64-bit (x64)
63-
* Compilers: GCC 4.1.2+, Clang 3.4+, and MSVC 2010/2012/2013/2015/2017
73+
* Compilers: GCC 4.1.2+, Clang 3.4+, and MSVC 2010/2012/2013/2015/2017/2019
6474

65-
If using [DataStax Enterprise] the [DSE C/C++ driver] provides more features and
66-
better compatibility. A complete compatibility matrix for both Apache Cassandra
75+
A complete compatibility matrix for both Apache Cassandra
6776
and DataStax Enterprise can be found [here][cpp-driver-compatability-matrix].
6877

6978
__Disclaimer__: DataStax products do not support big-endian systems.
@@ -92,6 +101,7 @@ The driver includes several examples in the [examples] directory.
92101
## A Simple Example
93102
```c
94103
#include <cassandra.h>
104+
/* Use "#include <dse.h>" when connecting to DataStax Enterpise */
95105
#include <stdio.h>
96106

97107
int main(int argc, char* argv[]) {
@@ -181,7 +191,6 @@ CONDITIONS OF ANY KIND, either express or implied. See the License for the
181191
specific language governing permissions and limitations under the License.
182192
183193
[Apache Cassandra]: http://cassandra.apache.org
184-
[DSE C/C++ driver]: http://docs.datastax.com/en/developer/cpp-driver-dse/latest
185194
[DataStax Enterprise]: http://www.datastax.com/products/datastax-enterprise
186195
[Examples]: examples/
187196
[download server]: http://downloads.datastax.com/cpp-driver/
@@ -224,3 +233,8 @@ specific language governing permissions and limitations under the License.
224233
[Custom]: http://datastax.github.io/cpp-driver/topics/security/#custom
225234
[Reverse DNS]: http://datastax.github.io/cpp-driver/topics/security/ssl/#enabling-cassandra-identity-verification
226235
[Speculative execution]: http://datastax.github.io/cpp-driver/topics/configuration/#speculative-execution
236+
[DSE authentication]: http://docs.datastax.com/en/developer/cpp-driver/latest/dse_features/authentication
237+
[DSE geospatial types]: http://docs.datastax.com/en/developer/cpp-driver/latest/dse_features/geotypes
238+
[DSE Proxy Authentication]: http://docs.datastax.com/en/developer/cpp-driver/latest/dse_features/authentication/#proxy-authentication
239+
[DSE Proxy Execution]: http://docs.datastax.com/en/developer/cpp-driver/latest/dse_features/authentication/#proxy-execution
240+
[DSE DateRange]: https://github.com/datastax/cpp-driver/blob/master/examples/dse/date_range/date_range.c

0 commit comments

Comments
 (0)