aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2013-11-27 22:50:00 +0100
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2013-11-27 22:50:00 +0100
commit4355d8447f8e9073f4d96a35b280bad5ba793e32 (patch)
tree8547c01168bb90dafd9d2e619b7b9c65ead44d88
parent91bf307d49b5494e0257bd9bb064c9369d3df6a5 (diff)
SQL : Passe e.id en bigint plutôt que char(6)
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/202 e.id est généré à l'insertion par microtime(true).
-rwxr-xr-xapp/models/Entry.php12
-rw-r--r--public/install.php4
2 files changed, 6 insertions, 10 deletions
diff --git a/app/models/Entry.php b/app/models/Entry.php
index abf381a9b..c5ff6ab60 100755
--- a/app/models/Entry.php
+++ b/app/models/Entry.php
@@ -2,7 +2,7 @@
class Entry extends Model {
- private $id = null;
+ private $id = 0;
private $guid;
private $title;
private $author;
@@ -29,11 +29,7 @@ class Entry extends Model {
}
public function id () {
- if(is_null($this->id)) {
- return small_hash ($this->guid . Configuration::selApplication ());
- } else {
- return $this->id;
- }
+ return $this->id;
}
public function guid () {
return $this->guid;
@@ -195,11 +191,11 @@ class Entry extends Model {
class EntryDAO extends Model_pdo {
public function addEntry ($valuesTmp) {
- $sql = 'INSERT INTO ' . $this->prefix . 'entry(id, guid, title, author, content, link, date, is_read, is_favorite, id_feed, tags) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
+ $sql = 'INSERT INTO ' . $this->prefix . 'entry(id, guid, title, author, content, link, date, is_read, is_favorite, id_feed, tags) VALUES(CAST(? * 1000000 AS SIGNED INTEGER), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
$stm = $this->bd->prepare ($sql);
$values = array (
- $valuesTmp['id'],
+ microtime(true),
substr($valuesTmp['guid'], 0, 760),
substr($valuesTmp['title'], 0, 255),
substr($valuesTmp['author'], 0, 255),
diff --git a/public/install.php b/public/install.php
index 7709bb350..252403196 100644
--- a/public/install.php
+++ b/public/install.php
@@ -44,7 +44,7 @@ define ('SQL_REQ_FEED', 'CREATE TABLE IF NOT EXISTS `%sfeed` (
) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
define ('SQL_REQ_ENTRY', 'CREATE TABLE IF NOT EXISTS `%sentry` (
- `id` char(6) NOT NULL,
+ `id` bigint NOT NULL, -- v0.7
`guid` varchar(760) CHARACTER SET latin1 NOT NULL, -- Maximum for UNIQUE is 767B
`title` varchar(255) NOT NULL,
`author` varchar(255) NOT NULL,
@@ -60,7 +60,7 @@ define ('SQL_REQ_ENTRY', 'CREATE TABLE IF NOT EXISTS `%sentry` (
UNIQUE KEY (`id_feed`,`guid`), -- v0.7
INDEX (`is_favorite`), -- v0.7
INDEX (`is_read`), -- v0.7
- INDEX (`date`) -- v0.7 //TODO: remove after https://github.com/marienfressinaud/FreshRSS/issues/202
+ INDEX (`date`) -- v0.7 //Consider removing after https://github.com/marienfressinaud/FreshRSS/issues/202
) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;');