замена REPLACE INTO

Уважаемые разработчики, не могли бы вы заменить в коде такие mysql-специфичные запросы, как REPLACE INTO ?
Я сейчас пробую запустить Alto на Postgresql, уже успешно портировал схему и смотрю как выполняются запросы.
Конкретно REPLACE INTO можно заменить на простейшую конструкцию типа
SELECT ....
if (found)
{
    UPDATE 
}
else
{
    INSERT
}

Возможно, что есть другие моменты с SQL-запросами, но из-за НГ не успеваю просмотреть всё.

5 комментариев

+2
Если не секрет — почему используете PostgreSQL? Просто по каким-то политическим мотивам, или это техническая необходимость?
0
Почему A лучше B?
Наверное, потому что A объективно лучше B по всем параметрам.
Я не против mysql, пусть остаётся на 100-рублёвых хостингах.
+1
Запрос принят. Вообще есть очень большое желание обеспечить полноценную поддержку PostgreSQL, но остро не хватает кого-то, кто целенаправленно бы занимался тестированием под этой базой и указывал на подобные «нюансы», давал бы рекомендации, как лучше это сделать.
+1
Я готов этим заниматься. По возвращению из отпуска в середине января продолжу ревизию запросов.
+2
Спасибо разработчикам за оперативное исполнение пожелания.
В /common/classes/modules/user/mapper/User.mapper.class.php на 989 строке ещё осталось
REPLACE ?_reminder
В целом я уже запустил alto на postgresql, но пока местами вылезают косяки с запросами.
После отлова и исправления всех глюков на днях выложу дамп схемы и diff по коду.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.