Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008024opensim[REGION] OpenSim Corepublic2016-09-15 23:132016-10-09 14:31
Reportertglion 
Assigned To 
PrioritylowSeverityfeatureReproducibilityalways
Statuspatch feedbackResolutionopen 
PlatformOSOS Version
Product Versionmaster (dev code) 
Target VersionFixed in Version 
Summary0008024: Persist baked terrain
DescriptionIn the current version of opensim baked terrain-data does not presist and does not survive region-restarts.

I have added a patch to add the necessary persistence.
I have only tested this with SQLite

Can someone review this and test it with MySQL and PGSQL before applying this patch to git master?

Thanks
Tags0023793568077
Git Revision or version number
Run Mode Grid (1 Region per Sim)
Physics EngineODE
Script Engine
EnvironmentUnknown
Mono Version4.0.1
Viewer
Attached Filespatch file icon 0001-Baked-terrain-persists-now.-Implemented-for-SQLite-.patch [^] (31,154 bytes) 2016-09-15 23:13 [Show Content]
patch file icon 0001-Bugfix-Change-wrong-tablename-in-select-statement-fo.patch [^] (1,016 bytes) 2016-09-18 00:11 [Show Content]

- Relationships

-  Notes
(0031122)
UbitUmarov (administrator)
2016-09-16 05:51

Sorry can't be like this...
With the introduction of large regions several data formats where tested for the stored terrain. The Revision field was changed store the data format.
My later revisions reduced those to just 2 on store (actually we can change it to just one in near future), reading requires support of all used.
So we can't set it to zero to flag a bake.
Possible the format enum can have a flag for this. I could try to change your code, but can't do it now :(
see TerrainData.cs code starting in lines 91, 201 and 367 in current master.
(0031123)
UbitUmarov (administrator)
2016-09-16 05:54

forgot to say that older dbs still have Revision as a time stamp, so the use of a flag (like 0x80000000) may be bad.
(0031125)
tglion (reporter)
2016-09-16 09:09

Okay, I have not considered that the Revision is a special format-type.
I missinterpreted this is ony a version of the currend stored data itself.
Sorry my fault :-(

Another idea to avoid change the database-schema was to use negative values as flag for baked terrain...
But you say older dbs versions use timestamps? arrrrrg, why? ;-)))

OK, the only solution to implement this seem to add a separate flag to the terrain table-schema.
Its not urgent, you can doing this, if you have time and desire for this.
My patch was also just a suggestion... :-)
(0031126)
UbitUmarov (administrator)
2016-09-16 09:29

0x80000000 means the signal bit of int32 :)
Guess original Revision idea was to keep storing terrain versions.. don't know.
The reuse of that field was a hack that needs to be cleaned up one of this days.
But several things do need revision on terrain.
I was working on it for Avination when I was invited to join OpenSim and work on the merge, so terrain code is still the "patching" I did back then, to make it work without eating all the memory on a large region. (reason why undo is still disabled).
The rest of your patch is the needed glue, so not all lost :)
(0031132)
UbitUmarov (administrator)
2016-09-17 10:13

ok I pushed code just using a new table for terrain bake
lets see how many bugs it has ;)
(0031133)
tglion (reporter)
2016-09-17 11:24

I will try test that tomorrow... :-)
Mhhhh, but why do you revert partially commit 0e68742afcb65d087ecbe5a7286e55950511966f
in commit 3f9f10529548599d1810ca8a630734586ed3fa9d ?
(0031134)
UbitUmarov (administrator)
2016-09-17 11:47

oops... restored.
(0031135)
tglion (reporter)
2016-09-18 00:16
edited on: 2016-09-18 00:19

I see a little problem in OpenSim/Data/SQLite/SQLiteSimulationData.cs:
I had to change tablename "backedterrain" to "bakedterrain" in a sql-query.
See uploaded patch.
I am still testing... :-)

(0031136)
UbitUmarov (administrator)
2016-09-18 12:01

thx
(0031159)
Gavin Hird (reporter)
2016-09-24 07:00

Tested the code, and table creation, storage and retrieval worked as announced with PostgreSQL
(0031160)
UbitUmarov (administrator)
2016-09-24 07:01

thx :)

- Issue History
Date Modified Username Field Change
2016-09-15 23:13 tglion New Issue
2016-09-15 23:13 tglion File Added: 0001-Baked-terrain-persists-now.-Implemented-for-SQLite-.patch
2016-09-15 23:13 tglion Status new => patch included
2016-09-16 05:51 UbitUmarov Note Added: 0031122
2016-09-16 05:54 UbitUmarov Note Added: 0031123
2016-09-16 09:09 tglion Note Added: 0031125
2016-09-16 09:29 UbitUmarov Note Added: 0031126
2016-09-17 10:13 UbitUmarov Note Added: 0031132
2016-09-17 11:24 tglion Note Added: 0031133
2016-09-17 11:47 UbitUmarov Note Added: 0031134
2016-09-18 00:11 tglion File Added: 0001-Bugfix-Change-wrong-tablename-in-select-statement-fo.patch
2016-09-18 00:16 tglion Note Added: 0031135
2016-09-18 00:17 tglion Note Edited: 0031135 View Revisions
2016-09-18 00:19 tglion Note Edited: 0031135 View Revisions
2016-09-18 12:01 UbitUmarov Note Added: 0031136
2016-09-24 07:00 Gavin Hird Note Added: 0031159
2016-09-24 07:01 UbitUmarov Note Added: 0031160
2016-10-09 14:30 Stanley Status patch included => patch feedback
2016-10-09 14:31 Stanley Tag Attached: 0023793568077


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker