Игорь Горбонос пишет:
Там можно изменить запрос для конкретного сервера.
Скажи, только как! :-)
Я поменял на равенство, заработало как нужно, только я не уверен, что
это касаеться только Firebird. Я менял в модуле DatabaseManager.cs
...
private static int CreateMissingTopics(JanusDB db, string stringizedBatch)
или нужно не там менять, я в с# не силён однако :(
Я бы предложил всё же заменить на
SELECT
msg."tid" AS "mid",
msg."gid",
0 AS "tid",
0 AS "pid",
msg."dte",
'<<Темы нет в локальной БД>>' AS "usernick",
msg."subject",
3 AS "uclass",
-1 AS "uid", 0 AS "ismarked", 0 AS "isread"
FROM
"messages" msg
INNER JOIN (
SELECT
Min(msga."mid") as mid
FROM
("messages" msga
LEFT JOIN "messages" msgb on msga."pid" = msgb."mid")
LEFT JOIN "messages" msgc on msga."tid" = msgc."mid"
WHERE
msga."tid" <> 0 AND msgb."mid" IS Null AND msgc."mid" IS Null
AND msga."mid" IN (1, 2, 3, 4)
GROUP BY
msga."tid"
) as msgd on msgd.mid = msg."mid"
Только Jet этот запрос точно не переварит.
По моему, нужно создать виртуальный метод в SqlScriptFactory и перекрыть
его в FbScripts. Как это сделано для GetSubscribedForumList...