DeveelDB
20151217
complete SQL database system, primarly developed for .NET/Mono frameworks
|
A default implementation of a sequence manager that is backed by a given transaction. More...
Classes | |
class | Sequence |
class | SequenceTable |
class | SequenceTableContainer |
Public Member Functions | |
SequenceManager (ITransaction transaction) | |
Construct a new instance of SequenceManager that is backed by the given transaction factory. More... | |
void | Dispose () |
void | Create () |
Initializes the manager into the underlying system. More... | |
ISequence | CreateSequence (SequenceInfo sequenceInfo) |
ObjectName | ResolveName (ObjectName objName, bool ignoreCase) |
Normalizes the input object name using the case sensitivity specified. More... | |
bool | DropSequence (ObjectName sequenceName) |
bool | SequenceExists (ObjectName sequenceName) |
ISequence | GetSequence (ObjectName sequenceName) |
Properties | |
DbObjectType IObjectManager. | ObjectType [get] |
ITransaction | Transaction [get, set] |
Gets the transaction where the manager is operating. More... | |
ITableContainer | TableContainer [get] |
Properties inherited from Deveel.Data.Sql.ISequenceManager | |
ITableContainer | TableContainer [get] |
Provides a table container that exposes the sequences managed as tables. More... | |
Properties inherited from Deveel.Data.Sql.IObjectManager | |
DbObjectType | ObjectType [get] |
Gets the type of objects managed by this instance. More... | |
Private Member Functions | |
~SequenceManager () | |
void | Dispose (bool disposing) |
void | UpdateSequenceState (Sequence sequence) |
Updates the state of the sequence key in the sequence tables in the database. More... | |
void IObjectManager. | CreateObject (IObjectInfo objInfo) |
Create a new object of the ObjectType given the specifications given. More... | |
Sequence | CreateCustomSequence (ObjectName sequenceName, SequenceInfo sequenceInfo) |
ISequence | CreateNativeTableSequence (ObjectName tableName) |
bool IObjectManager. | AlterObject (IObjectInfo objInfo) |
Modifies an existing object managed, identified by IObjectInfo.FullName component of the given specification, with the format given. More... | |
bool IObjectManager. | DropObject (ObjectName objName) |
Deletes a database object handled by this manager from the system. More... | |
bool | RemoveNativeTableSequence (ObjectName tableName) |
bool IObjectManager. | ObjectExists (ObjectName objName) |
Checks if an object identified by the given name is managed by this instance. More... | |
bool IObjectManager. | RealObjectExists (ObjectName objName) |
Checks if an object really exists in the system. More... | |
SqlNumber | NextValue (ObjectName name) |
SqlNumber | SetValue (ObjectName name, SqlNumber value) |
SqlNumber | GetCurrentValue (ObjectName name) |
IDbObject IObjectManager. | GetObject (ObjectName objName) |
Gets a database object managed by this manager. More... | |
Private Attributes | |
Dictionary< ObjectName, Sequence > | sequenceKeyMap |
Static Private Attributes | |
static readonly DataObject | OneValue = DataObject.Integer(1) |
A static TObject that represents numeric 1. More... | |
A default implementation of a sequence manager that is backed by a given transaction.
Definition at line 32 of file SequenceManager.cs.
|
inline |
Construct a new instance of SequenceManager that is backed by the given transaction factory.
transaction |
Definition at line 45 of file SequenceManager.cs.
|
inlineprivate |
Definition at line 50 of file SequenceManager.cs.
|
inlineprivate |
Modifies an existing object managed, identified by IObjectInfo.FullName component of the given specification, with the format given.
objInfo | The object specification used to alter an existing object. |
true
an object was identified and successfully altered, or false
if none database object was found for the unique name given. ArgumentNullException | If the given objInfo object is null . |
ArgumentException | If the type of the object specified (IObjectInfo.ObjectType) is different than the type of objects handled by this manager. |
Implements Deveel.Data.Sql.IObjectManager.
Definition at line 482 of file SequenceManager.cs.
|
inline |
Initializes the manager into the underlying system.
Typically this method generates the tables required to manage the features relative to the objects.
Implements Deveel.Data.Sql.IObjectManager.
Definition at line 380 of file SequenceManager.cs.
|
inlineprivate |
Definition at line 433 of file SequenceManager.cs.
|
inlineprivate |
Definition at line 468 of file SequenceManager.cs.
|
inlineprivate |
Create a new object of the ObjectType given the specifications given.
objInfo | The object specifications used to create a new object. |
ArgumentNullException | If the given objInfo is null . |
ArgumentException | If the object type of the specification (IObjectInfo.ObjectType) is different than the ObjectType of this manager. |
Implements Deveel.Data.Sql.IObjectManager.
Definition at line 404 of file SequenceManager.cs.
|
inline |
Definition at line 412 of file SequenceManager.cs.
|
inlineprivate |
Definition at line 58 of file SequenceManager.cs.
|
inline |
Definition at line 67 of file SequenceManager.cs.
|
inlineprivate |
Deletes a database object handled by this manager from the system.
objName | The unique name of the object to be deleted. |
true
if a database object was found with the given unique name and successfully deleted from the system, or false
if none object was found. Implements Deveel.Data.Sql.IObjectManager.
Definition at line 486 of file SequenceManager.cs.
|
inline |
Definition at line 494 of file SequenceManager.cs.
|
inlineprivate |
Definition at line 610 of file SequenceManager.cs.
|
inlineprivate |
Gets a database object managed by this manager.
objName | The name that uniquely identifies the object to get. |
null
if this manager was not able to map any object to the name specified. Implements Deveel.Data.Sql.IObjectManager.
Definition at line 622 of file SequenceManager.cs.
|
inline |
Definition at line 626 of file SequenceManager.cs.
|
inlineprivate |
Definition at line 562 of file SequenceManager.cs.
|
inlineprivate |
Checks if an object identified by the given name is managed by this instance.
objName | The name that uniquely identifies the object. |
Implements Deveel.Data.Sql.IObjectManager.
Definition at line 538 of file SequenceManager.cs.
|
inlineprivate |
Checks if an object really exists in the system.
objName | The unique name of the object to check. |
true
if an object with the given name concretely exists in the system, or false
otherwise. Implements Deveel.Data.Sql.IObjectManager.
Definition at line 542 of file SequenceManager.cs.
|
inlineprivate |
Definition at line 506 of file SequenceManager.cs.
|
inline |
Normalizes the input object name using the case sensitivity specified.
objName | The input object name, that can be partial or complete, to be normalized to the real name of an object. |
ignoreCase | The case sensitivity specification used to compare the input name with the names of the existing objects handled by this manager. |
null
if the input name was not possible to be resolved. Implements Deveel.Data.Sql.IObjectManager.
Definition at line 490 of file SequenceManager.cs.
|
inline |
Definition at line 546 of file SequenceManager.cs.
|
inlineprivate |
Definition at line 592 of file SequenceManager.cs.
|
inlineprivate |
Updates the state of the sequence key in the sequence tables in the database.
sequence |
The update occurs on an independent transaction.
Definition at line 346 of file SequenceManager.cs.
|
staticprivate |
A static TObject that represents numeric 1.
Definition at line 36 of file SequenceManager.cs.
|
private |
Definition at line 38 of file SequenceManager.cs.
|
getprivate |
Definition at line 54 of file SequenceManager.cs.
|
get |
Definition at line 77 of file SequenceManager.cs.
|
getsetprivate |
Gets the transaction where the manager is operating.
Definition at line 75 of file SequenceManager.cs.