aboutsummaryrefslogtreecommitdiff
path: root/app/Models
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2016-09-29 23:36:25 +0200
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2016-09-29 23:36:25 +0200
commitc35111fe53ba2081abc735cb61e83987ade5ce86 (patch)
tree6963ff713fca5f36747596dc0a955ef2ec6205d1 /app/Models
parentdbc68590da1d95c249f780e2d3ff4707f6f504e9 (diff)
Fix SQLite
Diffstat (limited to 'app/Models')
-rw-r--r--app/Models/StatsDAO.php7
-rw-r--r--app/Models/StatsDAOSQLite.php6
2 files changed, 11 insertions, 2 deletions
diff --git a/app/Models/StatsDAO.php b/app/Models/StatsDAO.php
index fa682f488..2ce4f2944 100644
--- a/app/Models/StatsDAO.php
+++ b/app/Models/StatsDAO.php
@@ -4,6 +4,10 @@ class FreshRSS_StatsDAO extends Minz_ModelPdo {
const ENTRY_COUNT_PERIOD = 30;
+ protected function sqlFloor($s) {
+ return "FLOOR($s)";
+ }
+
/**
* Calculates entry repartition for all feeds and for main stream.
*
@@ -65,8 +69,9 @@ SQL;
$oldest = $midnight - (self::ENTRY_COUNT_PERIOD * 86400);
// Get stats per day for the last 30 days
+ $sqlDay = $this->sqlFloor("(date - $midnight) / 86400");
$sql = <<<SQL
-SELECT FLOOR((date - {$midnight}) / 86400) AS day,
+SELECT {$sqlDay} AS day,
COUNT(*) as count
FROM `{$this->prefix}entry`
WHERE date >= {$oldest} AND date < {$midnight}
diff --git a/app/Models/StatsDAOSQLite.php b/app/Models/StatsDAOSQLite.php
index ec0cfa81a..6cfc20463 100644
--- a/app/Models/StatsDAOSQLite.php
+++ b/app/Models/StatsDAOSQLite.php
@@ -2,6 +2,10 @@
class FreshRSS_StatsDAOSQLite extends FreshRSS_StatsDAO {
+ protected function sqlFloor($s) {
+ return "CAST(($s) AS INT)";
+ }
+
protected function calculateEntryRepartitionPerFeedPerPeriod($period, $feed = null) {
if ($feed) {
$restrict = "WHERE e.id_feed = {$feed}";
@@ -26,7 +30,7 @@ SQL;
$repartition[(int) $value['period']] = (int) $value['count'];
}
- return $this->convertToSerie($repartition);
+ return $repartition;
}
}