aboutsummaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
Diffstat (limited to 'app/models')
-rw-r--r--app/models/EntriesGetter.php12
-rwxr-xr-xapp/models/Entry.php12
2 files changed, 13 insertions, 11 deletions
diff --git a/app/models/EntriesGetter.php b/app/models/EntriesGetter.php
index dc7ecca7c..803aad732 100644
--- a/app/models/EntriesGetter.php
+++ b/app/models/EntriesGetter.php
@@ -98,13 +98,15 @@ class EntriesGetter {
HelperEntry::$first = $this->first; //TODO: Update: Now done in SQL
HelperEntry::$filter = $this->filter;
+ $sqlLimit = (empty ($this->filter['words']) && empty ($this->filter['tags'])) ? $this->nb : ''; //Disable SQL LIMIT optimisation during search //TODO: Do better!
+
switch ($this->type['type']) {
case 'all':
list ($this->entries, $this->next) = $entryDAO->listEntries (
$this->state,
$this->order,
$this->first,
- $this->nb
+ $sqlLimit
);
break;
case 'favoris':
@@ -112,7 +114,7 @@ class EntriesGetter {
$this->state,
$this->order,
$this->first,
- $this->nb
+ $sqlLimit
);
break;
case 'public':
@@ -120,7 +122,7 @@ class EntriesGetter {
$this->state,
$this->order,
$this->first,
- $this->nb
+ $sqlLimit
);
break;
case 'c':
@@ -129,7 +131,7 @@ class EntriesGetter {
$this->state,
$this->order,
$this->first,
- $this->nb
+ $sqlLimit
);
break;
case 'f':
@@ -138,7 +140,7 @@ class EntriesGetter {
$this->state,
$this->order,
$this->first,
- $this->nb
+ $sqlLimit
);
break;
default:
diff --git a/app/models/Entry.php b/app/models/Entry.php
index 4043e8f01..53f09b9c9 100755
--- a/app/models/Entry.php
+++ b/app/models/Entry.php
@@ -396,7 +396,7 @@ class EntryDAO extends Model_pdo {
. ' ORDER BY date' . $order . ', id' . $order;
if (!empty($limitCount)) {
- $sql .= ' LIMIT ' . $limitCount; //TODO: See http://explainextended.com/2009/10/23/mysql-order-by-limit-performance-late-row-lookups/
+ $sql .= ' LIMIT ' . ($limitCount + 1); //TODO: See http://explainextended.com/2009/10/23/mysql-order-by-limit-performance-late-row-lookups/
}
$stm = $this->bd->prepare ($sql);
@@ -405,19 +405,19 @@ class EntryDAO extends Model_pdo {
return HelperEntry::daoToEntry ($stm->fetchAll (PDO::FETCH_ASSOC));
}
public function listEntries ($state, $order = 'high_to_low', $limitFromId = '', $limitCount = '') {
- return $this->listWhere (' WHERE priority > 0', $state, $order, $limitFromId, $limitCount + 1);
+ return $this->listWhere (' WHERE priority > 0', $state, $order, $limitFromId, $limitCount);
}
public function listFavorites ($state, $order = 'high_to_low', $limitFromId = '', $limitCount = '') {
- return $this->listWhere (' WHERE is_favorite = 1', $state, $order, $limitFromId, $limitCount + 1);
+ return $this->listWhere (' WHERE is_favorite = 1', $state, $order, $limitFromId, $limitCount);
}
public function listPublic ($state, $order = 'high_to_low', $limitFromId = '', $limitCount = '') {
- return $this->listWhere (' WHERE is_public = 1', $state, $order, $limitFromId, $limitCount + 1);
+ return $this->listWhere (' WHERE is_public = 1', $state, $order, $limitFromId, $limitCount);
}
public function listByCategory ($cat, $state, $order = 'high_to_low', $limitFromId = '', $limitCount = '') {
- return $this->listWhere (' WHERE category = ?', $state, $order, $limitFromId, $limitCount + 1, array ($cat));
+ return $this->listWhere (' WHERE category = ?', $state, $order, $limitFromId, $limitCount, array ($cat));
}
public function listByFeed ($feed, $state, $order = 'high_to_low', $limitFromId = '', $limitCount = '') {
- return $this->listWhere (' WHERE id_feed = ?', $state, $order, $limitFromId, $limitCount + 1, array ($feed));
+ return $this->listWhere (' WHERE id_feed = ?', $state, $order, $limitFromId, $limitCount, array ($feed));
}
public function countUnreadRead () {