Intellect Board — cистема управления сайтомПостроение сайта на основе форума |
Intellect Board — cистема управления сайтом » Техническая поддержка версии 2.18 » PostgreSQL |
Правила раздела |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 11 12 13 14 15 16 17 18 Модераторы: aerograf, wsx | Печать |
-KoT- |
Блин, еще ошибка, надеюсь, последняя -KoT- написал: нужно: fulltext_idx @@ to_tsquery('$text2') AND fulltext_idx @@ to_tsquery('$text') AND |
-KoT- |
В дистрибутиве от 30 июня не исправлено или содержит ошибки в отношении к PostgreSQL: файл photos.php строки 35-37, порядок перечисления таблиц, деление без NULLIF, должно быть $sql = "SELECT t.*, ph.*, p2.p_uname AS u__name, p2.p_uid AS u_id, p2.p__time AS posttime, t__ratingsum/NULLIF(t__ratingcount,0) AS trating, tv.tid AS visited, t__pcount AS pcount, p1.p__time AS lastpost ". moderate.php, строка 171 порядок перечисления таблиц, должно быть $sql = "SELECT f_id FROM ".$GLOBALS['DBprefix']."Topic, ".$GLOBALS['DBprefix']."Forum ". строка 616, пропущена точка между AND fid=" и $GLOBALS['forum'];misc.php, строка 105 имя таблицы, передаваемое в ф-цию db_match, должно заканчиваться точкой, должно быть $sql = "SELECT t_id,t_title, ".db_match($GLOBALS['DBprefix']."Topic.",$modedata,$title,"t_title,t_descr")." FROM ".$GLOBALS['DBprefix']."Topic WHERE ".db_match2($GLOBALS['DBprefix']."Topic.",$modedata,$title,"t_title,t_descr").">0 $sqldata ORDER BY rel DESC"; search.php, строки 112-121 — так же не хватает точки, должно быть if ($mode=="0") { строки 159-160, не хватает точки, должно быть $sql = "INSERT INTO ".$GLOBALS['DBprefix']."SearchResult (srid,srpid,relevancy) SELECT $id,t_id, SUM(".db_match("t.",$modedata,$text,'t.t_text','t.t_title').") FROM ".$GLOBALS['DBprefix']."Forum f, ".$GLOBALS['DBprefix']."Topic t, ".$GLOBALS['DBprefix']."Post p ". admin/stats.php: MOD(FLOOR(FLOAT(x)/y),z) в PostgreSQL не работает! Лучше оставить как было elseif ($period=="wdays") $group1="MOD(FLOOR(uo_time/".(24*60*60)."),7)"; и вырезать FLOOR из MOD в pssql.php, соотвествующий preg_replace там есть.admin/group.php, строка 181, REPLACE, должно быть $sql = "DELETE FROM ".$GLOBALS['DBprefix']."UGroupAccess WHERE gid=\"$gid\" AND fid=\"".addslashes($curforum); db/pssql.php, стока 133, неэкранированные кавычки ("100%"). Кроме того, при поиске вылетает ошибка на несуществующее поле "rel". Решение - добавить "AS rel" в ф-цию db_match: return "rank(".$tab."fulltext_idx,to_tsquery('$text1')) AS rel"; Install.php в юникоде С этими изменениями всё работает без ошибок. |
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик Откуда: Москва Всего сообщений: 3299 Рейтинг пользователя: 70 Ссылка Дата регистрации на форуме: 29 сен. 2001 |
С FLOOR и MOD ситуацию решил следующим образом: вместо MOD(FLOOR(что-то там)) сделал FLOOR(MOD(что-то там)). Это работает одинаково как в MySQL, так и в PostgreSQL. А делать замену по предложенному тобой варианту я не хотел, т.к. это могло привести к тому, что мог бы исказиться текст сообщения, если бы он содержал этот самый MOD. Сейчас все исправления внесены в дистрибутив и выложены. С UTF-8 возникали проблемы из-за того, что программа, которую я использую в качестве файл-менеджера, неправильно показывала кодировку: она при загрузке файла автоматически определяла ее как UTF-8, но при этом показывала, что стоит cp1251. Потом я его в другой программе перекодировал + провел пробную установку (в ходе которой выявил еще несколько мелких ошибок в install.php). Сейчас все наконец-то должно работать нормально. Оффтопик: Но вообще, видимо, начиная со следующей версии придется вводить разделение на stable и under development версии. ---
Спорить со мной по поводу того, что в IntB будет, а чего нет -- бесполезно! |
-KoT- |
Профиль | Сообщить модератору | Игнорировать
NEW! Сообщение отправлено: 1 июля 2006 23:34 Сообщение отредактировано: 1 июля 2006 23:43 XXXX Pro написал: А делать замену по предложенному тобой варианту я не хотел, т.к. это могло привести к тому, что мог бы исказиться текст сообщения, если бы он содержал этот самый MOD. Да, я об этом не подумал. Тогда нужно убрать из pssql.php: $query=preg_replace("/MOD\(FLOOR\(/is","MOD((",$query); В photos.php NULLIF добавлен, но порядок перечисления таблиц в этом же запросе не исправлен, последней в FROM должна стоять Topic В moderate.php строка 171 то же самое, последней должна быть .$GLOBALS['DBprefix']."Forum " P.S. На следующей неделе, если выберу время, буду ставить форум на PostgreSQL для "боевого применения". |
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик Откуда: Москва Всего сообщений: 3299 Рейтинг пользователя: 70 Ссылка Дата регистрации на форуме: 29 сен. 2001 |
Исправления внес, дистрибутив перевыложил... Надеюсь, это последние изменения... ---
Спорить со мной по поводу того, что в IntB будет, а чего нет -- бесполезно! |
-KoT- |
Поставил с нуля, ничего не правил. Пока ошибок не замечено. |
-KoT- |
Залил (пока на тестовый сервер в VMware — FreeBSD, Apache 2.2, PostgreSQL 8.1.4) backup с рабочей базы MySQL'а. Пока полет нормальный... |
-KoT- |
Работающий backup для PostgreSQL: function db_backup($filename,$mode="f") { Для работы backup'а необходимо наличие в базе двух хранимых процедур, их текст в прикрепленном файле. Для их создания достаточно выполнить один запрос из АЦ. Прикрепленный файл (fn_for_backup.txt, 3575 байт, скачан: 1243 раза) |
-KoT- |
Забыл совсем — еще в pssql добавить функцию: function db_table() { |
-KoT- |
Опять поторопился... ib_ — это префикс моей тестовой базы. На самом деле эта строка должна быть: " AND pt.relname LIKE ('".$GLOBALS['DBprefix']."%') ". Хотя, если в базу установлен только 1 форум, без этой строки вполне можно обойтись. |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 11 12 13 14 15 16 17 18 Модераторы: aerograf, wsx | Печать |
Intellect Board — cистема управления сайтом » Техническая поддержка версии 2.18 » PostgreSQL |
1 посетитель просмотрел эту тему за последние 10 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
Ограничение доступа не отображаются разделы Архив версий Установка стиля на Intellect Board 2.22 Завершилась работа над новой версией 3.00 |
Самые активные 5 тем | |