Opened 14 years ago

Closed 14 years ago

#716 closed defect (fixed)

SQLite: Rollback releases the Spatial Index kept cached in statements generating a crash when are used.

Reported by: romicadascalescu Owned by: romicadascalescu
Priority: major Milestone: 3.6.0
Component: SQLite Provider Version: 3.6.0
Severity: 3 Keywords:
Cc: External ID:

Description

The issue is: when provider rollbacks a transaction and there is a change in a spatial index, provider forces a spatial index release, however this spatial index might be kept as a copy pointer and pointer becomes garbage when SI is destroyed.

To avoid this problem we need to avoid releasing the spatial indexes at each rollback and better solution is to empty by force the spatial index and refresh/refill it. This is a better solution since it will save memory free-allocate operations, and we just can keep the old allocated memory and just refresh the data containing the spatial index.

The spatial index is still released in case a table is deleted/renamed or the data store is closed.

Change History (1)

comment:1 by romicadascalescu, 14 years ago

Resolution: fixed
Status: newclosed

Date: 2010-10-28 11:29:48 -0700 (Thu, 28 Oct 2010) New Revision: 5781

Modified:

trunk/Providers/SQLite/Src/Provider/SltProvider.cpp trunk/Providers/SQLite/Src/Provider/SltProvider.h trunk/Providers/SQLite/Src/SpatialIndex/DiskSpatialIndex.cpp trunk/Providers/SQLite/Src/SpatialIndex/DiskSpatialIndex.h trunk/Providers/SQLite/Src/SpatialIndex/SpatialIndex.cpp trunk/Providers/SQLite/Src/SpatialIndex/SpatialIndex.h trunk/Providers/SQLite/Src/UnitTest/SelectTest.cpp trunk/Providers/SQLite/Src/UnitTest/SelectTest.h

Log: Ticket #716 - SQLite: Rollback releases the Spatial Index kept cached in statements generating a crash when are used.

Note: See TracTickets for help on using tickets.