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

Ошибка qgis работы с полями int8 в postgis

Добавлено: 27 окт 2011, 12:41
gimran
Здравствуйте, перепроверил на postgresql 9.1 и 9.0 в связке с posgis для этих версий:
1) при коннекте слоя postgis qgis 1.7 при наличии поля типа bigint сообщается, что тип данных int8 не поддерживается, а поддерживается только int4;
2) ) при коннекте слоя postgis qgis 1.8 при наличии поля типа bigint коннект происходит, но часть данных из поля с типом данных bigint становятся отрицательными (в postgresql данные отображаются с верным значением, в qgis'е одни error'ы в части строк, при сохраненнии данных в шейп и просмотре dbf файла — значения отрицательные), а часть имеют нормальное значение и отображаются корректно.

При необходимости, могу присоединить к письму необходимые данные.

PS на сайте разработчиков попеременно «пофикшено» и «появилось» о данной проблеме попеременно из года в год.

Re: Ошибка qgis работы с полями int8 в postgis

Добавлено: 28 ноя 2011, 14:44
gimran
Ответов в этой теме не ждать?

Re: Ошибка qgis работы с полями int8 в postgis

Добавлено: 28 ноя 2011, 15:36
Максим Дубинин
gimran писал(а):PS на сайте разработчиков попеременно «пофикшено» и «появилось» о данной проблеме попеременно из года в год.
ссылку дайте

Re: Ошибка qgis работы с полями int8 в postgis

Добавлено: 28 ноя 2011, 18:56
gimran
http://www.osgeo.org/pipermail/qgis-use ... 09829.html
http://trac.osgeo.org/qgis/ticket/964
http://trac.osgeo.org/qgis/attachment/t ... ug_964.txt
http://trac.osgeo.org/qgis/attachment/t ... 080302.sql
http://trac.osgeo.org/qgis/ticket/134
http://www.osgeo.org/pipermail/qgis-dev ... 04714.html
http://www.osgeo.org/pipermail/qgis-dev ... 14019.html
и т.д., то есть от сборки к сборке попеременно решается и появляется проблема с полями типа int8, что тормозит использование postgis и требует переработок структуры БД и «костылей» в коде :(

Re: Ошибка qgis работы с полями int8 в postgis

Добавлено: 28 ноя 2011, 19:53
Voltron
Ай-яй-яй, обманывать нехорошо. #134 не имеет никакого отношения к описанной вами проблеме, то же самое можно сказать и про #964 (оба бага, кстати закрыты). В приведенных вами обсуждениях ни слова не сказано про «пофикшено». 62 можно было бы и засчитать, но во-первых там про поля с типами, отличными от любых проявлений int (например, string или ctid), а во-вторых, тикет все еще открыт.

Вот коммит, в котором добавлена поддержка полей с типом int8 при поиске кандидатов на первичный ключ.

Re: Ошибка qgis работы с полями int8 в postgis

Добавлено: 28 ноя 2011, 20:14
gimran
Значит я невнимательно читал, но на постгисе работает только около 40% записей с int8 (могу привести завтра пример в виде принтскрина или отрывка данных).

Re: Ошибка qgis работы с полями int8 в postgis

Добавлено: 28 ноя 2011, 21:36
Voltron
У вас какая версия QGIS (желательно с хэшем коммита)? Топик начат в октябре, коммит, о котором написано в предыдущем посте, датирован 7 ноября. Проверьте на последних версиях

Re: Ошибка qgis работы с полями int8 в postgis

Добавлено: 29 ноя 2011, 06:12
gimran
Обновился: 4b86c71 1.9.90 - ситуация таже, 1.7.2-Wroclaw говорит:
There were no columns in the table that were suitable as a qgis key into the table (either a column with a unique index and type int4 or a PostgreSQL oid column.

Уникальный индекс поля «lpt_id» непригоден, поскольку QGIS в настоящее время не поддерживает ключевые поля с типом, отличным от int4.

Re: Ошибка qgis работы с полями int8 в postgis

Добавлено: 09 янв 2012, 18:28
Voltron
В ce4fc1daa5 появилась поддержка первичных ключей разного типа, и даже составных первичных ключей. Тестируйте.

Re: Ошибка qgis работы с полями int8 в postgis

Добавлено: 10 янв 2012, 06:55
gimran
Теперь ошибки с с полями int8 в postgis нету, но зато кугис перестал «узнавать» поля geometry *истерически смеюсь*
Изначально в поле — точка с координатами x, y. Раньше полноценно грузились части точек (около 40%), теперь с полями int8 работает, но зато геометрию не грузит:

«Quantum GIS (1.9.90)
Слой ... не является действительным и не может быть загружен»

блин :(

Re: Ошибка qgis работы с полями int8 в postgis

Добавлено: 10 янв 2012, 08:47
Максим Дубинин
автор исправления указал что может поломаться

как всегда, нужен четкий тесткейс, пример базы, версия кугис и т.д.

Re: Ошибка qgis работы с полями int8 в postgis

Добавлено: 10 янв 2012, 09:12
gimran
А нет, слой нормально формируется и сохраняется в шейп, но отрисовка не идёт.