Provider Interface

[This is preliminary documentation and is subject to change.]

Interface for storage providers.
Declaration Syntax
C#Visual BasicVisual C++
public interface Provider
Public Interface Provider
public interface class Provider
All MembersMethodsProperties

add_column(String, String, Type)
Adds a column to an existing table.

Begin a transaction. Nested transactions are not supported.

Commit a transaction in progress.

define_index(String, String, array<String>[]()[], Boolean)
Create a named index for a given table.

define_index(String, String, List<(Of <(String>)>), Boolean)
Create a named index for a given table.

define_link_table(String, List<(Of <(NameTypePair>)>), String, String, String)
Create a link table with at least the two fields 'owner' and 'owned'. Additional fields are named 'owned_0', 'owned_1' and so on.

define_set_null(String, String, String)
Defines a set null rule, to be applied, when a referenced item in the right table gets deleted.

define_table(String, array<NameTypePair>[]()[])
Create a table from the given params.

define_table(String, List<(Of <(NameTypePair>)>), Boolean)
Create a table from the given params.

delete(Guid, String)
Delete an instance from its table.

delete_relation_item(String, Guid, Object)
Delete a link between instances. This does never delete the associated instances themself.

drop_column(String, String)
Removes a column from a table.

drop_index(String, String)
Removes an index from a table.

Executes and registers the given command as part of schema maintenance.

Shuts down the Provider.

Initializes the provider. If it is advised to not create the schema and it could not be found, the provider has to raise an error.

insert(String, array<NameValuePair>[]()[])
Insert data into a table.

insert(String, List<(Of <(NameValuePair>)>))
Insert data into a table.

modify_column(String, String, Type)
Modifies the type of an existing column.

Identifier for the provider.

Rollback a transaction in progress.

Queries the provider for the list of commands needed to reconstruct the whole storage schema to its current state.

schema(List<(Of <(String>)>))
Updates a storage schema from a list of commands

Retrieve a complete description of the storage

select(Guid, TypeSchema)
Retrieves data for a single instance from the storage.

select(TypeSchema, Constraint, Order)
Selects data for multiple instances of a given schema.

select(String, array<NameValuePair>[]()[])
Selects raw data from a specific table.

select_into(TypeSchema, ObjectModel, Constraint, Order)
Adds data for multiple instances conforming to a given schema to a given Model.

select_into(TypeSchema, ObjectModel, Guid, String, array<String>[]()[])
This method is designed to fetch data for 1-n and m-n relations from the storage. All entries owned by p_id are fetched.

select_into(String, ObjectModel)
Select data for a given type name.

Checks wether a transaction is currently in progress.

update(Guid, String, array<NameValuePair>[]()[])
Update the data within a table.

update(Guid, String, List<(Of <(NameValuePair>)>))
Update the data within a table.

Assembly: sorm.interfaces (Module: sorm.interfaces) Version: