Skip to content

Commit 5f8e82a

Browse files
authored
Merge pull request #194 from muzarski/null-api-strings-it
ci: enable NullStringApiArgsTest suite
2 parents 3bb9a49 + ff12066 commit 5f8e82a

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ ifndef SCYLLA_TEST_FILTER
55
SCYLLA_TEST_FILTER := $(subst ${SPACE},${EMPTY},ClusterTests.*\
66
:BasicsTests.*\
77
:ConfigTests.*\
8+
:NullStringApiArgsTest.*\
89
:ConsistencyTwoNodeClusterTests.*\
910
:ConsistencyThreeNodeClusterTests.*\
1011
:SerialConsistencyTests.*\
@@ -31,6 +32,7 @@ ifndef CASSANDRA_TEST_FILTER
3132
CASSANDRA_TEST_FILTER := $(subst ${SPACE},${EMPTY},ClusterTests.*\
3233
:BasicsTests.*\
3334
:ConfigTests.*\
35+
:NullStringApiArgsTest.*\
3436
:ConsistencyTwoNodeClusterTests.*\
3537
:ConsistencyThreeNodeClusterTests.*\
3638
:SerialConsistencyTests.*\

scylla-rust-wrapper/src/session.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -555,10 +555,12 @@ pub unsafe extern "C" fn cass_session_prepare_n(
555555
query: *const c_char,
556556
query_length: size_t,
557557
) -> *const CassFuture {
558-
let query_str = match ptr_to_cstr_n(query, query_length) {
559-
Some(v) => v,
560-
None => return std::ptr::null(),
561-
};
558+
let query_str = ptr_to_cstr_n(query, query_length)
559+
// Apparently nullptr denotes an empty statement string.
560+
// It seems to be intended (for some weird reason, why not save a round-trip???)
561+
// to receive a server error in such case (CASS_ERROR_SERVER_SYNTAX_ERROR).
562+
// There is a test for this: `NullStringApiArgsTest.Integration_Cassandra_PrepareNullQuery`.
563+
.unwrap_or_default();
562564
let query = Query::new(query_str.to_string());
563565
let cass_session: &CassSession = ptr_to_ref(cass_session_raw);
564566

0 commit comments

Comments
 (0)