QGIS+PostGIS:: Очередное разочарование? upd:РЕШЕНО.РАБОТАЕТ.

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
ttestt
Участник
Сообщения: 82
Зарегистрирован: 22 сен 2008, 20:41
Репутация: 1

QGIS+PostGIS:: Очередное разочарование? upd:РЕШЕНО.РАБОТАЕТ.

Сообщение ttestt » 17 июн 2009, 16:01

Сегодня тестировал домученную наконец-то таблицу в постгисе.
Задумка интересная. Переопределены insert, update, delete правила. Итог - любое изменение в таблице приводит к созданию копии записи с текущей датой-временем как доп.аттрибутом, а запрос на выдачу данных автоматом выбирает только самые новые значения, таким образом также можно очень просто получить состояние таблицы на любой момент времени.
Но обнаружил что работать эта вещь с квантумом 1.0.2 _не_будет_.
Причина:
Открываю на редактирование слой, перемещаю точку, прекращаю редактирование с сохранением.
Вместо ожидаемого update на записи, выполняется последовательно delete записи, и затем insert новой записи с этими данными :( вот такая история.

Собственно интересно, будет ли квантум выполнять update записи или об этом можно и не мечтать?
Или, может быть, проблема в другом месте.

Upd:
Проблема решена. Все работает.
Опечатка в правилах. Когда доделаю полностью, опубликую решение, если кому нужно.
Последний раз редактировалось ttestt 25 июн 2009, 10:59, всего редактировалось 7 раз.

Dorofeev
Активный участник
Сообщения: 194
Зарегистрирован: 08 фев 2007, 23:29
Репутация: 1
Откуда: Симферополь
Контактная информация:

Re: Очередное разочарование? Похоже да.

Сообщение Dorofeev » 17 июн 2009, 16:24

А это вы о чем ? О истории в QGis? Ничего об этом не слышал, можно поподробнее

ttestt
Участник
Сообщения: 82
Зарегистрирован: 22 сен 2008, 20:41
Репутация: 1

Re: Очередное разочарование? Похоже да.

Сообщение ttestt » 17 июн 2009, 21:36

История изменений может быть сделана прозрачно для пользователя при использовании POSTGIS (PostgreSQL)
К сожалению прозрачно для пользователя (абсолютно ему незаметно) это только в том случае если клиентское приложение для добавления записи использует insert, для удаления delete,
а для изменения - update, как положено, а не связку из delete+insert, в случае такого "извращения" - выхода из положения два:
1) переделывать клиентское приложение
2) возложить часть работы по изменению и ведению уникального идентификатора записи, который сопровождает эту запись от рождения(insert), до уничтожения(delete) - на пользователя. потому как нет возможности достоверно отделить процесс изменения записи от создания новой (отделить - средствами БД).

А плюс в работе с БД и так большой (работа с любого рабместа с общей геобазой, возможность одновременной работы с таблицей и картой на редактирование - это проверено)
Можно еще упомянуть текстовые поля практически любой длины, вроде. Вобщем, вкусностей много.

Но использование delete+insert вместо update многое меняет, к сожалению. Отсекает многое из того что можно реализовать средствами БД. Посмотрим что скажут гуру.

Тут уже пробегало, как сделать такую таблицу, чтобы доступ на запись к объекту имел только тот кто создал _объект_.
На базе этого все и делалось, но обнаружил, что вместо update происходит последовательно delete+insert.

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Очередное разочарование?(QGIS+PostGIS) upd:РЕШЕНО.РАБОТАЕТ.

Сообщение Voltron » 19 июн 2009, 11:26

ttestt писал(а):Когда доделаю полностью, опубликую решение, если кому нужно.
Думаю, это нужно многим. Ждем статьи или просто описания в этой теме :-)


Ответить

Вернуться в «QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость