2016-10-25 2 views
1

사용자 정의 유형 (UDT)의 SET 열이있는 테이블이있는 Cassandra 스키마가 있습니다. 이 UDT에는 다른 UDT의 SET 인 열이 있습니다. I cqlsh에서 유형과 테이블을 만들지 만 Java (실제로 스칼라) 코드에서이 스키마를 사용하려고하면 "누락 코덱 오류"가 발생합니다.카산드라가 UDT 세트를 중첩 할 수 있습니까?

Datastax java 드라이버가 이것을 지원합니까?

CREATE TYPE testname(firstname text, lastname text); CREATE TYPE testuser(testname <FROZEN<SET<FROZEN<testname>>>); CREATE TABLE testobjects( simplename text testusers SET<FROZEN<testuser>> ) WITH CLUSTERING ORDER BY (simple name DESC);

나는 두 UDT 유형에 대한 코덱을 등록했지만 내가 준비된 문을 결합하려고 할 때이 오류가 발생합니다 :

can't find code for: cqlType: frozen<set<frozen<testname>> javaType: TestNameUDT

코덱 매핑 TESTNAME가 동안 때문에 TestNameUDT에는 실제로 TestNameUDT에 testname의 집합을 매핑하는 코덱이 없습니다.

Java 드라이버가 이것을 지원하는지 누구라도 알고 있는지 궁금합니다. 누구나 중첩 된 UDT 세트를 만들었습니까? 감사.

+0

카산드라 버전은 무엇입니까? – Ivan

+0

또한 예외에 대한 스택 추적은 무엇입니까? – Ivan

+0

com.datastax.cassandra.dse-driver1.1.0 com.datastax.cassandra.cassandra-driver-mapping 3.1.1 com.datastax.driver.core.CodecRegistry.createCodec (줄 526)에서 오류가 발생합니다. –

답변

0

Datastax는 이것이 카산드라 결함이며 현재 작동하지 않는다는 것을 인정했습니다.

관련 문제