2017-11-14 3 views
0

Laut "datastax.github.io/cpp-driver/topics/basics/" wird der Blob-Datentyp von Cassandra mit "const cass_byte_t *" abgeglichen. Angenommen, die Datenbank enthält eine Struktur, die in Form eines Blobs gespeichert ist; Wie kann ich es holen? Jemand hat mir vorgeschlagen, cass_value_get_bytes() zu verwenden. Kann jemand ein Beispiel geben, wie man diese Funktion benutzt, um die Struktur zu holen?Abbildung des Blob-Typs in C++ - Treiber

Antwort

1

Was ist das Problem mit cass_value_get_bytes()? Sie müssen einfach das Übertragen von Daten ausführen, die in Ihre Struktur eingelesen wurden, etwa wie folgt:

const cass_byte_t* outPtr = null; 
size_t outSize = 0; 
if (cass_value_get_bytes(casValue, &outPtr, &outSize) == CASS_OK) { 
    if (outSize == sizeof(YourStruct)) { 
     const YourStruct* yourStruct = reinterpret_cast<const YourStruct*>(outPtr); 
    } 
}