I am in the process of implementing collections support in the JDBC Driver and 
have run in to a few issues. Specifically:

1. There does not seem to be a notion of a reflexive o.a.c.cql.jdbc.* class for 
the new collection classes in o.a.c.db.marshall. Is that intentional or was 
that to be "left to be implemented student", which for me is now. I am trying 
to make sure I understand to broader design so I do not go off half cocked.

2. In order to do a proper job on the client side of translating the intent of 
the collection declarations that are built on the server side, the server must 
send enough data back in the thrift (or native) stream to reconstitute it 
properly on the client side. Unless I am missing something (very possible) I 
think the underlying base types of the data need to be in the encoded 
(ByteBuffer) value in addition to the literal values (encoded as a JSON string 
payload). JSON does not have a rich enough vocabulary to imply all of the CQL 
types without this additional information.

I think it is as simple as appending this information adjacent to the JSON 
literal and letting the compose/decompose methods deal with the exact content 
issues.

I am happy to cut a JIRA and provide a patch to handle the issues but want to 
air out the issues before solving something that messes with the bigger picture 
of the overall design intent that I may be missing.


Reply via email to