- column finders queries
create extractors and column finders in 1 steprewrite .as(caseClassConstructor) to .as[CaseClassType] to avoid people breaking ColumnFinder
- CRUD - primary key on table?
- ensure we can use withPrimaryKey on update/delete without writing .where(...) first (i.e. update(table).set(...).withOptimisicLocking(...))
- security in tables? - subject to uncommenting the real versions of
fetchAll
andfetchOne
inSecureExecutorSyntax.scala
- remove slick and collapse
dal.sqlest
anddal.common
intodal
- optimistic locking
- fix update/delete DSL so we can use withOptimisticLocking without writing .where(...) first (i.e. update(table).set(...).withOptimisicLocking(...))
- CASE operator
- complex custom field types (CashValue)
- improved extractor syntax for creating values from optional columns. The value should be optional if any of the columns are optional but the case class value is non-optional - see orderExtractor for an example use case
- Consider making sqlest reactive
- ConvertedTableColumns
- Boolean values are often stored in the database with 'Y' as true and '' or 'N' as false. Comparisons must somehow take this into account!!
if a ConvertedTableColumn is compared to a literal value the literal value must also be convertedif a ConvertedTableColumn is compared to another ConvertedTableColumn with different DatabaseType then should this fail to compile?I had to make BaseType a non-sealed trait to enable BaseType[Direction] to be defined. This needs to be thought about
IN operatorone to many extractors - implement this for case class with lists in themBETWEEN operatorremove extractColumn or merge it into extract somehowDatabase should maybe handle sessions / transactionsextractList is repeated everywhere. Should this be changed so there is extractHeadOption too?top-level syntax to run a query and feed the results into an extractortable functionsoption extractorscolumn conversionssimple custom field types (Email, Url)insert, update, deleteallow definition of custom functions (separate out operators from functions)improve hierarchy of Column and Extractors, especially in regard to SimpleAliasedColumn and ConvertedTableColumn