diff --git a/src/ATrade/MDS/Database.hs b/src/ATrade/MDS/Database.hs index 8bd06b6..e6a68d5 100644 --- a/src/ATrade/MDS/Database.hs +++ b/src/ATrade/MDS/Database.hs @@ -84,8 +84,11 @@ getData db tickerId interval@(TimeInterval start end) (Timeframe tfSec) = do getDataConduit :: (MonadIO m) => MdsHandle -> TickerId -> TimeInterval -> Timeframe -> ConduitT () Bar m () getDataConduit db tickerId (TimeInterval start end) (Timeframe tfSec) = do + liftIO $ debugM "DB" "Preparing query" stmt <- liftIO $ prepare db "SELECT timestamp, timeframe, open, high, low, close, volume FROM bars WHERE ticker LIKE ? AND timeframe == ? AND timestamp >= ? AND timestamp <= ? ORDER BY timestamp ASC;" + liftIO $ debugM "DB" "Executing query" _ <- liftIO $ execute stmt [(toSql. T.unpack) tickerId, toSql tfSec, (toSql . utcTimeToPOSIXSeconds) start, (toSql . utcTimeToPOSIXSeconds) end] + liftIO $ debugM "DB" "Query executed" whileJust_ (liftIO $ fetchRow stmt) $ \row -> case barFromResult tickerId row of Just bar -> yield bar Nothing -> return ()