Несоответствие типов в запросе при работе с PostgreSQL

Аватар пользователя gWashington gWashington 25 октября 2011 в 15:21

Вот что внезапно выяснилось интересного.
При работе с MySQL запрос типа SELECT * FROM node WHERE nid = 'all' выдает пустой результат. При работе с PostgreSQL - ругается не соответствие типов, что логично, ведь тип поля nid - числовой.

Проявляется эта кака при работе с Views, когда есть аргумент (или сейчас контекстный фильтр) типа Содержимое: NID. Подставляем вместо значения какой-нибудь текст и если при работе с MySQL получаем просто пустой результат, то при работе с PostgreSQL вываливается ошибка, чего явно быть не должно.

А обнаружил я это косвенно (это, похоже, вторая проблема): когда я создаю этот контекстный фильтр, я хочу, чтобы когда вместо значения передается all, выводились все результаты. Дело в том, что начала вываливаться ошибка. Я стал пробовать на другом сайте, где СУБД - MySQL, там ошибки нет и все нормально выводится. Но что любопытно, ведь когда вместо значения аргумента стоит all, то по идее это условие в запросе вообще появляться не должно.

Комментарии

Аватар пользователя vgoodvin vgoodvin 25 октября 2011 в 17:36

Отправьте баг разработчикам вьюсов. Можете сразу патч с исправлениями приложить.