troy
troy copied to clipboard
Resolve codecs inside Macro
Instead of emitting code that accepts implicit TroyCodec instances, resolve them inside the macro first, aborting if the codec is not found.
This allows us to
- Customise error message, by hiding internal CassandraDataType.Type classes, and show the types as lowercase "text", "map <int, text>", as it would appear inside CQLsh
- Validate queries against multiple versions of the Schema, for every version, we can make sure Codecs exists
Based on https://github.com/cassandra-scala/troy/issues/84, the story has been removed from the milestone, and now have lower priority. Since Troy won't support parsing a query the involves columns that changed their types.