Make Query.Property parameterised with <BT> "Base Type" as Number, String, Temporal, Boolean or Object

These types then determine which functions are valid for the types. So:
- Number functions
- String/varchar functions
- Temporal Date, DateTime, Time functions
- Boolean functions
- Object being everything else
This commit is contained in:
Rob Bygrave
2022-11-08 21:57:36 +13:00
parent 0b9d199829
commit 97bbce321d
43 changed files with 353 additions and 145 deletions
@@ -15,8 +15,7 @@ public class TestStdFunctions {
@Test
void coalesceLike() {
var name = Query.Property.of("name");
Query.Property<String> name = Query.Property.of("name");
var query = DB.find(Customer.class)
.select(coalesce(name, "na").toString())
.where()