Database:Documentation

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Adjust headings)
(Add small section about code)
Line 14: Line 14:
  
 
Note that some of these tables may be relics, some may be planned for future use, and some may see heavy use but have columns which are relics, not yet properly updated or not yet used at all. Alpha code FTW!! :D
 
Note that some of these tables may be relics, some may be planned for future use, and some may see heavy use but have columns which are relics, not yet properly updated or not yet used at all. Alpha code FTW!! :D
 +
 +
= Code =
 +
There is a common package for database code, OpenSim.Data and each database has its own package (e.g. OpenSim.Data.MySQL).
 +
 +
Each database package has to supply implementations for the interfaces in OpenSim.Data.  For instance, IAssetData is the asset interface, used by OpenSimulator to store and retrieve asset data.
  
 
= Organization =
 
= Organization =

Revision as of 10:24, 18 July 2014

Contents

Introduction

This page documents the databases tables used in OpenSimulator.

Tables are split up into Common, Services and Simulator.

On a grid, the grid services will contain the Services and Common tables, whilst each simulator instance will access the Simulator tables.

A standalone will contain Common, Services and Simulator tables, with the exception of the regions table, which is not currently persisted for standalones.

SQLite is generally not considered appropriate for this use case and will not be covered here; however the table structures are very similar and most of what is here will be useful in that context as well.

Note that some of these tables may be relics, some may be planned for future use, and some may see heavy use but have columns which are relics, not yet properly updated or not yet used at all. Alpha code FTW!! :D

Code

There is a common package for database code, OpenSim.Data and each database has its own package (e.g. OpenSim.Data.MySQL).

Each database package has to supply implementations for the interfaces in OpenSim.Data. For instance, IAssetData is the asset interface, used by OpenSimulator to store and retrieve asset data.

Organization

OpenSimulator 0.7.2 onwards

Common

migrationsSupports automatic upgrade to new database formats

Services

Avatars
Persistence of the visual appearance of avatars between logins and attached objects
FriendsFriends list registration
GridUser
Information about a user in this particular grid, for everyone who uses the grid, local and foreign. This includes their home region, last region, online status and last login/logout. This is distinct from auth information
Presence
Region and session information for currently logged in users. Used for IM routing amongst other things.
UserAccounts
User account information, such as name, user level and e-mail. Just local accounts.
assets
Grid assets including such things as textures and sounds
auth
User authentication information
inventoryfolders
Inventory folder-related details *except contents*
 Contents are in the inventoryitems table and point back to inventoryfolders
inventoryitems
All inventory item details (including folder associations) except contents - contents are referenced in the assets table
regions
Regions known to the grid
tokensUnused.

Simulator

estate groups
Narrowly purposed at present. Appears to associate UUIDs under an Estate ID
estate managers
Associates UUIDs with Estate ID
estate map
Associates Regions with Estates By Estate ID
estate settings
Settings for Estates
estate users
Users allowed on the Estate
estateban
Users banned from the Estate
land
Parcel Properties
landaccesslist
Parcel Access List
primitems
Contains the prim's inventory, which is not at all unlike the avatars'
inventory with the exception of folders
prims
All rezzed prim details *except shape and contents*
primshapes
Properties of all rezzed prims
regionban
Per-Region ban list
regionsettings
Per-Region settings
regionwindlight
Windlight region settings
terrain
Terrain mesh revision history

Older information

This mainly pertains to OpenSimulator 0.6.9.

Services:
 
agents
Records agent (Avatar/User) login details
assets
Comprehensive grid assets including textures and avatar inventories
avatarappearance
Persistence of the visual appearance of avatars between logins
avatarattachments
Items attached to avatars
inventoryfolders
Inventory folder-related details *except contents*
 Contents are in the inventoryitems table and point back to inventoryfolders
inventoryitems
All inventory item details (including folder associations) except contents - contents are referenced
 in the assets table

migrationsSupports 'automagic' migration to new database formats
regionsRegions known to the grid
userfriendsFriends list registration
usersStored user profile



Simulator:
 
estate groups
Narrowly purposed at present. Appears to associate UUIDs under an Estate ID
estate managers
Associates UUIDs with Estate ID
estate map
Associates Regions with Estates By Estate ID
estate settings
Settings for Estates
estate users
Users allowed on the Estate
estateban
Users banned from the Estate
land
Parcel Properties
landaccesslist
Parcel Access List
migrations
Supports 'automagic' upgrade to new database formats
primitems
contains the prim's inventory, which is not at all unlike the avatars'
inventory with the exception of folders
prims
All rezzed prim details *except shape and contents*
primshapes
Properties of all rezzed prims
regionban
Per-Region ban list
regionsettings
Per-Region settings
terrain
Terrain mesh revision history
Personal tools
General
About This Wiki