Advanced Search и пустые строки
-
- Гуру
- Сообщения: 588
- Зарегистрирован: 30 мар 2009, 21:53
- Репутация: 55
- Откуда: Королев
Advanced Search и пустые строки
QGIS 1.8, 1.9. Win
Задача: выбрать записи в слое, у которых определенный строчный атрибут (допустим "NAME") пустой (NULL).
Нерабочий вариант, который можно ввести с помощью формы:
NAME = ''
Нерабочий вариант, который можно предположить и ввести вручную:
NAME = NULL
Рабочий вариант, который можно ввести вручную, но никто кроме SQL программистов так не сделает:
NAME IS NULL
Форма не отображает NULL значение в списке ALL. Форма не имеет кнопки IS, и не понятно почему она должна быть, более логичный вариант "=", но он не работает.
Многих пользователей смущает, что синтаксис поиска отличается от синтаксиса Query builder, хотя форма одна и та же.
Задача: выбрать записи в слое, у которых определенный строчный атрибут (допустим "NAME") пустой (NULL).
Нерабочий вариант, который можно ввести с помощью формы:
NAME = ''
Нерабочий вариант, который можно предположить и ввести вручную:
NAME = NULL
Рабочий вариант, который можно ввести вручную, но никто кроме SQL программистов так не сделает:
NAME IS NULL
Форма не отображает NULL значение в списке ALL. Форма не имеет кнопки IS, и не понятно почему она должна быть, более логичный вариант "=", но он не работает.
Многих пользователей смущает, что синтаксис поиска отличается от синтаксиса Query builder, хотя форма одна и та же.
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Advanced Search и пустые строки
пристегивайтесь, турбулентность прямо по курсу
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Advanced Search и пустые строки
пристегивайтесь, турбулентность прямо по курсу
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Advanced Search и пустые строки
в общем всё интересно, это не проблема апстрима и не проблема форм, а проблема ... спецификации самого SQL в которой действительно позволяется троичная логика (True, False, Unknown):
Резюмируя, если я правильно все понял, придется привыкать.
Advanced search использует QgsExpression (который видимо основан на хардкорном SQL), а Query Builder - провайдер, в данном случае диалект OGR SQL, который не так суров, но факт - другой.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;
Резюмируя, если я правильно все понял, придется привыкать.
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 588
- Зарегистрирован: 30 мар 2009, 21:53
- Репутация: 55
- Откуда: Королев
Re: Advanced Search и пустые строки
Стоп стоп стоп.
'Advanced search использует QgsExpression (который видимо основан на хардкорном SQL)' - если это действительно так, то и форма должна соответствовать этому. Сейчас выходит, что форма одна, а контекст у неё разный. И для одного случая (Query Builder) она хорошо подходит, а вот для поиска - подходит примерно. Если есть отличия в движках, то и формы нужно делать разные. ИМХО.
'Advanced search использует QgsExpression (который видимо основан на хардкорном SQL)' - если это действительно так, то и форма должна соответствовать этому. Сейчас выходит, что форма одна, а контекст у неё разный. И для одного случая (Query Builder) она хорошо подходит, а вот для поиска - подходит примерно. Если есть отличия в движках, то и формы нужно делать разные. ИМХО.
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Advanced Search и пустые строки
В кугисе много что должно быть по другому, но пока - так, как есть. Я оттранслировал объяснение, а не решение.
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 588
- Зарегистрирован: 30 мар 2009, 21:53
- Репутация: 55
- Откуда: Королев
Re: Advanced Search и пустые строки
Да. Я прочитал ответ в трекере. К сожалению все подобные вещи реджектятся.
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Advanced Search и пустые строки
и правильно, не баг же.
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 588
- Зарегистрирован: 30 мар 2009, 21:53
- Репутация: 55
- Откуда: Королев
Re: Advanced Search и пустые строки
это неправильный дизайн функциональности.
именно из-за таких моментов говорят, что в кугис это сделать нельзя. хотя реально можно. нужно только обладать секретными данными
именно из-за таких моментов говорят, что в кугис это сделать нельзя. хотя реально можно. нужно только обладать секретными данными
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей