C# 클래스 OpenSim.Data.SQLite.SQLiteSimulationData

A RegionData Interface to the SQLite database
상속: ISimulationDataStore
파일 보기 프로젝트 열기: N3X15/VoxelSim

공개 메소드들

메소드 설명
Commit ( ) : void

Dispose ( ) : void
Initialise ( string connectionString ) : void

Initialises RegionData Interface Loads and initialises a new SQLite connection and maintains it.

LoadLandObjects ( UUID regionUUID ) : List

LoadObjects ( UUID regionUUID ) : List

Load persisted objects from region storage.

LoadRegionSettings ( UUID regionUUID ) : OpenSim.Framework.RegionSettings
LoadRegionWindlightSettings ( UUID regionUUID ) : RegionLightShareData
LoadTerrain ( UUID regionID ) : ].double[

Load the latest terrain revision from region storage

RemoveLandObject ( UUID globalID ) : void

RemoveObject ( UUID obj, UUID regionUUID ) : void

Removes an object from region storage

RemoveRegionWindlightSettings ( UUID regionID ) : void
SQLiteSimulationData ( ) : System
SQLiteSimulationData ( string connectionString ) : System
Shutdown ( ) : void

See Commit

StoreLandObject ( ILandObject parcel ) : void

StoreObject ( SceneObjectGroup obj, UUID regionUUID ) : void

Adds an object into region storage

StorePrimInventory ( UUID primID, ICollection items ) : void

StoreRegionSettings ( OpenSim.Framework.RegionSettings rs ) : void
StoreRegionWindlightSettings ( RegionLightShareData wl ) : void
StoreTerrain ( double ter, UUID regionID ) : void

Store a terrain revision in region storage

보호된 메소드들

메소드 설명
CreateDataSetMapping ( IDataAdapter da, string tableName ) : void

비공개 메소드들

메소드 설명
LoadItems ( SceneObjectPart prim ) : void

Load in a prim's persisted inventory.

PrintDataSet ( DataSet ds ) : void
RemoveItems ( UUID uuid ) : void

Remove all persisted items of the given prim. The caller must acquire the necessrary synchronization locks and commit or rollback changes.

addPrim ( SceneObjectPart prim, UUID sceneGroupID, UUID regionUUID ) : void

Persistently store a prim.

buildItem ( DataRow row ) : TaskInventoryItem

Build a prim inventory item from the persisted data.

buildLandAccessData ( DataRow row ) : ParcelManager.ParcelAccessEntry

Build a land access entry from the persisted data.

buildLandData ( DataRow row ) : LandData

Build a Land Data from the persisted data.

buildPrim ( DataRow row ) : SceneObjectPart

buildRegionSettings ( DataRow row ) : OpenSim.Framework.RegionSettings
buildShape ( DataRow row ) : OpenSim.Framework.PrimitiveBaseShape

createCol ( DataTable dt, string name, Type type ) : void

createInsertCommand ( string table, DataTable dt ) : SqliteCommand

Create an insert command

This is subtle enough to deserve some commentary. Instead of doing *lots* and *lots of hardcoded strings for database definitions we'll use the fact that realistically all insert statements look like "insert into A(b, c) values(:b, :c) on the parameterized query front. If we just have a list of b, c, etc... we can generate these strings instead of typing them out.

createItemsTable ( ) : DataTable

creates "primitems" table

createLandAccessListTable ( ) : DataTable

create "landaccesslist" table

createLandTable ( ) : DataTable

Creates "land" table

createPrimTable ( ) : DataTable

Creates the "prims" table

createRegionSettingsTable ( ) : DataTable
createShapeTable ( ) : DataTable

Creates "primshapes" table

createSqliteParameter ( string name, Type type ) : SqliteParameter

This is a convenience function that collapses 5 repetitive lines for defining SqliteParameters to 2 parameters: column name and database type. It assumes certain conventions like :param as the param name to replace in parametrized queries, and that source version is always current version, both of which are fine for us.

createTerrainTable ( ) : DataTable

Creates the "terrain" table

createUpdateCommand ( string table, string pk, DataTable dt ) : SqliteCommand

create an update command

createUpdateCommand ( string table, string pk1, string pk2, DataTable dt ) : SqliteCommand

create an update command

dbtypeFromType ( Type type ) : DbType

Type conversion function

fillItemRow ( DataRow row, TaskInventoryItem taskItem ) : void

fillLandAccessRow ( DataRow row, ParcelManager entry, UUID parcelID ) : void

fillLandRow ( DataRow row, LandData land, UUID regionUUID ) : void

fillPrimRow ( DataRow row, SceneObjectPart prim, UUID sceneGroupID, UUID regionUUID ) : void

fillRegionSettingsRow ( DataRow row, OpenSim.Framework.RegionSettings settings ) : void
fillShapeRow ( DataRow row, SceneObjectPart prim ) : void

serializeTerrain ( double val ) : Array

setupItemsCommands ( SqliteDataAdapter da, SqliteConnection conn ) : void

setupLandAccessCommands ( SqliteDataAdapter da, SqliteConnection conn ) : void

setupLandCommands ( SqliteDataAdapter da, SqliteConnection conn ) : void

setupPrimCommands ( SqliteDataAdapter da, SqliteConnection conn ) : void

setupRegionSettingsCommands ( SqliteDataAdapter da, SqliteConnection conn ) : void
setupShapeCommands ( SqliteDataAdapter da, SqliteConnection conn ) : void

setupTerrainCommands ( SqliteDataAdapter da, SqliteConnection conn ) : void

메소드 상세

Commit() 공개 메소드

public Commit ( ) : void
리턴 void

CreateDataSetMapping() 보호된 메소드

protected CreateDataSetMapping ( IDataAdapter da, string tableName ) : void
da IDataAdapter
tableName string
리턴 void

Dispose() 공개 메소드

public Dispose ( ) : void
리턴 void

Initialise() 공개 메소드

Initialises RegionData Interface Loads and initialises a new SQLite connection and maintains it.
public Initialise ( string connectionString ) : void
connectionString string the connection string
리턴 void

LoadLandObjects() 공개 메소드

public LoadLandObjects ( UUID regionUUID ) : List
regionUUID UUID
리턴 List

LoadObjects() 공개 메소드

Load persisted objects from region storage.
public LoadObjects ( UUID regionUUID ) : List
regionUUID UUID The region UUID
리턴 List

LoadRegionSettings() 공개 메소드

public LoadRegionSettings ( UUID regionUUID ) : OpenSim.Framework.RegionSettings
regionUUID UUID
리턴 OpenSim.Framework.RegionSettings

LoadRegionWindlightSettings() 공개 메소드

public LoadRegionWindlightSettings ( UUID regionUUID ) : RegionLightShareData
regionUUID UUID
리턴 OpenSim.Framework.RegionLightShareData

LoadTerrain() 공개 메소드

Load the latest terrain revision from region storage
public LoadTerrain ( UUID regionID ) : ].double[
regionID UUID the region UUID
리턴 ].double[

RemoveLandObject() 공개 메소드

public RemoveLandObject ( UUID globalID ) : void
globalID UUID
리턴 void

RemoveObject() 공개 메소드

Removes an object from region storage
public RemoveObject ( UUID obj, UUID regionUUID ) : void
obj UUID the object
regionUUID UUID the region UUID
리턴 void

RemoveRegionWindlightSettings() 공개 메소드

public RemoveRegionWindlightSettings ( UUID regionID ) : void
regionID UUID
리턴 void

SQLiteSimulationData() 공개 메소드

public SQLiteSimulationData ( ) : System
리턴 System

SQLiteSimulationData() 공개 메소드

public SQLiteSimulationData ( string connectionString ) : System
connectionString string
리턴 System

Shutdown() 공개 메소드

See Commit
public Shutdown ( ) : void
리턴 void

StoreLandObject() 공개 메소드

public StoreLandObject ( ILandObject parcel ) : void
parcel ILandObject
리턴 void

StoreObject() 공개 메소드

Adds an object into region storage
public StoreObject ( SceneObjectGroup obj, UUID regionUUID ) : void
obj OpenSim.Region.Framework.Scenes.SceneObjectGroup the object
regionUUID UUID the region UUID
리턴 void

StorePrimInventory() 공개 메소드

public StorePrimInventory ( UUID primID, ICollection items ) : void
primID UUID
items ICollection
리턴 void

StoreRegionSettings() 공개 메소드

public StoreRegionSettings ( OpenSim.Framework.RegionSettings rs ) : void
rs OpenSim.Framework.RegionSettings
리턴 void

StoreRegionWindlightSettings() 공개 메소드

public StoreRegionWindlightSettings ( RegionLightShareData wl ) : void
wl OpenSim.Framework.RegionLightShareData
리턴 void

StoreTerrain() 공개 메소드

Store a terrain revision in region storage
public StoreTerrain ( double ter, UUID regionID ) : void
ter double terrain heightfield
regionID UUID region UUID
리턴 void