Bug report #13071
Editing tools not available with PostGIS layers
Status: | Closed | ||
---|---|---|---|
Priority: | High | ||
Assignee: | - | ||
Category: | Data Provider/PostGIS | ||
Affected QGIS version: | 2.10.0 | Regression?: | No |
Operating System: | Easy fix?: | No | |
Pull Request or Patch supplied: | No | Resolution: | not reproducable |
Crashes QGIS or corrupts data: | No | Copied to github as #: | 21141 |
Description
2.10 doesn't allow to edit PostGIS layers with other tool than split features. I am both the owner of the database and the table. No messages in the log. Installed from qgis repo. Running elementaryOS built on Ubuntu 14.04 64bit.
History
#1 Updated by Edward H over 9 years ago
You must have a primarykey defined for the layer. In the previous release, it was not necessary for editing PostGIS layer. But this "rule" is maybe too restricitve and may be considered as a bug... I'm not developper...
#2 Updated by Michal Zimmermann over 9 years ago
Thanks that works, QGIS crashes when tries to save the changes though. All the PostGIS says is:
2015-07-06 10:04:51 CEST ERROR: invalid name syntax
2015-07-06 10:04:51 CEST STATEMENT: SELECT st_estimatedextent('"szif"','"dpb_01"','wkb_geometry')
2015-07-06 10:05:16 CEST LOG: unexpected EOF on client connection with an open transaction
#3 Updated by Michal Zimmermann over 9 years ago
And here comes more from QGIS
Fatal: ASSERT failure in QList<T>::operator[]: "index out of range", file /usr/include/qt4/QtCore/qlist.h, line 477 Stacktrace (piped through c++filt): /usr/bin/qgis.bin[0x4cd810] /usr/bin/qgis.bin[0x4cd918] /usr/lib/x86_64-linux-gnu/libQtCore.so.4(qt_message_output(QtMsgType, char const*)+0x21)[0x7f4a7fc5bbb1] /usr/lib/x86_64-linux-gnu/libQtCore.so.4(+0x70ff9)[0x7f4a7fc5bff9] /usr/lib/x86_64-linux-gnu/libQtCore.so.4(qFatal(char const*, ...)+0x94)[0x7f4a7fc5c804] /usr/lib/qgis/plugins/libpostgresprovider.so(QgsPostgresProvider::addFeatures(QList<QgsFeature>&)+0xa8e)[0x7f49eea7808e] /usr/lib/libqgis_core.so.2.10.0(QgsVectorLayerEditBuffer::commitChanges(QStringList&)+0x7e1)[0x7f4a815bb581] /usr/lib/libqgis_core.so.2.10.0(QgsVectorLayer::commitChanges()+0x86)[0x7f4a815aec46] /usr/bin/qgis.bin(QgisApp::saveEdits(QgsMapLayer*, bool, bool)+0x6e)[0x4d8a0e] /usr/bin/qgis.bin[0x7edaa3] /usr/lib/x86_64-linux-gnu/libQtCore.so.4(QMetaObject::activate(QObject*, QMetaObject const*, int, void**)+0x2da)[0x7f4a7fd7c87a] /usr/lib/x86_64-linux-gnu/libQtGui.so.4(QAction::triggered(bool)+0x32)[0x7f4a7f0fba62] /usr/lib/x86_64-linux-gnu/libQtGui.so.4(QAction::activate(QAction::ActionEvent)+0x63)[0x7f4a7f0fd433] /usr/lib/x86_64-linux-gnu/libQtGui.so.4(+0x57cb92)[0x7f4a7f4b4b92] /usr/lib/x86_64-linux-gnu/libQtGui.so.4(QAbstractButton::mouseReleaseEvent(QMouseEvent*)+0x6c)[0x7f4a7f4b4cbc] /usr/lib/x86_64-linux-gnu/libQtGui.so.4(QToolButton::mouseReleaseEvent(QMouseEvent*)+0xa)[0x7f4a7f56baca] /usr/lib/x86_64-linux-gnu/libQtGui.so.4(QWidget::event(QEvent*)+0xaca)[0x7f4a7f15151a] /usr/lib/x86_64-linux-gnu/libQtGui.so.4(QApplicationPrivate::notify_helper(QObject*, QEvent*)+0x8c)[0x7f4a7f101e2c] /usr/lib/x86_64-linux-gnu/libQtGui.so.4(QApplication::notify(QObject*, QEvent*)+0x3ad)[0x7f4a7f1085dd] /usr/lib/libqgis_core.so.2.10.0(QgsApplication::notify(QObject*, QEvent*)+0x5b)[0x7f4a814045cb] /usr/lib/x86_64-linux-gnu/libQtCore.so.4(QCoreApplication::notifyInternal(QObject*, QEvent*)+0x6d)[0x7f4a7fd684dd] /usr/lib/x86_64-linux-gnu/libQtGui.so.4(QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool)+0x153)[0x7f4a7f107d93] /usr/lib/x86_64-linux-gnu/libQtGui.so.4(+0x2449eb)[0x7f4a7f17c9eb] /usr/lib/x86_64-linux-gnu/libQtGui.so.4(QApplication::x11ProcessEvent(_XEvent*)+0x1559)[0x7f4a7f17c289] /usr/lib/x86_64-linux-gnu/libQtGui.so.4(+0x26bb32)[0x7f4a7f1a3b32] /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x254)[0x7f4a7af14bd4] /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x48e18)[0x7f4a7af14e18] /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x2c)[0x7f4a7af14ebc] /usr/lib/x86_64-linux-gnu/libQtCore.so.4(QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)+0x71)[0x7f4a7fd957a1] /usr/lib/x86_64-linux-gnu/libQtGui.so.4(+0x26bbe6)[0x7f4a7f1a3be6] /usr/lib/x86_64-linux-gnu/libQtCore.so.4(QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)+0x2f)[0x7f4a7fd670af] /usr/lib/x86_64-linux-gnu/libQtCore.so.4(QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)+0x175)[0x7f4a7fd673a5] /usr/lib/x86_64-linux-gnu/libQtCore.so.4(QCoreApplication::exec()+0x89)[0x7f4a7fd6cb79] /usr/bin/qgis.bin[0x4c889f] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7f4a7d0aaec5] /usr/bin/qgis.bin[0x4cd258] [1] 11766 abort (core dumped) qgis
#4 Updated by Giovanni Manghi over 9 years ago
- Category set to Data Provider/PostGIS
- Status changed from Open to Feedback
I cannot confirm, here all the editing tools are accessible on PostGIS layers without a primary key (tested on 2.8.2, 2.10 and master).
About the crash: does it happens always on any layer?
#5 Updated by Jürgen Fischer over 9 years ago
Michal Zimmermann wrote:
Thanks that works, QGIS crashes when tries to save the changes though. All the PostGIS says is:
which postgis version are you using?
#6 Updated by Giovanni Manghi about 9 years ago
- Resolution set to not reproducable
- Status changed from Feedback to Closed
closing for lack of feedback.