Re: Several topics with sqlite |
Mon, 15 June 2009 13:13 |
|
Try this and let me know if it helps:
Index: users.inc.t
===================================================================
RCS file: /forum21/install/forum_data/src/users.inc.t,v
retrieving revision 1.171
diff -u -r1.171 users.inc.t
--- users.inc.t 3 May 2009 18:57:06 -0000 1.171
+++ users.inc.t 15 Jun 2009 17:12:27 -0000
@@ -781,7 +781,7 @@
function user_mark_forum_read($id, $fid, $last_view)
{
- if (__dbtype__ == 'mysql') {
+ if (__dbtype__ == 'mysql' || __dbtype__ == 'sqlite') {
if ($GLOBALS['FUD_OPT_3'] & 1024) {
q('INSERT INTO {SQL_TABLE_PREFIX}read (user_id, thread_id, msg_id, last_view) SELECT '.$id.', id, last_post_id, '.__request_timestamp__.' FROM {SQL_TABLE_PREFIX}thread WHERE forum_id='.$fid.' AND last_post_date > '.$last_view.' ON DUPLICATE KEY UPDATE last_view=VALUES(last_view), msg_id=VALUES(msg_id)');
} else {
|
|
Post by icarus is ignored |
Re: Several topics with sqlite |
Sat, 13 June 2009 03:47 |
|
I've asked for help on the sqlite mailing list. Pavel Ivanov replied with this alternate syntax that will work on sqlite:
UPDATE fud28_read
SET user_id=2, last_view=1244710953,
msg_id=(SELECT last_post_id FROM fud28_thread
WHERE id = fud28_read.thread_id)
WHERE user_id=2
AND thread_id in (SELECT id FROM fud28_thread
WHERE forum_id=4 AND last_post_date > 0)
The original query works on MySQL, PostgreSQL and Oracle - so, maybe they will support the original syntax in a future release.
|
|
Re: Several topics with sqlite |
Thu, 11 June 2009 11:54 |
|
This query makes use of an inline view (or derived table), which is a SELECT statement within the FROM clause of the query. However, I couldn't find anything on the subject over at sqlite.org.
|
|
Post by icarus is ignored |