Click or drag to resize

ServerClientSessionShared Class

Use as a shared session for multiple reader threads connected to one or more VelocityDBServer(s).
Inheritance Hierarchy

Namespace:  VelocityDb.Session
Assembly:  VelocityDb (in VelocityDb.dll) Version: 11.1.0.0 (11.1)
Syntax
public class ServerClientSessionShared : ServerClientSession

The ServerClientSessionShared type exposes the following members.

Constructors
  NameDescription
Public methodServerClientSessionShared
Creates a new session.
Top
Properties
  NameDescription
Public propertyAddToIndexInSeperateThread
Allow adding objects to indices to be done in a worker thread instead of in main thread.
(Overrides ServerClientSession.AddToIndexInSeperateThread.)
Public propertyDatabases
Gets a list of the currently opened databases
(Overrides SessionBase.Databases.)
Public propertyWriteToDiskInSeperateDatabaseThreads
Allow object serialization and page writes to happen in worker threads, one per database, instead of in main session thread. AddToIndexInSeperateThread must also be enabled for this to work.
(Overrides ServerClientSession.WriteToDiskInSeperateDatabaseThreads.)
Top
Methods
  NameDescription
Public methodAbort
Aborts a transaction, it undoes all persistent changes made within the transaction
(Overrides ServerClientSession.Abort().)
Public methodBeginRead
Transaction control, begin a read only transaction
(Overrides ServerClientSession.BeginRead(Boolean).)
Public methodBeginUpdate
Transaction control, begin an update transaction.
(Overrides ServerClientSession.BeginUpdate(Boolean).)
Public methodCheckpoint (Overrides SessionBase.Checkpoint().)
Public methodClearCache
Clears page cache and closes databases. Avoid using this one for now.
(Overrides SessionBase.ClearCache().)
Public methodClearCashedPages
Clear cache of cached pages
(Overrides SessionBase.ClearCashedPages().)
Public methodClearPageCache
Clears cached pages from cache including page weak references.
(Overrides SessionBase.ClearPageCache().)
Public methodCompact()
Reduce size of databases, if possible, by first attempting to relocate pages to free areas towards the beginning of each Database file and then by truncating files where unused space begins. Run Compact() outside the scope of any transaction.
(Overrides ServerClientSession.Compact().)
Public methodCompact(Database)
Reduce size of database, if possible, by truncating file where unused space begins
(Overrides ServerClientSession.Compact(Database).)
Public methodCopyAllDatabasesTo
Copies all databases to a selected directory on the local host.
(Overrides ServerClientSession.CopyAllDatabasesTo(String, Boolean).)
Public methodCrossTransactionCache
By default databases are only referenced by a WeakReference across transaction boundaries. This means that such Database may or may not be available as a cached database depending on garbage collection activity and if such database also has a strong reference. This function lets you add a strong reference to a Database so the cached Database may be used if version wasn't changed by a different thread since prior transaction. The strong reference is removed once the Database is reopened.
(Overrides SessionBase.CrossTransactionCache(Database, Boolean).)
Public methodDeleteLocation
Deletes a DatabaseLocation, location must first mot have any Databases in it
(Overrides ServerClientSession.DeleteLocation(DatabaseLocation, Boolean).)
Public methodFlushPageOf
By calling this you force a persisted (has an Id) object to be written to disk (if updated) and indices (if any) to be updated. Other objects on the same page page will also be written.
(Overrides SessionBase.FlushPageOf(OptimizedPersistable).)
Public methodFlushUpdates
Send all updated pages to the server(s) managing those pages, freeing up memory in client.
(Overrides ServerClientSession.FlushUpdates().)
Public methodFlushUpdatesServers
Make servers Write all updated data. This may free up some memory on the servers. Only effects sessions using VelocityDbServer(s)
(Overrides ServerClientSession.FlushUpdatesServers().)
Public methodForceDatabaseCacheValidation
Cached data is set to be validated whenever a new transaction is started. This function is provided as a way to force cache validation within a transaction without requiring a commit followed by a new transaction.
(Overrides SessionBase.ForceDatabaseCacheValidation().)
Public methodGlobalObjWrapperGet
Lookup wrapper object for a non IOptimizedPersistable object
(Overrides SessionBase.GlobalObjWrapperGet(Object, IOptimizedPersistable).)
Public methodNewDatabase
Create a new Database with a given database number
(Overrides ServerClientSession.NewDatabase(UInt32, UInt32, String, Boolean).)
Public methodNewLocation
Creates a new DatabaseLocation or updates existing ones
(Overrides ServerClientSession.NewLocation(DatabaseLocation).)
Public methodOpen(UInt64, Boolean, Boolean, Int32)
Opens a persistent object
(Overrides SessionBase.Open(UInt64, Boolean, Boolean, Int32).)
Public methodOpen(UInt32, UInt16, UInt16, Boolean, Int32)
Opens a persistent object
(Overrides SessionBase.Open(UInt32, UInt16, UInt16, Boolean, Int32).)
Public methodOpen(Database, UInt64, Boolean, List<IOptimizedPersistable>, Boolean, Int32, Int32)
For internal usage only, used in generated code
(Overrides SessionBase.Open(Database, UInt64, Boolean, List<IOptimizedPersistable>, Boolean, Int32, Int32).)
Public methodOpen(Database, UInt64, Boolean, List<IOptimizedPersistable>, Boolean, Int32, Int32, Boolean)
For internal use only in generated code
(Overrides SessionBase.Open(Database, UInt64, Boolean, List<IOptimizedPersistable>, Boolean, Int32, Int32, Boolean).)
Public methodOpenAllDatabases
Open all databases
(Overrides ServerClientSession.OpenAllDatabases(Boolean).)
Public methodOpenDatabase
Opens a Database
(Overrides ServerClientSession.OpenDatabase(UInt32, Boolean, Boolean).)
Public methodOpenLocationDatabases
Opens all the databases in a given location
(Overrides ServerClientSession.OpenLocationDatabases(DatabaseLocation, Boolean).)
Public methodOpenSchema
Get the session active schema
(Overrides SessionBase.OpenSchema(Boolean).)
Public methodPersist(IOptimizedPersistable, Nullable<UInt16>)
This is the recommended way of persisting objects, it is simple and efficient. Each type is stored in its own database unless object class overrides PlacementDatabaseNumber and returns something other than DefaultPlacementDatabaseNumber.
(Overrides SessionBase.Persist(IOptimizedPersistable, Nullable<UInt16>).)
Public methodPersist(Placement, IOptimizedPersistable, Schema, UInt16, Boolean, Queue<IOptimizedPersistable>)
Persists an object
(Overrides SessionBase.Persist(Placement, IOptimizedPersistable, Schema, UInt16, Boolean, Queue<IOptimizedPersistable>).)
Public methodPossiblyFlushUpdatedPages
Call this function if you may have updated many pages to possibly free up memory if too much memory is in use.
(Overrides SessionBase.PossiblyFlushUpdatedPages(UInt32).)
Public methodRestoreFrom
Restores Databases and pages from a backup DatabaseLocation. Existing data will be merged with the restored data unless existing Databases to restore are deleted before the restore.
(Overrides ServerClientSession.RestoreFrom(DatabaseLocation, DateTime).)
Public methodSubscribeToChanges
Subscribe to committed database changes of instances of a type when an optional property evaluates to true.
(Overrides ServerClientSession.SubscribeToChanges(Type, String).)
Public methodUnpersist
Use this when you want to delete objects that are not assignable as IOptimizedPersistable
(Overrides SessionBase.Unpersist(Object).)
Public methodUpdateDatabase
Request an update lock on a database
(Overrides ServerClientSession.UpdateDatabase(Database).)
Public methodUpdateObject(Object)
Tag an object as updated so that it will be updated persistently
(Overrides SessionBase.UpdateObject(Object).)
Public methodUpdateObject(IOptimizedPersistable, Boolean, Boolean)
Updates an object
(Overrides SessionBase.UpdateObject(IOptimizedPersistable, Boolean, Boolean).)
Public methodVerify
Verifies that databases are valid by reading and following references. An exception is thrown if an issue is found.
(Overrides SessionBase.Verify().)
Top
Extension Methods
  NameDescription
Public Extension MethodExportToCSV
Export all persistent objects to .csv files, one file for each Type and version of Type. This is preview release, format may change. ImportFromCSV can be used to recreate your data. Note that Microsoft Excel can't handle many of these CSV files due to a field value limitation (at about 33000 chars) Notepad++ is one application that can read these files. Some fields like array data are encoded http://msdn.microsoft.com/en-us/library/dhx0d524(v=vs.110).aspx
(Defined by ImportExportCsv.)
Public Extension MethodExportToJson<T>(UInt64)Overloaded. (Defined by JsonImportExport.)
Public Extension MethodExportToJson<T>(Oid)Overloaded. (Defined by JsonImportExport.)
Public Extension MethodExportToJson<T>(Boolean, Boolean)Overloaded. (Defined by JsonImportExport.)
Public Extension MethodImportFromCSV
Restores database files, pages and objects from a .csv file data created with ExportToCSV
(Defined by ImportExportCsv.)
Public Extension MethodImportJson<T> (Defined by JsonImportExport.)
Public Extension MethodMicrosoftSync (Defined by Sync.)
Public Extension MethodSyncWith(SessionBase)Overloaded. (Defined by Sync.)
Public Extension MethodSyncWith(SessionBase, Func<SessionBase, UInt64, Change, Boolean>)Overloaded. (Defined by Sync.)
Top
See Also