← All posts tagged persist

Прикольно, полез поискать, как persist работает с произвольными Constraint-ами. Нашёл только разговор @qurilka со Снойманом, где последний говорит, что он открыт для предложений... Знакомые всё лица.

Забавный прикол 
Этот хендлер отправляет приложение в SegFault

getFileMetaR  fileId = do
    File {..} <- runDB $ get404 fileId
    returnJson $ object ["id" .= fileId, "mime-type" .= fileMimetype, "ttl" .= fileTtl]

а этот нет
getFileMetaR  fileId = do
    File {..} <- fromJust404 $ runDB $ get fileId
    returnJson $ object ["id" .= fileId, "mime-type" .= fileMimetype, "ttl" .= fileTtl]

Где 
fromJust404 ::MonadHandler m => m (Maybe a) -> m a
fromJust404 l = l >>= maybe notFound return

а get404 http://hackage.haskell.org/packages/archive/yesod-persistent/1.2.0/doc/html/src/Yesod-Persist.html#get404