From a85c255f6a0ec669e2052f742abd2b617bd03162 Mon Sep 17 00:00:00 2001 From: John Ky Date: Sun, 22 Sep 2024 01:01:25 +1000 Subject: [PATCH] Functions exported Data.RdsData.Polysemy.Core take frozen callstack --- polysemy/Data/RdsData/Polysemy/Core.hs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/polysemy/Data/RdsData/Polysemy/Core.hs b/polysemy/Data/RdsData/Polysemy/Core.hs index 75ba412..c3f83c8 100644 --- a/polysemy/Data/RdsData/Polysemy/Core.hs +++ b/polysemy/Data/RdsData/Polysemy/Core.hs @@ -52,6 +52,7 @@ newBatchExecuteStatement sql = do & the @"database" .~ (context ^? the @"database" . _Just . the @1) executeStatement :: () + => HasCallStack => Member (DataLog AwsLogEntry) r => Member (Embed m) r => Member (Error AWS.Error) r @@ -63,7 +64,7 @@ executeStatement :: () => MonadIO m => Text -> Sem r AWS.ExecuteStatementResponse -executeStatement sql = do +executeStatement sql = withFrozenCallStack do res <- newExecuteStatement sql >>= sendAws case res ^. the @"httpStatus" of @@ -73,6 +74,7 @@ executeStatement sql = do _ -> throw $ RdsDataError $ "Failed to initialise database: " <> tshow res executeStatement_ :: () + => HasCallStack => Member (DataLog AwsLogEntry) r => Member (Embed m) r => Member (Error AWS.Error) r @@ -84,9 +86,11 @@ executeStatement_ :: () => MonadIO m => Text -> Sem r () -executeStatement_ = void . executeStatement +executeStatement_ f = withFrozenCallStack do + void $ executeStatement f initialiseDb :: () + => HasCallStack => Member (DataLog AwsLogEntry) r => Member (Embed m) r => Member (Error AWS.Error) r @@ -97,7 +101,7 @@ initialiseDb :: () => Member Resource r => MonadIO m => Sem r () -initialiseDb = do +initialiseDb = withFrozenCallStack do executeStatement_ $ mconcat [ "CREATE TABLE IF NOT EXISTS migration (" , " ulid CHAR(26) NOT NULL PRIMARY KEY,"