diff --git a/src/PostgREST/Config/Database.hs b/src/PostgREST/Config/Database.hs index 9e439ac19..28d191dcd 100644 --- a/src/PostgREST/Config/Database.hs +++ b/src/PostgREST/Config/Database.hs @@ -10,7 +10,6 @@ import PostgREST.Config.PgVersion (PgVersion (..)) import qualified Hasql.Decoders as HD import qualified Hasql.Encoders as HE -import qualified Hasql.Pool as SQL import Hasql.Session (Session, statement) import qualified Hasql.Statement as SQL import qualified Hasql.Transaction as SQL @@ -29,11 +28,10 @@ pgVersionStatement = SQL.Statement sql HE.noParams versionRow False sql = "SELECT current_setting('server_version_num')::integer, current_setting('server_version')" versionRow = HD.singleRow $ PgVersion <$> column HD.int4 <*> column HD.text -queryDbSettings :: SQL.Pool -> Bool -> IO (Either SQL.UsageError [(Text, Text)]) -queryDbSettings pool prepared = +queryDbSettings :: Bool -> Session [(Text, Text)] +queryDbSettings prepared = let transaction = if prepared then SQL.transaction else SQL.unpreparedTransaction in - SQL.use pool . transaction SQL.ReadCommitted SQL.Read $ - SQL.statement mempty dbSettingsStatement + transaction SQL.ReadCommitted SQL.Read $ SQL.statement mempty dbSettingsStatement -- | Get db settings from the connection role. Global settings will be overridden by database specific settings. dbSettingsStatement :: SQL.Statement () [(Text, Text)] diff --git a/src/PostgREST/Workers.hs b/src/PostgREST/Workers.hs index 28a46f0eb..2de3591dd 100644 --- a/src/PostgREST/Workers.hs +++ b/src/PostgREST/Workers.hs @@ -234,7 +234,7 @@ reReadConfig startingUp appState = do AppConfig{..} <- AppState.getConfig appState dbSettings <- if configDbConfig then do - qDbSettings <- queryDbSettings (AppState.getPool appState) configDbPreparedStatements + qDbSettings <- SQL.use (AppState.getPool appState) $ queryDbSettings configDbPreparedStatements case qDbSettings of Left e -> do let