basic issueshttps://gitlab.com/haskell-hr/basic/-/issues2020-04-17T16:43:12Zhttps://gitlab.com/haskell-hr/basic/-/issues/15Cleanup version bounds and publish new version to hackage2020-04-17T16:43:12ZLuka Horvatdarwin226@gmail.comCleanup version bounds and publish new version to hackagehttps://gitlab.com/haskell-hr/basic/-/issues/11Remove unsafeCoerce from the example file2018-12-13T10:35:15ZLuka Horvatdarwin226@gmail.comRemove unsafeCoerce from the example file`unsafeCoerce` calls should be replaced with `nullValue`.`unsafeCoerce` calls should be replaced with `nullValue`.https://gitlab.com/haskell-hr/basic/-/issues/10Comparison of database optional fields2018-10-17T11:35:13ZNikola HeneziComparison of database optional fieldsE.g. `op ^. created <. pp ^. validTo` when both `op ^. created` and `pp ^. validTo` are database expressions.
```
• Couldn't match type ‘ZonedTime’ with ‘Maybe ZonedTime’
arising from a use of ‘<.’
• In the second argume...E.g. `op ^. created <. pp ^. validTo` when both `op ^. created` and `pp ^. validTo` are database expressions.
```
• Couldn't match type ‘ZonedTime’ with ‘Maybe ZonedTime’
arising from a use of ‘<.’
• In the second argument of ‘(&&.)’, namely
‘op ^. created <. pp ^. validTo’
In the second argument of ‘(&&.)’, namely
‘pp ^. created <. op ^. created &&. op ^. created <. pp ^. validTo’
In the second argument of ‘(&&.)’, namely
‘op ^. productId ==. pp ^. productId
&&.
pp ^. created <. op ^. created &&. op ^. created <. pp ^. validTo’
|
106 | op ^. created <. pp ^. validTo
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```https://gitlab.com/haskell-hr/basic/-/issues/8HandleBasicPsql handles all Logging effects instead of just its own2018-09-26T10:03:07ZBruno GavranovićHandleBasicPsql handles all Logging effects instead of just its ownType of handleBasicPsql
:: MonadIO m =>
Database.PostgreSQL.Simple.Internal.Connection
-> RuntimeImplemented
Basic (RuntimeImplemented Logging (ExceptT BasicException m)) a
-> m a
It internally logs its action...Type of handleBasicPsql
:: MonadIO m =>
Database.PostgreSQL.Simple.Internal.Connection
-> RuntimeImplemented
Basic (RuntimeImplemented Logging (ExceptT BasicException m)) a
-> m a
It internally logs its actions but also other, potentially unrelated logs in the stackhttps://gitlab.com/haskell-hr/basic/-/issues/7Already plural table names shouldn't be pluralized2018-09-20T13:38:36ZLuka Horvatdarwin226@gmail.comAlready plural table names shouldn't be pluralizedhttps://gitlab.com/haskell-hr/basic/-/issues/6Add generic way for writing many instances involving tuples2018-06-26T14:28:23ZNikola HeneziAdd generic way for writing many instances involving tuplesThings that need to work for tuples of large sizes are currently written up to 3-tuples or 4-tuples. Consider writing a generic TH solution for these issues.Things that need to work for tuples of large sizes are currently written up to 3-tuples or 4-tuples. Consider writing a generic TH solution for these issues.https://gitlab.com/haskell-hr/basic/-/issues/4More flexible construction of querries2017-08-03T13:50:10ZLuka Horvatdarwin226@gmail.comMore flexible construction of querriesCurrently "normalization" and construction of the typed query AST is intertwined and the user is constrained from writing queries that are not in a "normal" form by ad hoc type constraints.
A better idea is to lift the whole AST to the ...Currently "normalization" and construction of the typed query AST is intertwined and the user is constrained from writing queries that are not in a "normal" form by ad hoc type constraints.
A better idea is to lift the whole AST to the type level and then have a type family that checks if the AST is compilable to SQL.
Notes:
* If we want to compile to a single query there is only a single possible ordering of various transformations that we can have in the end. (filtering before sorting, sorting before limiting etc.)
* Figure out which transformations can commute and transform the AST by floating every transformation to the appropriate layer for compilation
* Consider whether it only makes sense to check the final AST or if the checks can be recursive and incremental
* Consider implementing more flexible compilation that can compile any kind of AST with a warning if it requires nested queries