2017-11-02 24 views
0

BLOBデータ型の使用についてはあまり理解していません。私はCassandraの新機能で、CassandraのC++ APIの作業を始めました。 C++構造体の内容をCassandraのBlobに格納できますか?はいの場合は、どのように。たとえば、bigintをblobとして格納するには、bigintAsBlob()を使用します。 struct考えるBlobデータ型in Cassandra

答えて

1

struct my_struct { 
    int field1; 
    double field2; 
}; 

そして、プリペアドステートメント(私はあなたがプリペアドステートメントを使用して願っています)、あなたがこれを行うことができます:

statementはプリペアドステートメントで、インデックスがある
my_struct s; 
std::unique_ptr<char[]> buffer(new char[sizeof(my_struct)]); 
memcpy(buffer.get(), &s, sizeof(my_struct)); 
cass_statement_bind_bytes(statement, index, buffer.get(), sizeof(my_struct)) 

スキーマ内のblobフィールドのインデックス。 構造体は動的メモリに依存するメンバーのないPODでなければならないことに注意してください(例:char*)。そうでない場合は動作しません。私はこれをテストしなかったが、それが助けてくれることを願う。

関連する問題