Consolidating discussion from #71, #66, #58, #31 to document the plan for implementing modifications to queries. This applies mainly to SELECT but also other queries.
WIP: This issue will be modified until a clear plan is made.
Currently some methods in Latitude are additive and some are setters. For instance, columns() always changes the column list and join() always adds a new join. A full list:
| method name |
add |
set |
| columns() |
|
x |
| addColumns() |
x |
|
| from() |
|
x |
| addFrom() |
x |
|
| join() |
x |
|
| where() |
|
x |
| andWhere() |
x |
|
| orWhere() |
x |
|
| groupBy() |
x |
|
| orderBy() |
x |
|
| limit() |
|
x |
| offset() |
|
x |
| having() |
|
x |
Not all methods need to be additive and not all methods need to be setters. It should be possible to reset values that are additive.
Consolidating discussion from #71, #66, #58, #31 to document the plan for implementing modifications to queries. This applies mainly to
SELECTbut also other queries.WIP: This issue will be modified until a clear plan is made.
Currently some methods in Latitude are additive and some are setters. For instance,
columns()always changes the column list andjoin()always adds a new join. A full list:Not all methods need to be additive and not all methods need to be setters. It should be possible to reset values that are additive.