Flexberry ORM 8.0.0-beta01
Класс ICSSoft.STORMNET.Business.PostgresDataService

DataService for PostgreSQL. Подробнее...

Граф наследования:ICSSoft.STORMNET.Business.PostgresDataService:
ICSSoft.STORMNET.Business.SQLDataService NewPlatform.Flexberry.ORM.IAsyncDataService ICSSoft.STORMNET.Business.IDataService NewPlatform.Flexberry.ORM.IAsyncDataService ICSSoft.STORMNET.Business.IDataService ICSSoft.STORMNET.Business.IDataService ICSSoft.STORMNET.Business.IDataService NewPlatform.Flexberry.ORM.IAsyncDataService

Открытые члены

 PostgresDataService (ISecurityManager securityManager, IAuditService auditService, IBusinessServerProvider businessServerProvider)
 Создание сервиса данных для PostgreSQL с указанием настроек проверки полномочий. Подробнее...
 
 PostgresDataService (ISecurityManager securityManager, IAuditService auditService, IBusinessServerProvider businessServerProvider, IConverterToQueryValueString converterToQueryValueString, INotifyUpdateObjects notifierUpdateObjects=null)
 Initializes a new instance of the PostgresDataService class with specified security manager, audit service and converter. Подробнее...
 
override string FunctionToSql (SQLWhereLanguageDef sqlLangDef, Function value, delegateConvertValueToQueryValueString convertValue, delegatePutIdentifierToBrackets convertIdentifier)
 Преобразовать значение в SQL строку. Подробнее...
 
override System.Data.IDbConnection GetConnection ()
 Get connection by Npgsql. Подробнее...
 
override System.Data.Common.DbConnection GetDbConnection ()
 Get connection by Npgsql (DbConnection). Подробнее...
 
override string PutIdentifierIntoBrackets (string identifier)
 Put identifier into brackets. Подробнее...
 
override string GetConvertToTypeExpression (Type valType, string value)
 Conversation value to type. Подробнее...
 
override string ConvertSimpleValueToQueryValueString (object value)
 Convert simple value to query value string. Подробнее...
 
override object[][] ReadFirst (string query, ref object state, int loadingBufferSize)
 Reading data from database: read first part. Подробнее...
 
override object[][] ReadFirstByExtConn (string query, ref object state, int loadingBufferSize, IDbConnection connection, IDbTransaction transaction)
 Reading data from database: read first part (by external connection). Подробнее...
 
override string GetIfNullExpression (params string[] identifiers)
 Метод переопределён, чтобы заменить длиные псевдонимы на короткие. Подробнее...
 
override string GenerateSQLSelect (LoadingCustomizationStruct customizationStruct, bool optimized)
 The generate sql select. Подробнее...
 
override string GenerateSQLSelectByStorageStruct (StorageStructForView storageStruct, bool addNotMainKeys, bool addMasterFieldsCustomizer, string AddingAdvansedField, int AddingKeysCount, bool SelectTypesIds)
 Этот метод переопределён, чтобы создать словарь соответствия длинных и коротких имён для псевдонимов. Подробнее...
 
override string GenerateSQLSelect (LoadingCustomizationStruct customizationStruct, bool ForReadValues, out StorageStructForView[] StorageStruct, bool Optimized)
 Этот метод переопределён, чтобы обозначить начало создания словаря соответствия длинных и коротких имён для псевдонимов. Подробнее...
 
override void GenerateSQLRowNumber (LoadingCustomizationStruct customizationStruct, ref string resQuery, string orderByExpr)
 
override IDictionary< int, string > GetObjectIndexesWithPks (LoadingCustomizationStruct lcs, FunctionalLanguage.Function limitFunction, int? maxResults=null)
 Возвращает индексы и ключи объектов, встретившихся в массиве, при загрузке по указанному lcs. Объекты задаются через lf. Подробнее...
 
override void CreateJoins (StorageStructForView.PropSource source, string parentAlias, int index, ArrayList keysandtypes, string baseOutline, out int joinscount, out string FromPart, out string WherePart)
 Создать join соединения. Подробнее...
 
override void CreateJoins (StorageStructForView.PropSource source, string parentAlias, int index, ArrayList keysandtypes, string baseOutline, out int joinscount, out string FromPart, out string WherePart, bool MustNewGenerate)
 создать join соединения. Подробнее...
 
- Открытые члены унаследованные от ICSSoft.STORMNET.Business.SQLDataService
virtual async Task< int > GetObjectsCountAsync (LoadingCustomizationStruct customizationStruct)
 Получение количества объектов удовлетворяющих запросу.
 
virtual async Task LoadObjectAsync (DataObject dataObject, View dataObjectView=null, bool clearDataObject=true, bool checkExistingObject=true, DataObjectCache dataObjectCache=null)
 Загрузка одного объекта данных (атрибуты для dataObject загружаются в процессе работы).
 
virtual async Task LoadObjectByExtConnAsync (DataObject dataObject, View dataObjectView, bool clearDataObject, bool checkExistingObject, DataObjectCache dataObjectCache, DbTransactionWrapperAsync dbTransactionWrapperAsync)
 Асинхронная загрузка объекта с указанным объектом подключения в рамках указанной транзакции. Подробнее...
 
virtual async Task LoadObjectsAsync (DataObject[] dataObjects, View dataObjectView=null, bool clearDataObject=true, DataObjectCache dataObjectCache=null)
 Загрузка нескольких объектов данных.
 
virtual async Task< DataObject[]> LoadObjectsAsync (LoadingCustomizationStruct customizationStruct, DataObjectCache dataObjectCache=null)
 Загрузка нескольких объектов данных (с помощью LCS).
 
virtual async Task< DataObject[]> LoadObjectsByExtConnAsync (LoadingCustomizationStruct customizationStruct, DataObjectCache dataObjectCache, DbTransactionWrapperAsync dbTransactionWrapperAsync)
 Асинхронная загрузка объектов с использованием указанного объекта подключения и транзакции. Подробнее...
 
virtual Task< DataObject[]> LoadObjectsAsync (View dataObjectView, DataObjectCache dataObjectCache=null)
 Загрузка нескольких объектов данных (с помощью представления).
 
virtual Task UpdateObjectAsync (DataObject dataObject, bool alwaysThrowException=false, DataObjectCache dataObjectCache=null)
 Сохранение объекта данных.
 
Guid GetInstanceId ()
 Ключ инстанции сервиса. Подробнее...
 
virtual int GetObjectsCount (LoadingCustomizationStruct customizationStruct)
 Возвращает количество объектов удовлетворяющих запросу. Подробнее...
 
int GetObjectIndex (LoadingCustomizationStruct lcs, FunctionalLanguage.Function limitFunction)
 Возвращает индекс первого объекта, встретившегося в массиве, при загрузке по указанному lcs. Объекты задаются через lf. Подробнее...
 
int[] GetObjectIndexes (LoadingCustomizationStruct lcs, FunctionalLanguage.Function limitFunction)
 Возвращает индексы объектов, встретившихся в массиве, при загрузке по указанному lcs. Объекты задаются через lf. Подробнее...
 
virtual void LoadObject (ICSSoft.STORMNET.DataObject dobject, bool clearDataObject, bool checkExistingObject, DataObjectCache dataObjectCache)
 Загрузка одного объекта данных.
 
virtual void LoadObject (string dataObjectViewName, ICSSoft.STORMNET.DataObject dobject, bool clearDataObject, bool checkExistingObject, DataObjectCache dataObjectCache)
 Загрузка одного объекта данных.
 
virtual void LoadObject (ICSSoft.STORMNET.View dataObjectView, ICSSoft.STORMNET.DataObject dobject, DataObjectCache dataObjectCache)
 Загрузка одного объекта данных.
 
virtual void LoadObjectByExtConn (View dataObjectView, DataObject dobject, bool сlearDataObject, bool сheckExistingObject, DataObjectCache dataObjectCache, IDbConnection connection, IDbTransaction transaction)
 Загрузка объекта с указанной коннекцией в рамках указанной транзакции (с помощью DbTransactionWrapper). Подробнее...
 
virtual void LoadObject (ICSSoft.STORMNET.View dataObjectView, ICSSoft.STORMNET.DataObject dataObject, bool clearDataObject, bool checkExistingObject, DataObjectCache dataObjectCache)
 Загрузка одного объекта данных. Подробнее...
 
virtual void LoadObject (string dataObjectViewName, ICSSoft.STORMNET.DataObject dobject, DataObjectCache dataObjectCache)
 Загрузка одного объекта данных. Подробнее...
 
virtual void LoadObject (ICSSoft.STORMNET.DataObject dobject, DataObjectCache dataObjectCache)
 Загрузка одного объекта данных. Подробнее...
 
string[] GetPropertiesInExpression (string expression, string namespacewithpoint)
 
virtual string GenerateSQLSelect (LoadingCustomizationStruct customizationStruct, bool ForReadValues, out STORMDO.Business.StorageStructForView[] StorageStruct, bool Optimized)
 получить запрос на вычитку данных. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (LoadingCustomizationStruct customizationStruct, DataObjectCache dataObjectCache)
 Загрузка объектов данных. Подробнее...
 
virtual void LoadObjects (ICSSoft.STORMNET.DataObject[] dataObjects, ICSSoft.STORMNET.View dataObjectView, bool clearDataObject, DataObjectCache dataObjectCache)
 Загрузка объектов данных. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (ICSSoft.STORMNET.View dataObjectView)
 Загрузка объектов данных по представлению. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (ICSSoft.STORMNET.View[] dataObjectViews)
 Загрузка объектов данных по массиву представлений. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (LoadingCustomizationStruct[] customizationStructs)
 Загрузка объектов данных по массиву структур. Подробнее...
 
virtual DataObject[] LoadObjectsByExtConn (LoadingCustomizationStruct customizationStruct, ref object state, DataObjectCache dataObjectCache, IDbConnection connection, IDbTransaction transaction=null)
 Загрузка объектов с использованием указанной коннекции и транзакции. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (LoadingCustomizationStruct customizationStruct, ref object state, DataObjectCache dataObjectCache)
 Загрузка объектов данных. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (ICSSoft.STORMNET.View dataObjectView, ChangeViewForTypeDelegate changeViewForTypeDelegate)
 Загрузка объектов данных по представлению. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (ICSSoft.STORMNET.View[] dataObjectViews, ChangeViewForTypeDelegate changeViewForTypeDelegate)
 Загрузка объектов данных по массиву представлений. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (LoadingCustomizationStruct[] customizationStructs, ChangeViewForTypeDelegate changeViewForTypeDelegate)
 Загрузка объектов данных по массиву структур. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (ref object state, DataObjectCache dataObjectCache)
 Загрузка объектов данных. Подробнее...
 
virtual object[][] ReadFirstByExtConn (string query, ref object state, int loadingBufferSize, DbTransactionWrapper dbTransactionWrapper)
 Выполнить вычитку. Подробнее...
 
virtual object[][] ReadNextByExtConn (ref object State, int LoadingBufferSize)
 
virtual object[][] ReadNext (ref object state, int loadingBufferSize)
 Вычитка следующей порции данных. Подробнее...
 
virtual int ExecuteNonQuery (string query)
 Выполнить запрос. Подробнее...
 
virtual void GetLeftJoinExpression (string subTable, string subTableAlias, string parentAliasWithKey, string subTableKey, string subJoins, string baseOutline, out string FromPart, out string WherePart)
 получить LeftJoin выражение. Подробнее...
 
virtual void GetInnerJoinExpression (string subTable, string subTableAlias, string parentAliasWithKey, string subTableKey, string subJoins, string baseOutline, out string FromPart, out string WherePart)
 получить InnerJoin выражение. Подробнее...
 
virtual string GetTableStorageExpression (string tableName, bool onJoin)
 Получить выражения для обращения к таблице. Подробнее...
 
virtual string GetTableModifierPrefix (string tableName, bool onJoin)
 Получить префикс для обращения к таблице. Подробнее...
 
virtual string GetTableModifierSuffix (string tableName, bool onJoin)
 Получить суффикс для обращения к таблице. Подробнее...
 
virtual string GetJoinTableModifierExpression ()
 Вернуть модификатор для обращения к таблице (напр WITH (NOLOCK)) Можно перегрузить этот метод в сервисе данных-наследнике для возврата соответствующего своего модификатора. Базовый SQLDataService возвращает пустую строку. Подробнее...
 
virtual string GetINExpression (params string[] identifiers)
 Вернуть in выражение для where. Подробнее...
 
virtual void CreateJoins (STORMDO.Business.StorageStructForView.PropSource source, string parentAlias, int index, System.Collections.ArrayList keysandtypes, string baseOutline, out int joinscount, out string FromPart, out string WherePart)
 создать join соединения. Подробнее...
 
virtual void CreateJoins (STORMDO.Business.StorageStructForView.PropSource source, string parentAlias, int index, System.Collections.ArrayList keysandtypes, string baseOutline, out int joinscount, out string FromPart, out string WherePart, bool MustNewGenerate)
 создать join соединения. Подробнее...
 
virtual string TranslateExpression (string expression, string namespacewithpoint, string exteranlnamewithpoint, out bool PointExistInSourceIdentifier)
 преобразовать выражение с учетом. Подробнее...
 
virtual string GenerateSQLSelectByStorageStruct (STORMDO.Business.StorageStructForView storageStruct, bool addNotMainKeys, bool addMasterFieldsCustomizer, string AddingAdvansedField, int AddingKeysCount, bool SelectTypesIds)
 Получение SQL запроса в следующем формате SELECT atr1,atr2, ... atr3, Key1,Key2, ... key3 FROM fromjoins. Подробнее...
 
virtual string GenerateSQLSelectByStorageStruct (STORMDO.Business.StorageStructForView storageStruct, bool addNotMainKeys, bool addMasterFieldsCustomizer, string AddingAdvansedField, int AddingKeysCount, bool SelectTypesIds, bool MustNewGenerate, bool MustDopSelect)
 
virtual string ConvertValueToQueryValueString (object value)
 конвертация значений в строки запроса. Подробнее...
 
virtual string ConvertValueToQueryValueString (DataObject dataobject, string propname)
 Преобразование значение свойства в строку для запроса. Подробнее...
 
virtual string LimitFunction2SQLWhere (STORMFunction LimitFunction, STORMDO.Business.StorageStructForView[] StorageStruct, string[] asnameprop, bool MustNewGenerate)
 Преобразование функции. Подробнее...
 
virtual string LimitFunction2SQLWhere (STORMFunction LimitFunction)
 Преобразование функции. Подробнее...
 
virtual ObjectStringDataView[] LoadStringedObjectView (char separator, LoadingCustomizationStruct customizationStruct)
 Загрузка без создания объектов. Подробнее...
 
virtual ObjectStringDataView[] LoadStringedObjectView (char separator, LoadingCustomizationStruct customizationStruct, ref object State)
 Загрузка без создания объектов. Подробнее...
 
virtual object[][] LoadRawValues (LoadingCustomizationStruct customizationStruct)
 Загрузка без создания объектов. Подробнее...
 
virtual ObjectStringDataView[] LoadValues (char separator, LoadingCustomizationStruct customizationStruct)
 
virtual ObjectStringDataView[] LoadStringedObjectView (ref object state)
 
void CompleteLoadStringedObjectView (ref object state)
 Корректное завершения операции порционного чтения LoadStringedObjectView. Подробнее...
 
virtual void UpdateObject (ref ICSSoft.STORMNET.DataObject dobject, DataObjectCache dataObjectCache)
 Обновление объекта данных. Подробнее...
 
virtual void UpdateObject (ref ICSSoft.STORMNET.DataObject dobject, DataObjectCache dataObjectCache, bool alwaysThrowException)
 Обновление объекта данных. Подробнее...
 
virtual void UpdateObject (ICSSoft.STORMNET.DataObject dobject)
 Обновление объекта данных. Подробнее...
 
virtual void UpdateObject (ICSSoft.STORMNET.DataObject dobject, DataObjectCache dataObjectCache)
 Обновление объекта данных. Подробнее...
 
virtual void UpdateObject (ICSSoft.STORMNET.DataObject dobject, bool alwaysThrowException)
 Обновление объекта данных. Подробнее...
 
virtual void GenerateQueriesForUpdateObjects (Dictionary< string, List< string >> deleteQueries, Dictionary< string, List< string >> updateQueries, Dictionary< string, List< string >> updateFirstQueries, Dictionary< string, List< string >> updateLastQueries, Dictionary< string, List< string >> insertQueries, SortedList tableOperations, StringCollection queryOrder, bool checkLoadedProps, ArrayList processingObjects, DataObjectCache dataObjectCache, object dbTransactionWrapper, params ICSSoft.STORMNET.DataObject[] dobjects)
 Генерация запросов для изменения объектов. Подробнее...
 
virtual void GenerateQueriesForUpdateObjects (Dictionary< string, List< string >> deleteQueries, Dictionary< string, List< string >> updateQueries, Dictionary< string, List< string >> updateFirstQueries, Dictionary< string, List< string >> updateLastQueries, Dictionary< string, List< string >> insertQueries, SortedList tableOperations, StringCollection queryOrder, bool checkLoadedProps, ArrayList processingObjects, DataObjectCache dataObjectCache, List< DataObject > auditObjects, object dbTransactionWrapper, params DataObject[] dobjects)
 Генерация запросов для изменения объектов (дополнительно возвращается список объектов, для которых необходимо создание записей аудита). Подробнее...
 
Dictionary< string, List< string > > GenerateDeleteQueries (IEnumerable< KeyValuePair< string, string >> tableLimits)
 Сгенерировать запросы на удаление. Подробнее...
 
virtual void UpdateObjectsOrdered (ref DataObject[] objects, bool alwaysThrowException=true)
 Обновить объекты данных в указанном порядке. Подробнее...
 
virtual void UpdateObjectsByExtConn (ref DataObject[] objects, DataObjectCache dataObjectCache, bool alwaysThrowException, DbTransactionWrapper dbTransactionWrapper)
 Обновить хранилище по объектам (есть параметр, указывающий, всегда ли необходимо взводить ошибку и откатывать транзакцию при неудачном запросе в базу данных). Если он true, всегда взводится ошибка. Иначе, выполнение продолжается. Однако, при этом есть опасность преждевременного окончания транзакции, с переходом для остальных запросов режима транзакционности в autocommit. Проявлением проблемы являются ошибки навроде: The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION. Подробнее...
 
virtual void UpdateObjectsByExtConn (ref DataObject[] objects, DataObjectCache dataObjectCache, bool alwaysThrowException, IDbConnection connection, IDbTransaction transaction)
 Обновить хранилище по объектам (есть параметр, указывающий, всегда ли необходимо взводить ошибку и откатывать транзакцию при неудачном запросе в базу данных). Если он true, всегда взводится ошибка. Иначе, выполнение продолжается. Однако, при этом есть опасность преждевременного окончания транзакции, с переходом для остальных запросов режима транзакционности в autocommit. Проявлением проблемы являются ошибки навроде: The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION. Подробнее...
 
virtual void LoadObject (ICSSoft.STORMNET.DataObject dobject)
 Загрузка одного объекта данных. Подробнее...
 
virtual void LoadObject (string dataObjectViewName, ICSSoft.STORMNET.DataObject dobject)
 Загрузка одного объекта данных. Подробнее...
 
virtual void LoadObject (ICSSoft.STORMNET.View dataObjectView, ICSSoft.STORMNET.DataObject dobject)
 Загрузка одного объекта данных. Подробнее...
 
virtual void LoadObject (ICSSoft.STORMNET.DataObject dobject, bool clearDataObject, bool checkExistingObject)
 Загрузка одного объекта данных. Подробнее...
 
virtual void LoadObject (string dataObjectViewName, ICSSoft.STORMNET.DataObject dobject, bool clearDataObject, bool checkExistingObject)
 Загрузка одного объекта данных. Подробнее...
 
virtual void LoadObject (ICSSoft.STORMNET.View dataObjectView, ICSSoft.STORMNET.DataObject dobject, bool clearDataObject, bool checkExistingObject)
 Загрузка одного объекта данных. Подробнее...
 
virtual void LoadObjects (ICSSoft.STORMNET.DataObject[] dataobjects, ICSSoft.STORMNET.View dataObjectView, bool clearDataObject)
 Загрузка объектов данных. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (LoadingCustomizationStruct customizationStruct)
 Загрузка объектов данных. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (LoadingCustomizationStruct customizationStruct, ref object State)
 Загрузка объектов данных. Подробнее...
 
virtual ICSSoft.STORMNET.DataObject[] LoadObjects (ref object State)
 Загрузка объектов данных. Подробнее...
 
virtual void UpdateObject (ref ICSSoft.STORMNET.DataObject dobject)
 Обновление объекта данных. Подробнее...
 
virtual void UpdateObject (ref ICSSoft.STORMNET.DataObject dobject, bool alwaysThrowException)
 Обновление объекта данных. Подробнее...
 
virtual object Clone ()
 Создание копии экземпляра сервиса данных. Подробнее...
 
bool IsExpressionContainAttrubuteCheckOnly (string expression)
 Выражение DataServiceExpression содержит только метаинформацию для контроля прав на атрибуты. Подробнее...
 
virtual void UpdateObjects (ref DataObject[] objects, DataObjectCache dataObjectCache, bool alwaysThrowException)
 Обновить хранилище по объектам (есть параметр, указывающий, всегда ли необходимо взводить ошибку и откатывать транзакцию при неудачном запросе в базу данных). Если он true, всегда взводится ошибка. Иначе, выполнение продолжается. Однако, при этом есть опасность преждевременного окончания транзакции, с переходом для остальных запросов режима транзакционности в autocommit. Проявлением проблемы являются ошибки навроде: The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION. Подробнее...
 
virtual void UpdateObjects (ref DataObject[] objects, DataObjectCache dataObjectCache)
 Обновить хранилище по объектам. При ошибках делается попытка возобновления транзакции с другого запроса, т.к. предполагается, что запросы должны быть выполнены в другом порядке. Подробнее...
 
virtual void UpdateObjects (ref DataObject[] objects)
 Обновить хранилище по объектам. Подробнее...
 
virtual void UpdateObjects (ref DataObject[] objects, bool alwaysThrowException)
 Обновить хранилище по объектам. Подробнее...
 
virtual async Task UpdateObjectsAsync (DataObject[] objects, bool alwaysThrowException=false, DataObjectCache dataObjectCache=null)
 Сохранение объектов данных.
 
virtual async Task UpdateObjectsByExtConnAsync (DataObject[] objects, DataObjectCache dataObjectCache, bool alwaysThrowException, DbTransactionWrapperAsync dbTransactionWrapperAsync)
 Сохранение объектов данных. Подробнее...
 
- Открытые члены унаследованные от ICSSoft.STORMNET.Business.IDataService
void UpdateObjects (ref ICSSoft.STORMNET.DataObject[] objects, DataObjectCache dataObjectCache)
 
void UpdateObjects (ref ICSSoft.STORMNET.DataObject[] objects, DataObjectCache dataObjectCache, bool alwaysThrowException)
 
void UpdateObjects (ref ICSSoft.STORMNET.DataObject[] objects)
 
void UpdateObjects (ref ICSSoft.STORMNET.DataObject[] objects, bool alwaysThrowException)
 

Открытые статические члены

static bool IsTypesEquals (string type1, string type2)
 Сравнивает имена типов. Подробнее...
 
static string PrepareIdentifier (string identifier)
 Заключает идентификатор в кавычки, если он совпадает со словом из словаря зарезервированных слов Postgres. Подробнее...
 
- Открытые статические члены унаследованные от ICSSoft.STORMNET.Business.SQLDataService
static void AccessCheckBeforeUpdate (ISecurityManager securityManager, ArrayList dataObjects)
 Проверка прав пользователя перед изменением объектов (выбрасывает исключение если доступ закрыт). Подробнее...
 

Статические открытые данные

const int MaxNameLength = 64 - 1
 Максимальная длина имени идентификатора Postgres. Без перекомпиляции Postgres составляет 64 - 1 байт. Для тестирования с использованием основного алгоритма можно указать 35 - 1. Для тестирования с использованием отладочного алгоритма можно указать 6 - 1. Подробнее...
 
- Статические открытые данные унаследованные от ICSSoft.STORMNET.Business.SQLDataService
static ChangeCustomizationStringDelegate ChangeCustomizationString = null
 Делегат для смены строки соединения. Подробнее...
 

Защищенные члены

override Task< object[][]> ReadByExtConnAsync (string query, int loadingBufferSize, DbTransactionWrapperAsync dbTransactionWrapperAsync)
 Асинхронная вычитка данных. Подробнее...
 
string PutIdentifierIntoBrackets (string identifier, bool isGenerateSqlSelectMode)
 Put identifier into brackets. Подробнее...
 
- Защищенные члены унаследованные от ICSSoft.STORMNET.Business.SQLDataService
virtual async Task< object[][]> ReadAsync (string query, int loadingBufferSize)
 Асинхронная вычитка данных. Подробнее...
 
 SQLDataService (ISecurityManager securityManager, IAuditService auditService, IBusinessServerProvider businessServerProvider)
 Initializes a new instance of the SQLDataService class with specified security manager and audit service. Подробнее...
 
 SQLDataService (ISecurityManager securityManager, IAuditService auditService, IBusinessServerProvider businessServerProvider, IConverterToQueryValueString converterToQueryValueString, INotifyUpdateObjects notifierUpdateObjects=null)
 Initializes a new instance of the SQLDataService class with specified security manager, audit service and converter. Подробнее...
 
void prv_AddMasterObjectsToCache (DataObject dataobject, System.Collections.ArrayList arrl, DataObjectCache dataObjectCache)
 
virtual void SecondLoadObject (View dataObjectView, DataObject dataObject, bool checkExistingObject, DataObjectCache dataObjectCache)
 Метод для дочитки объекта данных. Загруженные ранее свойства не затираются, изменённые свойства не затираются. Подменяются поштучно свойства копии данных. TODO: дописать тесты, проверить и сделать публичным. Подробнее...
 
virtual void PrvSecondLoadObject (View dataObjectView, DataObject dataObject, bool checkExistingObject, DataObjectCache dataObjectCache, DataObject dataObjectFromDB)
 Метод для дочитки объекта данных. Загруженные ранее свойства не затираются, изменённые свойства не затираются. Подменяются поштучно свойства копии данных. Подробнее...
 
virtual void GetAlteredPropsWithValues (ICSSoft.STORMNET.DataObject dobject, bool CheckLoadedProps, out ICSSoft.STORMNET.Collections.CaseSensivityStringDictionary propsWithValues, out ICSSoft.STORMNET.DataObject[] detailObjects, out ICSSoft.STORMNET.DataObject[] masterObjects, bool ReturnPropStorageNames)
 Возвращает измененные данные со значениями. Подробнее...
 
virtual void GenerateAuditForAggregators (ArrayList processingObjects, DataObjectCache dataObjectCache, ref List< DataObject > auditObjects, DbTransactionWrapper dbTransactionWrapper=null)
 Сгенерировать объекты для учета аудита агрегаторов обновляемых объектов, если они обновляются отдельно от агрегатора. Подробнее...
 
virtual void CustomizeCommand (System.Data.IDbCommand cmd)
 
virtual IDbTransaction CreateTransaction (IDbConnection connection)
 
virtual async Task< List< DataObject > > GenerateAuditForAggregatorsAsync (ArrayList processingObjects, DataObjectCache dataObjectCache, DbTransactionWrapperAsync dbTransactionWrapper=null)
 Сгенерировать объекты для учета аудита агрегаторов обновляемых объектов, если они обновляются отдельно от агрегатора. Подробнее...
 
virtual void ConvertReadResult (object[][] result, DataObject[] dataObjects, LoadingCustomizationStruct customizationStruct, StorageStructForView[] storageStructs, SortedList allObjectKeys, SortedList readingKeys, bool clearDataObject, DataObjectCache dataObjectCache)
 Конвертировать результат вычитки методов Read/ReadAsync в массив объектов данных. Подробнее...
 
virtual LoadingCustomizationStruct GetCustomizationStruct (DataObject[] dataObjects, View dataObjectView, out SortedList allObjectsKeys, out SortedList readingKeys)
 Сгенерировать LoadingCustomizationStruct - результат представляет собой ограничение "Один из переданных объектов данных". Используется в дальнейшем для генерации SQL. Подробнее...
 

Свойства

override DbProviderFactory ProviderFactory [get]
 
- Свойства унаследованные от ICSSoft.STORMNET.Business.SQLDataService
StorageTypeEnum StorageType = StorageTypeEnum.SimpleStorage [get, set]
 Тип хранилища. Подробнее...
 
IConverterToQueryValueString ConverterToQueryValueString [get, set]
 An instance of the class responsible for converting values to a string for the SQL query. See IConverterToQueryValueString. Подробнее...
 
INotifyUpdateObjects NotifierUpdateObjects [get, set]
 An instance of the class for custom process updated objects. See INotifyUpdateObjects. Подробнее...
 
abstract DbProviderFactory ProviderFactory [get]
 A factory to create instances of the data source classes. Подробнее...
 
string CustomizationString [get, set]
 Настроичная строка (строка соединения). Подробнее...
 
string CustomizationStringName [get, set]
 Свойство для установки строки соединения по имени. Подробнее...
 
bool DoNotChangeCustomizationString [get, set]
 Не менять строку соединения общим делегатом ChangeCustomizationString. Подробнее...
 
System.Collections.SortedList Types [get]
 Gets the types. Подробнее...
 
IConfigResolver ConfigResolver = new ConfigResolver() [get, set]
 Сервис разрешения строк соединения на основе файла конфигурации приложения. Подробнее...
 
ICurrentUser CurrentUser [get, set]
 Сервис разрешения текущего пользователя. Требуется для корректного разрешения текущего пользователя, который используется в запросах. Подробнее...
 
IBusinessServerProvider BusinessServerProvider [get, protected set]
 Сервис получения бизнес-серверов для обрабатываемых объектов. Подробнее...
 
ISecurityManager SecurityManager [get, protected set]
 
IAuditService AuditService [get]
 
ICSSoft.STORMNET.TypeUsage TypeUsage [get, set]
 
int CommandTimeout [get, set]
 IDbCommand.CommandTimeout кроме установки этого таймаута не забудьте установить флаг UseCommandTimeout. Подробнее...
 
bool UseCommandTimeout [get, set]
 Использовать ли атрибут CommandTimeout (если задан через конфиг, то будет true) по-умолчанию false. Подробнее...
 
- Свойства унаследованные от ICSSoft.STORMNET.Business.IDataService
string CustomizationString [get, set]
 Строка настройки. Подробнее...
 
ICSSoft.STORMNET.TypeUsage TypeUsage [get, set]
 Структура определения ICSSoft.STORMNET.TypeUsage. Подробнее...
 
ISecurityManager SecurityManager [get]
 Менеджер полномочий. Подробнее...
 
IAuditService AuditService [get]
 Текущий сервис аудита. Подробнее...
 

Дополнительные унаследованные члены

- События унаследованные от ICSSoft.STORMNET.Business.SQLDataService
OnGenerateSQLSelectEventHandler OnGenerateSQLSelect
 Событие перед генерацией запроса Подробнее...
 
AfterGenerateSQLSelectQueryEventHandler AfterGenerateSQLSelectQuery
 После генерации, но до вычитки Подробнее...
 
static AfterGenerateSQLSelectQueryEventHandler AfterGenerateSQLSelectQueryStatic
 После генерации, но до вычитки, статический эвент (выполняется после обработки в AfterGenerateSQLSelectQuery) Подробнее...
 
BeforeUpdateObjectsEventHandler BeforeUpdateObjects
 Перед выполнением обновления объектов в базе. После отработки бизнес-серверов. Подробнее...
 
AfterUpdateObjectsEventHandler AfterUpdateObjects
 После выполнения обновления объектов в базе. Подробнее...
 
OnCreateCommandEventHandler OnCreateCommand
 

Подробное описание

DataService for PostgreSQL.

Конструктор(ы)

◆ PostgresDataService() [1/2]

ICSSoft.STORMNET.Business.PostgresDataService.PostgresDataService ( ISecurityManager  securityManager,
IAuditService  auditService,
IBusinessServerProvider  businessServerProvider 
)
inline

Создание сервиса данных для PostgreSQL с указанием настроек проверки полномочий.

Аргументы
securityManagerСенеджер полномочий.
auditServiceСервис аудита.
businessServerProviderThe provider for BusinessServer creation.

◆ PostgresDataService() [2/2]

ICSSoft.STORMNET.Business.PostgresDataService.PostgresDataService ( ISecurityManager  securityManager,
IAuditService  auditService,
IBusinessServerProvider  businessServerProvider,
IConverterToQueryValueString  converterToQueryValueString,
INotifyUpdateObjects  notifierUpdateObjects = null 
)
inline

Initializes a new instance of the PostgresDataService class with specified security manager, audit service and converter.

Аргументы
securityManagerThe security manager instance.
auditServiceThe audit service instance.
businessServerProviderThe provider for BusinessServer creation.
converterToQueryValueStringThe converter instance.
notifierUpdateObjectsAn instance of the class for custom process updated objects.

Методы

◆ ConvertSimpleValueToQueryValueString()

override string ICSSoft.STORMNET.Business.PostgresDataService.ConvertSimpleValueToQueryValueString ( object  value)
inlinevirtual

Convert simple value to query value string.

Аргументы
valueValue for conversation.
Возвращает
Converted value.

Переопределяет метод предка ICSSoft.STORMNET.Business.SQLDataService.

◆ CreateJoins() [1/2]

override void ICSSoft.STORMNET.Business.PostgresDataService.CreateJoins ( StorageStructForView.PropSource  source,
string  parentAlias,
int  index,
ArrayList  keysandtypes,
string  baseOutline,
out int  joinscount,
out string  FromPart,
out string  WherePart 
)
inline

Создать join соединения.

Аргументы
sourceИсточник с которого формируется соединение.
parentAliasВышестоящий алиас.
indexИндекс источника.
keysandtypesКлючи и типы.
baseOutlineСмещение в запросе.
joinscountКоличество соединений.
FromPartFROM-часть SQL-запроса.
WherePartWHERE-часть SQL-запроса.

◆ CreateJoins() [2/2]

override void ICSSoft.STORMNET.Business.PostgresDataService.CreateJoins ( StorageStructForView.PropSource  source,
string  parentAlias,
int  index,
ArrayList  keysandtypes,
string  baseOutline,
out int  joinscount,
out string  FromPart,
out string  WherePart,
bool  MustNewGenerate 
)
inline

создать join соединения.

Аргументы
sourceисточник с которого формируется соединение.
parentAliasвышестоящий алиас.
indexиндекс источника.
keysandtypesключи и типы.
baseOutlineсмещение в запросе.
joinscountколичество соединений.
FromPartFROM-часть SQL-запроса.
WherePartWHERE-часть SQL-запроса.
MustNewGenerateИспользовать генерацию SQL без вложенного подзапроса.

◆ FunctionToSql()

override string ICSSoft.STORMNET.Business.PostgresDataService.FunctionToSql ( SQLWhereLanguageDef  sqlLangDef,
Function  value,
delegateConvertValueToQueryValueString  convertValue,
delegatePutIdentifierToBrackets  convertIdentifier 
)
inlinevirtual

Преобразовать значение в SQL строку.

Аргументы
functionФункция.
convertValueделегат для преобразования констант.
convertIdentifierделегат для преобразования идентификаторов.
Возвращает

Переопределяет метод предка ICSSoft.STORMNET.Business.SQLDataService.

◆ GenerateSQLSelect() [1/2]

override string ICSSoft.STORMNET.Business.PostgresDataService.GenerateSQLSelect ( LoadingCustomizationStruct  customizationStruct,
bool  ForReadValues,
out StorageStructForView[]  StorageStruct,
bool  Optimized 
)
inline

Этот метод переопределён, чтобы обозначить начало создания словаря соответствия длинных и коротких имён для псевдонимов.

Аргументы
customizationStructThe customization struct.
ForReadValuesThe for read values.
StorageStructThe storage struct.
OptimizedThe optimized.
Возвращает
The string.

◆ GenerateSQLSelect() [2/2]

override string ICSSoft.STORMNET.Business.PostgresDataService.GenerateSQLSelect ( LoadingCustomizationStruct  customizationStruct,
bool  optimized 
)
inlinevirtual

The generate sql select.

Аргументы
customizationStructThe customization struct.
optimizedGet optimized query (view only with properties from limitation).
Возвращает
The SQL SELECT Query for customization struct.

Переопределяет метод предка ICSSoft.STORMNET.Business.SQLDataService.

◆ GenerateSQLSelectByStorageStruct()

override string ICSSoft.STORMNET.Business.PostgresDataService.GenerateSQLSelectByStorageStruct ( StorageStructForView  storageStruct,
bool  addNotMainKeys,
bool  addMasterFieldsCustomizer,
string  AddingAdvansedField,
int  AddingKeysCount,
bool  SelectTypesIds 
)
inline

Этот метод переопределён, чтобы создать словарь соответствия длинных и коротких имён для псевдонимов.

Аргументы
storageStructThe storage Struct.
addNotMainKeysThe add Not Main Keys.
addMasterFieldsCustomizerThe add Master Fields Customizer.
AddingAdvansedFieldThe Adding Advansed Field.
AddingKeysCountThe Adding Keys Count.
SelectTypesIdsThe Select Types Ids.
Возвращает
The string.

◆ GetConnection()

override System.Data.IDbConnection ICSSoft.STORMNET.Business.PostgresDataService.GetConnection ( )
inlinevirtual

Get connection by Npgsql.

Возвращает
Database connection.

Замещает ICSSoft.STORMNET.Business.SQLDataService.

◆ GetConvertToTypeExpression()

override string ICSSoft.STORMNET.Business.PostgresDataService.GetConvertToTypeExpression ( Type  valType,
string  value 
)
inlinevirtual

Conversation value to type.

Аргументы
valTypeValue type for conversation.
valueValue for conversation.
Возвращает
Converted value.

Переопределяет метод предка ICSSoft.STORMNET.Business.SQLDataService.

◆ GetDbConnection()

override System.Data.Common.DbConnection ICSSoft.STORMNET.Business.PostgresDataService.GetDbConnection ( )
inlinevirtual

Get connection by Npgsql (DbConnection).

Возвращает
Database connection.

Замещает ICSSoft.STORMNET.Business.SQLDataService.

◆ GetIfNullExpression()

override string ICSSoft.STORMNET.Business.PostgresDataService.GetIfNullExpression ( params string[]  identifiers)
inlinevirtual

Метод переопределён, чтобы заменить длиные псевдонимы на короткие.

Аргументы
identifiersThe identifiers.
Возвращает
If null expression.

Переопределяет метод предка ICSSoft.STORMNET.Business.SQLDataService.

◆ GetObjectIndexesWithPks()

override IDictionary<int, string> ICSSoft.STORMNET.Business.PostgresDataService.GetObjectIndexesWithPks ( LoadingCustomizationStruct  lcs,
FunctionalLanguage.Function  limitFunction,
int?  maxResults = null 
)
inlinevirtual

Возвращает индексы и ключи объектов, встретившихся в массиве, при загрузке по указанному lcs. Объекты задаются через lf.

Аргументы
lcsМассив, в котором ищем.
limitFunctionФункция ограничения, определяющая искомые объекты.
maxResultsМаксимальное число возвращаемых результатов. Этот параметр не соответствует.
lcs.ReturnTop
, а устанавливает максимальное число искомых объектов, тогда как.
lcs.ReturnTop
ограничивает число объектов, в которых проводится поиск. Если значение не определено (null), то возвращаются все найденные результаты.
Возвращает
Массив индексов найденных объектов начиная с 1. Не возвращает null.

Переопределяет метод предка ICSSoft.STORMNET.Business.SQLDataService.

◆ IsTypesEquals()

static bool ICSSoft.STORMNET.Business.PostgresDataService.IsTypesEquals ( string  type1,
string  type2 
)
inlinestatic

Сравнивает имена типов.

Аргументы
type1Имя типа 1.
type2Имя типа 2.
Возвращает
Если имена эквивалентны, то возвращает true.

◆ PrepareIdentifier()

static string ICSSoft.STORMNET.Business.PostgresDataService.PrepareIdentifier ( string  identifier)
inlinestatic

Заключает идентификатор в кавычки, если он совпадает со словом из словаря зарезервированных слов Postgres.

Аргументы
identifierИмя идентификатора.
Возвращает
Return string.

◆ PutIdentifierIntoBrackets() [1/2]

override string ICSSoft.STORMNET.Business.PostgresDataService.PutIdentifierIntoBrackets ( string  identifier)
inlinevirtual

Put identifier into brackets.

Аргументы
identifierIdentifier in query.
Возвращает
Identifier with brackets.

Переопределяет метод предка ICSSoft.STORMNET.Business.SQLDataService.

◆ PutIdentifierIntoBrackets() [2/2]

string ICSSoft.STORMNET.Business.PostgresDataService.PutIdentifierIntoBrackets ( string  identifier,
bool  isGenerateSqlSelectMode 
)
inlineprotected

Put identifier into brackets.

Аргументы
identifierIdentifier in query.
isGenerateSqlSelectModeThe flag, indicating that generate SQL select mode is on.
Возвращает
Identifier with brackets.

◆ ReadByExtConnAsync()

override Task<object[][]> ICSSoft.STORMNET.Business.PostgresDataService.ReadByExtConnAsync ( string  query,
int  loadingBufferSize,
DbTransactionWrapperAsync  dbTransactionWrapperAsync 
)
inlineprotectedvirtual

Асинхронная вычитка данных.

Аргументы
queryЗапрос для вычитки.
loadingBufferSizeКоличество строк, которые нужно загрузить в рамках текущей вычитки (используется для повторной дочитки).
dbTransactionWrapperAsyncСодержит соединение и транзакцию, в рамках которых нужно выполнить запрос (если соединение закрыто - оно откроется).
Возвращает
Асинхронная операция (возвращает результат вычитки).

Переопределяет метод предка ICSSoft.STORMNET.Business.SQLDataService.

◆ ReadFirst()

override object [][] ICSSoft.STORMNET.Business.PostgresDataService.ReadFirst ( string  query,
ref object  state,
int  loadingBufferSize 
)
inlinevirtual

Reading data from database: read first part.

Аргументы
queryThe SQL query.
stateThe reading state.
loadingBufferSizeThe loading buffer size.
Возвращает
The readed objects from database.

Переопределяет метод предка ICSSoft.STORMNET.Business.SQLDataService.

◆ ReadFirstByExtConn()

override object [][] ICSSoft.STORMNET.Business.PostgresDataService.ReadFirstByExtConn ( string  query,
ref object  state,
int  loadingBufferSize,
IDbConnection  connection,
IDbTransaction  transaction 
)
inlinevirtual

Reading data from database: read first part (by external connection).

Аргументы
queryThe SQL query.
stateThe reading state.
loadingBufferSizeThe loading buffer size.
connectionConnection to use (you have to open and close it yourself).
transactionTransaction to use.
Возвращает
The readed objects from database.

Переопределяет метод предка ICSSoft.STORMNET.Business.SQLDataService.

Данные класса

◆ MaxNameLength

const int ICSSoft.STORMNET.Business.PostgresDataService.MaxNameLength = 64 - 1
static

Максимальная длина имени идентификатора Postgres. Без перекомпиляции Postgres составляет 64 - 1 байт. Для тестирования с использованием основного алгоритма можно указать 35 - 1. Для тестирования с использованием отладочного алгоритма можно указать 6 - 1.