Show / Hide Table of Contents

Class ErlDataStore

Represents a CRUD data store that uses Erlang backend

Inheritance
System.Object
DisposableObject
ApplicationComponent
Service
Service<System.Object>
ServiceWithInstrumentationBase<System.Object>
ErlDataStore
Implements
IService
INamed
ILocalizedTimeProvider
ICRUDDataStoreImplementation
ICRUDDataStore
ICRUDOperations
ICRUDTransactionOperations
ICRUDSubscriptionStoreImplementation
ICRUDSubscriptionStore
IDataStoreImplementation
IDataStore
IApplicationComponent
System.IDisposable
IConfigurable
IInstrumentable
IExternallyParameterized
Inherited Members
ServiceWithInstrumentationBase<Object>.ExternalParameters
ServiceWithInstrumentationBase<Object>.ExternalParametersForGroups(String[])
ServiceWithInstrumentationBase<Object>.ExternalGetParameter(String, Object, String[])
ServiceWithInstrumentationBase<Object>.ExternalSetParameter(String, Object, String[])
Service<Object>.ComponentDirector
Service.CONFIG_NAME_ATTR
Service.ApplicationDontAutoStartService
Service.Status
Service.Running
Service.Name
Service.TimeLocation
Service.LocalizedTime
Service.Configure(IConfigSectionNode)
Service.Start()
Service.SignalStop()
Service.CheckForCompleteStop()
Service.WaitForCompleteStop()
Service.AcceptManagerVisit(Object, DateTime)
Service.UniversalTimeToLocalizedTime(DateTime)
Service.LocalizedTimeToUniversalTime(DateTime)
Service.AbortStart()
Service.DoCheckForCompleteStop()
Service.DoConfigure(IConfigSectionNode)
Service.CheckServiceInactive()
Service.CheckServiceActive()
Service.CheckServiceActiveOrStarting()
Service.DoAcceptManagerVisit(Object, DateTime)
Service.____ObtainPrivateServiceStatusLockObject()
ApplicationComponent.AllComponents
ApplicationComponent.GetAppComponentBySID(UInt64)
ApplicationComponent.GetAppComponentByCommonName(String)
ApplicationComponent.ComponentSID
ApplicationComponent.ComponentStartTime
ApplicationComponent.ComponentCommonName
DisposableObject.DisposeAndNull<T>(T)
DisposableObject.DisposeStarted
DisposableObject.Disposed
DisposableObject.EnsureObjectNotDisposed()
DisposableObject.Dispose()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: NFX.DataAccess.Erlang
Assembly: NFX.Erlang.dll
Syntax
public class ErlDataStore : ServiceWithInstrumentationBase<object>, IService, INamed, ILocalizedTimeProvider, ICRUDDataStoreImplementation, ICRUDDataStore, ICRUDOperations, ICRUDTransactionOperations, ICRUDSubscriptionStoreImplementation, ICRUDSubscriptionStore, IDataStoreImplementation, IDataStore, IApplicationComponent, IDisposable, IConfigurable, IInstrumentable, IExternallyParameterized

Constructors

ErlDataStore()

Declaration
public ErlDataStore()

ErlDataStore(Object)

Declaration
public ErlDataStore(object director)
Parameters
Type Name Description
System.Object director

Fields

AFFECTED

Declaration
public static readonly ErlAtom AFFECTED
Field Value
Type Description
ErlAtom

BONJOUR_OK_PATTERN

Declaration
public static readonly IErlObject BONJOUR_OK_PATTERN
Field Value
Type Description
IErlObject

CRUD_WRITE_OK_PATTERN

Declaration
public static readonly IErlObject CRUD_WRITE_OK_PATTERN
Field Value
Type Description
IErlObject

DEFAULT_RPC_TIMEOUT_MS

Declaration
public const int DEFAULT_RPC_TIMEOUT_MS = 20000
Field Value
Type Description
System.Int32

DEFAULT_TARGET_NAME

Declaration
public const string DEFAULT_TARGET_NAME = "ERLANG"
Field Value
Type Description
System.String

ENCODING

Declaration
public static readonly ErlAtom ENCODING
Field Value
Type Description
ErlAtom

ERL_FILE_SUFFIX

Declaration
public const string ERL_FILE_SUFFIX = ".erl.qry"
Field Value
Type Description
System.String

NFX_BONJOUR_FUN

Declaration
public static readonly ErlAtom NFX_BONJOUR_FUN
Field Value
Type Description
ErlAtom

NFX_CRUD_MOD

Declaration
public static readonly ErlAtom NFX_CRUD_MOD
Field Value
Type Description
ErlAtom

NFX_DELETE_FUN

Declaration
public static readonly ErlAtom NFX_DELETE_FUN
Field Value
Type Description
ErlAtom

NFX_RPC_FUN

Declaration
public static readonly ErlAtom NFX_RPC_FUN
Field Value
Type Description
ErlAtom

NFX_SUBSCRIBE_FUN

Declaration
public static readonly ErlAtom NFX_SUBSCRIBE_FUN
Field Value
Type Description
ErlAtom

NFX_WRITE_FUN

Declaration
public static readonly ErlAtom NFX_WRITE_FUN
Field Value
Type Description
ErlAtom

SCHEMA_CONTENT

Declaration
public static readonly ErlAtom SCHEMA_CONTENT
Field Value
Type Description
ErlAtom

Properties

CallTimeoutMs

Declaration
[Config]
public int CallTimeoutMs { get; set; }
Property Value
Type Description
System.Int32

InstrumentationEnabled

Declaration
[Config(Default = false)]
[ExternalParameter(new string[]{"data", "instrumentation"})]
public override bool InstrumentationEnabled { get; set; }
Property Value
Type Description
System.Boolean
Overrides
NFX.ServiceModel.ServiceWithInstrumentationBase<System.Object>.InstrumentationEnabled

LocalName

Shortcut to ErlApp.Node name

Declaration
public string LocalName { get; }
Property Value
Type Description
System.String

LogLevel

Declaration
[Config]
public StoreLogLevel LogLevel { get; set; }
Property Value
Type Description
StoreLogLevel

Mailboxes

Declaration
public IRegistry<Mailbox> Mailboxes { get; }
Property Value
Type Description
IRegistry<Mailbox>

Map

Returns the map lazily obtaining it when needed

Declaration
protected SchemaMap Map { get; }
Property Value
Type Description
SchemaMap

NextRequestID

Generates nest sequential request ID

Declaration
protected int NextRequestID { get; }
Property Value
Type Description
System.Int32

QueryResolver

Declaration
public ICRUDQueryResolver QueryResolver { get; }
Property Value
Type Description
ICRUDQueryResolver

RemoteCookie

Declaration
[Config]
public string RemoteCookie { get; set; }
Property Value
Type Description
System.String

RemoteName

Declaration
[Config]
public string RemoteName { get; set; }
Property Value
Type Description
System.String

ScriptFileSuffix

Declaration
public string ScriptFileSuffix { get; }
Property Value
Type Description
System.String

StoreType

Declaration
public CRUDDataStoreType StoreType { get; }
Property Value
Type Description
CRUDDataStoreType

Subscriptions

Declaration
public IRegistry<Subscription> Subscriptions { get; }
Property Value
Type Description
IRegistry<Subscription>

SupportsTransactions

Declaration
public bool SupportsTransactions { get; }
Property Value
Type Description
System.Boolean

SupportsTrueAsynchrony

Declaration
public bool SupportsTrueAsynchrony { get; }
Property Value
Type Description
System.Boolean

TargetName

Declaration
[Config]
public string TargetName { get; set; }
Property Value
Type Description
System.String

Methods

BeginTransaction(IsolationLevel, TransactionDisposeBehavior)

Declaration
public virtual CRUDTransaction BeginTransaction(IsolationLevel iso = IsolationLevel.ReadCommitted, TransactionDisposeBehavior behavior = TransactionDisposeBehavior.CommitOnDispose)
Parameters
Type Name Description
System.Data.IsolationLevel iso
TransactionDisposeBehavior behavior
Returns
Type Description
CRUDTransaction

BeginTransactionAsync(IsolationLevel, TransactionDisposeBehavior)

Declaration
public virtual Task<CRUDTransaction> BeginTransactionAsync(IsolationLevel iso = IsolationLevel.ReadCommitted, TransactionDisposeBehavior behavior = TransactionDisposeBehavior.CommitOnDispose)
Parameters
Type Name Description
System.Data.IsolationLevel iso
TransactionDisposeBehavior behavior
Returns
Type Description
System.Threading.Tasks.Task<CRUDTransaction>

CRUDWrite(Row, Boolean)

Declaration
protected virtual int CRUDWrite(Row row, bool delete = false)
Parameters
Type Name Description
Row row
System.Boolean delete
Returns
Type Description
System.Int32

DecompressBytes(Byte[])

Declaration
protected byte[] DecompressBytes(byte[] data)
Parameters
Type Name Description
System.Byte[] data
Returns
Type Description
System.Byte[]

DecompressString(Byte[])

Declaration
protected string DecompressString(byte[] data)
Parameters
Type Name Description
System.Byte[] data
Returns
Type Description
System.String

Delete(Row, IDataStoreKey)

Declaration
public virtual int Delete(Row row, IDataStoreKey key = null)
Parameters
Type Name Description
Row row
IDataStoreKey key
Returns
Type Description
System.Int32

DeleteAsync(Row, IDataStoreKey)

Declaration
public virtual Task<int> DeleteAsync(Row row, IDataStoreKey key = null)
Parameters
Type Name Description
Row row
IDataStoreKey key
Returns
Type Description
System.Threading.Tasks.Task<System.Int32>

Destructor()

Declaration
protected override void Destructor()
Overrides
Service.Destructor()

DoSignalStop()

Declaration
protected override void DoSignalStop()
Overrides
Service.DoSignalStop()

DoStart()

Declaration
protected override void DoStart()
Overrides
Service.DoStart()

DoWaitForCompleteStop()

Declaration
protected override void DoWaitForCompleteStop()
Overrides
Service.DoWaitForCompleteStop()

ExecuteRPC(ErlAtom, ErlAtom, ErlList, ErlMbox)

Declaration
protected IErlObject ExecuteRPC(ErlAtom module, ErlAtom func, ErlList args, ErlMbox mbox = null)
Parameters
Type Name Description
ErlAtom module
ErlAtom func
ErlList args
ErlMbox mbox
Returns
Type Description
IErlObject

ExecuteWithoutFetch(Query[])

Declaration
public virtual int ExecuteWithoutFetch(params Query[] queries)
Parameters
Type Name Description
Query[] queries
Returns
Type Description
System.Int32

ExecuteWithoutFetchAsync(Query[])

Declaration
public virtual Task<int> ExecuteWithoutFetchAsync(params Query[] queries)
Parameters
Type Name Description
Query[] queries
Returns
Type Description
System.Threading.Tasks.Task<System.Int32>

GetSchema(Query)

Declaration
public Schema GetSchema(Query query)
Parameters
Type Name Description
Query query
Returns
Type Description
Schema

GetSchemaAsync(Query)

Declaration
public Task<Schema> GetSchemaAsync(Query query)
Parameters
Type Name Description
Query query
Returns
Type Description
System.Threading.Tasks.Task<Schema>

Insert(Row, FieldFilterFunc)

Declaration
public virtual int Insert(Row row, FieldFilterFunc filter = null)
Parameters
Type Name Description
Row row
FieldFilterFunc filter
Returns
Type Description
System.Int32

InsertAsync(Row, FieldFilterFunc)

Declaration
public virtual Task<int> InsertAsync(Row row, FieldFilterFunc filter = null)
Parameters
Type Name Description
Row row
FieldFilterFunc filter
Returns
Type Description
System.Threading.Tasks.Task<System.Int32>

Load(Query[])

Declaration
public virtual List<RowsetBase> Load(params Query[] queries)
Parameters
Type Name Description
Query[] queries
Returns
Type Description
System.Collections.Generic.List<RowsetBase>

LoadAsync(Query[])

Declaration
public virtual Task<List<RowsetBase>> LoadAsync(params Query[] queries)
Parameters
Type Name Description
Query[] queries
Returns
Type Description
System.Threading.Tasks.Task<System.Collections.Generic.List<RowsetBase>>

LoadOneRow(Query)

Declaration
public virtual Row LoadOneRow(Query query)
Parameters
Type Name Description
Query query
Returns
Type Description
Row

LoadOneRowAsync(Query)

Declaration
public virtual Task<Row> LoadOneRowAsync(Query query)
Parameters
Type Name Description
Query query
Returns
Type Description
System.Threading.Tasks.Task<Row>

LoadOneRowset(Query)

Declaration
public virtual RowsetBase LoadOneRowset(Query query)
Parameters
Type Name Description
Query query
Returns
Type Description
RowsetBase

LoadOneRowsetAsync(Query)

Declaration
public virtual Task<RowsetBase> LoadOneRowsetAsync(Query query)
Parameters
Type Name Description
Query query
Returns
Type Description
System.Threading.Tasks.Task<RowsetBase>

MakeScriptQueryHandler(QuerySource)

Declaration
public CRUDQueryHandler MakeScriptQueryHandler(QuerySource querySource)
Parameters
Type Name Description
QuerySource querySource
Returns
Type Description
CRUDQueryHandler

OpenCursor(Query)

Declaration
public Cursor OpenCursor(Query query)
Parameters
Type Name Description
Query query
Returns
Type Description
Cursor

OpenCursorAsync(Query)

Declaration
public Task<Cursor> OpenCursorAsync(Query query)
Parameters
Type Name Description
Query query
Returns
Type Description
System.Threading.Tasks.Task<Cursor>

OpenMailbox(String)

Declaration
public Mailbox OpenMailbox(string name)
Parameters
Type Name Description
System.String name
Returns
Type Description
Mailbox

Save(RowsetBase[])

Declaration
public virtual int Save(params RowsetBase[] rowsets)
Parameters
Type Name Description
RowsetBase[] rowsets
Returns
Type Description
System.Int32

SaveAsync(RowsetBase[])

Declaration
public virtual Task<int> SaveAsync(params RowsetBase[] rowsets)
Parameters
Type Name Description
RowsetBase[] rowsets
Returns
Type Description
System.Threading.Tasks.Task<System.Int32>

Subscribe(String, Query, Mailbox, Object)

Declaration
public Subscription Subscribe(string name, Query query, Mailbox recipient, object correlate = null)
Parameters
Type Name Description
System.String name
Query query
Mailbox recipient
System.Object correlate
Returns
Type Description
Subscription

TestConnection()

Declaration
public void TestConnection()

Update(Row, IDataStoreKey, FieldFilterFunc)

Declaration
public virtual int Update(Row row, IDataStoreKey key = null, FieldFilterFunc filter = null)
Parameters
Type Name Description
Row row
IDataStoreKey key
FieldFilterFunc filter
Returns
Type Description
System.Int32

UpdateAsync(Row, IDataStoreKey, FieldFilterFunc)

Declaration
public virtual Task<int> UpdateAsync(Row row, IDataStoreKey key = null, FieldFilterFunc filter = null)
Parameters
Type Name Description
Row row
IDataStoreKey key
FieldFilterFunc filter
Returns
Type Description
System.Threading.Tasks.Task<System.Int32>

Upsert(Row, FieldFilterFunc)

Declaration
public virtual int Upsert(Row row, FieldFilterFunc filter = null)
Parameters
Type Name Description
Row row
FieldFilterFunc filter
Returns
Type Description
System.Int32

UpsertAsync(Row, FieldFilterFunc)

Declaration
public virtual Task<int> UpsertAsync(Row row, FieldFilterFunc filter = null)
Parameters
Type Name Description
Row row
FieldFilterFunc filter
Returns
Type Description
System.Threading.Tasks.Task<System.Int32>

Implements

IService
INamed
ILocalizedTimeProvider
ICRUDDataStoreImplementation
ICRUDDataStore
ICRUDOperations
ICRUDTransactionOperations
ICRUDSubscriptionStoreImplementation
ICRUDSubscriptionStore
IDataStoreImplementation
IDataStore
IApplicationComponent
System.IDisposable
IConfigurable
IInstrumentable
IExternallyParameterized

Extension Methods

MiscUtils.NonNull<T>(T, Func<Exception>, String)
ObjectValueConversion.AsString(Object, String, ConvertErrorHandling)
ObjectValueConversion.AsNonNullOrEmptyString(Object)
ObjectValueConversion.AsLaconicConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsJSONConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsXMLConfig(Object, ConfigSectionNode, ConvertErrorHandling)
ObjectValueConversion.AsChar(Object, Char, ConvertErrorHandling)
ObjectValueConversion.AsNullableChar(Object, Nullable<Char>, ConvertErrorHandling)
ObjectValueConversion.AsByte(Object, Byte, ConvertErrorHandling)
ObjectValueConversion.AsNullableByte(Object, Nullable<Byte>, ConvertErrorHandling)
ObjectValueConversion.AsSByte(Object, SByte, ConvertErrorHandling)
ObjectValueConversion.AsNullableSByte(Object, Nullable<SByte>, ConvertErrorHandling)
ObjectValueConversion.AsShort(Object, Int16, ConvertErrorHandling)
ObjectValueConversion.AsNullableShort(Object, Nullable<Int16>, ConvertErrorHandling)
ObjectValueConversion.AsUShort(Object, UInt16, ConvertErrorHandling)
ObjectValueConversion.AsNullableUShort(Object, Nullable<UInt16>, ConvertErrorHandling)
ObjectValueConversion.AsInt(Object, Int32, ConvertErrorHandling)
ObjectValueConversion.AsNullableInt(Object, Nullable<Int32>, ConvertErrorHandling)
ObjectValueConversion.AsUInt(Object, UInt32, ConvertErrorHandling)
ObjectValueConversion.AsNullableUInt(Object, Nullable<UInt32>, ConvertErrorHandling)
ObjectValueConversion.AsLong(Object, Int64, ConvertErrorHandling)
ObjectValueConversion.AsNullableLong(Object, Nullable<Int64>, ConvertErrorHandling)
ObjectValueConversion.AsULong(Object, UInt64, ConvertErrorHandling)
ObjectValueConversion.AsNullableULong(Object, Nullable<UInt64>, ConvertErrorHandling)
ObjectValueConversion.AsDouble(Object, Double, ConvertErrorHandling)
ObjectValueConversion.AsNullableDouble(Object, Nullable<Double>, ConvertErrorHandling)
ObjectValueConversion.AsFloat(Object, Single, ConvertErrorHandling)
ObjectValueConversion.AsNullableFloat(Object, Nullable<Single>, ConvertErrorHandling)
ObjectValueConversion.AsDecimal(Object, Decimal, ConvertErrorHandling)
ObjectValueConversion.AsNullableDecimal(Object, Nullable<Decimal>, ConvertErrorHandling)
ObjectValueConversion.AsBool(Object, Boolean, ConvertErrorHandling)
ObjectValueConversion.AsNullableBool(Object, Nullable<Boolean>, ConvertErrorHandling)
ObjectValueConversion.AsGUID(Object, Guid, ConvertErrorHandling)
ObjectValueConversion.AsNullableGUID(Object, Nullable<Guid>, ConvertErrorHandling)
ObjectValueConversion.AsDateTime(Object)
ObjectValueConversion.AsDateTime(Object, DateTime, ConvertErrorHandling)
ObjectValueConversion.AsNullableDateTime(Object, Nullable<DateTime>, ConvertErrorHandling)
ObjectValueConversion.AsGDID(Object)
ObjectValueConversion.AsGDID(Object, GDID, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDID(Object, Nullable<GDID>, ConvertErrorHandling)
ObjectValueConversion.AsGDIDSymbol(Object)
ObjectValueConversion.AsGDIDSymbol(Object, GDIDSymbol, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDIDSymbol(Object, Nullable<GDIDSymbol>, ConvertErrorHandling)
ObjectValueConversion.AsTimeSpan(Object)
ObjectValueConversion.AsTimeSpan(Object, TimeSpan, ConvertErrorHandling)
ObjectValueConversion.AsNullableTimeSpan(Object, Nullable<TimeSpan>, ConvertErrorHandling)
ObjectValueConversion.AsEnum<TEnum>(Object, TEnum, ConvertErrorHandling)
ObjectValueConversion.AsNullableEnum<TEnum>(Object, Nullable<TEnum>, ConvertErrorHandling)
ObjectValueConversion.AsUri(Object, Uri, ConvertErrorHandling)
JSONExtensions.ToJSON(Object, JSONWritingOptions)
JSONExtensions.ToJSON(Object, TextWriter, JSONWritingOptions)
JSONExtensions.ToJSON(Object, Stream, JSONWritingOptions, Encoding)
ErlObject.ToErlObject(Object)
ErlObject.ToErlObject(Object, ErlTypeOrder, Boolean)
Back to top Copyright © 2006-2018 Agnicore Inc
Generated by DocFX