troy
troy copied to clipboard
Type-safe and Schema-safe Scala wrapper for Cassandra driver
String Interpolation variables get replaced by the macro with Bind markers. Due to multiple reasons, Schema engine could detect a wrong number of Bind Markers. Possible Reasons: 1- Bug in...
Depends on : https://github.com/cassandra-scala/troy/issues/108 Support Like operator
Troy analyses queries to figure the type of bind markers (i.e `?` and `:variables`) So far we do only shallow searching for those blind markers, if a statement has a...
``` shell [warn]/troy/troy-schema/src/main/scala/troy/schema/ColumnOps.scala:13: match may not be exhaustive. [warn] It would fail on the following inputs: In, NotEquals [warn] def operandType(operator: Operator): Option[DataType] = operator match { [warn] ^ [warn]/troy/troy-schema/src/main/scala/troy/schema/Schema.scala:87:...
For the sole purpose of embedding parts of CQL statements in error messages, we need to be able to pretty print some of AST classes - Table/Keyspace/Index Name - Term...
There is basic validation defined here https://github.com/cassandra-scala/troy/pull/79/commits/0a129ae3e482e85d12e9dcff82427553dfab7933 This needs to cover all cases.
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 1. Customise error message,...
Troy should be able to validate `where` clause. Notes that where clause is common between Select, Update, and Delete. But with slightly different rules in each case. There is already...