Страница 1 из 1

Advanced Search и пустые строки

Добавлено: 13 мар 2013, 09:47
yellow-sky
QGIS 1.8, 1.9. Win
Задача: выбрать записи в слое, у которых определенный строчный атрибут (допустим "NAME") пустой (NULL).
Нерабочий вариант, который можно ввести с помощью формы:
NAME = ''
Нерабочий вариант, который можно предположить и ввести вручную:
NAME = NULL
Рабочий вариант, который можно ввести вручную, но никто кроме SQL программистов так не сделает:
NAME IS NULL

Форма не отображает NULL значение в списке ALL. Форма не имеет кнопки IS, и не понятно почему она должна быть, более логичный вариант "=", но он не работает.
Многих пользователей смущает, что синтаксис поиска отличается от синтаксиса Query builder, хотя форма одна и та же.

Re: Advanced Search и пустые строки

Добавлено: 17 мар 2013, 09:58
Максим Дубинин
Изображение

Re: Advanced Search и пустые строки

Добавлено: 17 мар 2013, 18:14
Максим Дубинин

Re: Advanced Search и пустые строки

Добавлено: 17 мар 2013, 21:07
Максим Дубинин
в общем всё интересно, это не проблема апстрима и не проблема форм, а проблема ... спецификации самого SQL в которой действительно позволяется троичная логика (True, False, Unknown):
Comparisons with Null, for instance equality (=) in WHERE clauses, results in an Unknown truth value. In SELECT statements SQL returns only results for which the WHERE clause returns a value of True;
Advanced search использует QgsExpression (который видимо основан на хардкорном SQL), а Query Builder - провайдер, в данном случае диалект OGR SQL, который не так суров, но факт - другой.

Резюмируя, если я правильно все понял, придется привыкать.

Re: Advanced Search и пустые строки

Добавлено: 01 апр 2013, 09:02
yellow-sky
Стоп стоп стоп.
'Advanced search использует QgsExpression (который видимо основан на хардкорном SQL)' - если это действительно так, то и форма должна соответствовать этому. Сейчас выходит, что форма одна, а контекст у неё разный. И для одного случая (Query Builder) она хорошо подходит, а вот для поиска - подходит примерно. Если есть отличия в движках, то и формы нужно делать разные. ИМХО.

Re: Advanced Search и пустые строки

Добавлено: 01 апр 2013, 10:48
Максим Дубинин
В кугисе много что должно быть по другому, но пока - так, как есть. Я оттранслировал объяснение, а не решение.

Re: Advanced Search и пустые строки

Добавлено: 01 апр 2013, 12:34
yellow-sky
Да. Я прочитал ответ в трекере. К сожалению все подобные вещи реджектятся.

Re: Advanced Search и пустые строки

Добавлено: 01 апр 2013, 15:19
Максим Дубинин
и правильно, не баг же.

Re: Advanced Search и пустые строки

Добавлено: 01 апр 2013, 16:32
yellow-sky
это неправильный дизайн функциональности.
именно из-за таких моментов говорят, что в кугис это сделать нельзя. хотя реально можно. нужно только обладать секретными данными