Bug report #12690

Snapping do not work for new features after save edits on oracle spatial layer

Added by Jan Lippmann over 4 years ago. Updated over 4 years ago.

Status:Closed
Priority:Normal
Assignee:Jürgen Fischer
Category:Digitising
Affected QGIS version:2.8.1 Regression?:No
Operating System:WIN Easy fix?:No
Pull Request or Patch supplied:No Resolution:worksforme
Crashes QGIS or corrupts data:No Copied to github as #:20796

Description

Snapping do not work for new features after save edits on oracle spatial

steps:
1. start editing a oracle spatial polygon layer
2. enable snapping for this layer (vertex+segment 10 pixel)
3. create a new polygon (do not save)
4. check snapping for the new polygon ( if snapmarker appear...) in my case snapping is working
5. now save the polygon (save edits...)
6. check snapping for the new polygon after saving ( snapmarker do not appear on segment or vertex) snapping is not working
7. on other "old" polygons snapping is always working

a small screencast is in the attachement.

actual master and 2.8.1 is affected and i think only oralce spatial layer

qgis_snapping_bug.mp4 (1.28 MB) Jan Lippmann, 2015-05-04 01:10 AM

CREATE_GIS_TABLES.sql (3.3 KB) Jan Lippmann, 2015-05-05 01:14 AM

Associated revisions

Revision d3df4eda
Added by Jürgen Fischer over 4 years ago

oracle provider: reassign feature id after inserting new features (fixes #12690)

Revision 9754353f
Added by Jürgen Fischer over 4 years ago

oracle provider: reassign feature id after inserting new features (fixes #12690)

(cherry picked from commit d3df4edaedc9542830dba1a99ce1b20d2bdc5773)

History

#1 Updated by Jürgen Fischer over 4 years ago

  • Assignee deleted (Jürgen Fischer)

#2 Updated by Giovanni Manghi over 4 years ago

  • Status changed from Open to Feedback

does not happen with postgis layers. Maybe a side effect of some 3rd party plugin? could you disable them and try again? thanks.

#3 Updated by Jan Lippmann over 4 years ago

correct. does not happen with postgis oder mssql layer. but with oracle spatial...*all 3rd party plugins are disabled*

i think the problem occur since the new feature "indexing data" while the first klick on "add feature" in an edit session?
debugview writes nothing distinctive...

#4 Updated by Jan Lippmann over 4 years ago

The problem there is also at point and line features.
if i restart the qgis project. snapping is working for all features (incl. new features from the previous edit session)

in the attachment is the create script of the tables.

can anybody confirm the problem?

thanks.
jan

#5 Updated by Giovanni Manghi over 4 years ago

was this an issue on previous qgis releases?

#6 Updated by Jan Lippmann over 4 years ago

my tests:
in qgis 2.2 this was no issue
in qgis 2.4 this was no issue
in qgis 2.6 this was no issue

#7 Updated by Giovanni Manghi over 4 years ago

  • Status changed from Feedback to Open
  • Priority changed from Normal to Severe/Regression

#8 Updated by Jürgen Fischer over 4 years ago

  • Target version changed from Version 2.8.2 to Future Release - High Priority

#9 Updated by Jürgen Fischer over 4 years ago

  • Priority changed from Severe/Regression to Normal
  • Status changed from Open to Feedback

Not reproducable in master or 2.8.2

#10 Updated by Jürgen Fischer over 4 years ago

  • Status changed from Feedback to Closed
  • Resolution set to worksforme

#11 Updated by Jan Lippmann over 4 years ago

  • Assignee set to Jürgen Fischer
  • Status changed from Closed to Reopened

Hello Jürgen, there is still a problem in my environment. what else can I check? have you tested the sample tables " CREATE_GIS_TABLES.sql"?

Thank you

#12 Updated by Jürgen Fischer over 4 years ago

  • Status changed from Reopened to Feedback

Jan Lippmann wrote:

have you tested the sample tables " CREATE_GIS_TABLES.sql"?

Sure. Although stripped down a bit:

CREATE TABLE GIS_GRUEN_P(GID NUMBER(8, 0) DEFAULT 0 NOT NULL PRIMARY KEY, GEO_ID NUMBER(8, 0) DEFAULT 0, THE_GEOM MDSYS.SDO_GEOMETRY);
INSERT INTO MDSYS.USER_SDO_GEOM_METADATA (TABLE_NAME,COLUMN_NAME,DIMINFO,SRID) VALUES (
  'GIS_GRUEN_P','THE_GEOM',
  MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMENT('X',-2147483648,2147483647,0.00005),MDSYS.SDO_DIM_ELEMENT('Y',-2147483648,2147483647,0.00005)),
  25832
);
CREATE INDEX GIS_GRUEN_P_THE_GEOM_IDX ON GIS_GRUEN_P(THE_GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX;

CREATE TABLE GIS_GRUEN_L(GID NUMBER(8, 0) DEFAULT 0 NOT NULL PRIMARY KEY, GEO_ID NUMBER(8, 0) DEFAULT 0, THE_GEOM MDSYS.SDO_GEOMETRY);
INSERT INTO MDSYS.USER_SDO_GEOM_METADATA (TABLE_NAME,COLUMN_NAME,DIMINFO,SRID) VALUES ( 
  'GIS_GRUEN_L', 'THE_GEOM',
  MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMENT('X',-2147483648,2147483647,0.00005),MDSYS.SDO_DIM_ELEMENT('Y',-2147483648,2147483647,0.00005)),
  25832
);
CREATE INDEX GIS_GRUEN_L_THE_GEOM_IDX ON GIS_GRUEN_L(THE_GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX;

CREATE  TABLE GIS_GRUEN_F(GID NUMBER(8, 0) DEFAULT 0 NOT NULL PRIMARY KEY,GEO_ID NUMBER(8, 0) DEFAULT 0, THE_GEOM MDSYS.SDO_GEOMETRY);
INSERT INTO MDSYS.USER_SDO_GEOM_METADATA (TABLE_NAME,COLUMN_NAME,DIMINFO,SRID) VALUES ( 
  'GIS_GRUEN_F', 'THE_GEOM',
  MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMENT('X',-2147483648,2147483647,0.00005),MDSYS.SDO_DIM_ELEMENT('Y',-2147483648,2147483647,0.00005)),
  25832
);
CREATE INDEX GIS_GRUEN_F_THE_GEOM_IDX ON GIS_GRUEN_F(THE_GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX;

Not that I left out the unused sequences - I guess you left out the triggers that make use of them. That's probably also the reason why you can save without explicitly assigning unique ids. Maybe that also interfered with the geometries cached for snapping.

#13 Updated by Jürgen Fischer over 4 years ago

  • Status changed from Feedback to Closed

#14 Updated by Jan Lippmann over 4 years ago

The problem is solved.

Thank You Jürgen

Also available in: Atom PDF