Flexberry ORM 4.0.0
Класс ICSSoft.STORMNET.Business.PostgresDataService

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

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

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

 PostgresDataService ()
 Создание сервиса данных для PostgreSQL без параметров. Подробнее...
 
 PostgresDataService (ISecurityManager securityManager)
 Создание сервиса данных для PostgreSQL с указанием настроек проверки полномочий. Подробнее...
 
 PostgresDataService (ISecurityManager securityManager, IAuditService auditService)
 Создание сервиса данных для PostgreSQL с указанием настроек проверки полномочий. Подробнее...
 
override string FunctionToSql (SQLWhereLanguageDef sqlLangDef, Function value, delegateConvertValueToQueryValueString convertValue, delegatePutIdentifierToBrackets convertIdentifier)
 Преобразовать значение в SQL строку Подробнее...
 
override System.Data.IDbConnection GetConnection ()
 Get connection by Npgsql. Подробнее...
 
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 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 IDictionary< int, string > GetObjectIndexesWithPks (LoadingCustomizationStruct lcs, FunctionalLanguage.Function limitFunction, int?maxResults=null)
 Возвращает индексы и ключи объектов, встретившихся в массиве, при загрузке по указанному lcs. Объекты задаются через lf. Подробнее...
 
- Открытые члены унаследованные от ICSSoft.STORMNET.Business.SQLDataService
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. Подробнее...
 
 SQLDataService ()
 Construct data service with default settings. Подробнее...
 
 SQLDataService (ISecurityManager securityManager)
 Initializes a new instance of the SQLDataService class with specified security manager. Подробнее...
 
 SQLDataService (ISecurityManager securityManager, IAuditService auditService)
 Initializes a new instance of the SQLDataService class with specified security manager and audit service. Подробнее...
 
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)
 Загрузка объекта с указанной коннекцией в рамках указанной транзакции. Подробнее...
 
virtual void LoadObject (ICSSoft.STORMNET.View dataObjectView, ICSSoft.STORMNET.DataObject dobject, 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)
 Загрузка объектов с использованием указанной коннекции и транзакции. Подробнее...
 
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, System.Data.IDbConnection Connection, System.Data.IDbTransaction Transaction)
 
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 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 (StringCollection deleteQueries, StringCollection deleteTables, StringCollection updateQueries, StringCollection updateTables, StringCollection insertQueries, StringCollection insertTables, SortedList tableOperations, StringCollection queryOrder, bool checkLoadedProps, System.Collections.ArrayList processingObjects, DataObjectCache dataObjectCache, params ICSSoft.STORMNET.DataObject[] dobjects)
 Генерация запросов для изменения объектов. Подробнее...
 
virtual void GenerateQueriesForUpdateObjects (StringCollection deleteQueries, StringCollection deleteTables, StringCollection updateQueries, StringCollection updateTables, StringCollection insertQueries, StringCollection insertTables, SortedList tableOperations, StringCollection queryOrder, bool checkLoadedProps, ArrayList processingObjects, DataObjectCache dataObjectCache, List< DataObject > auditObjects, params DataObject[] dobjects)
 Генерация запросов для изменения объектов (дополнительно возвращается список объектов, для которых необходимо создание записей аудита). Подробнее...
 
virtual void UpdateObjectsOrdered (ref DataObject[] objects, bool alwaysThrowException=true)
 Обновить объекты данных в указанном порядке Подробнее...
 
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 TODO: Объединить код с UpdateObjects. Подробнее...
 
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)
 Обновить хранилище по объектам. Подробнее...
 
- Открытые члены унаследованные от 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 string PrepareIdentifier (string identifier)
 Заключает идентификатор в кавычки, если он совпадает со словом из словаря зарезервированных слов Postgres. Подробнее...
 

Открытые атрибуты

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

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

- Статические открытые данные унаследованные от ICSSoft.STORMNET.Business.SQLDataService
static ChangeCustomizationStringDelegate ChangeCustomizationString = null
 Делегат для смены строки соединения Подробнее...
 
- Защищенные типы унаследованные от ICSSoft.STORMNET.Business.SQLDataService
enum  OperationType : short { None = 0, Update = 1, Delete = 2, Insert = 4 }
 The operation type. Подробнее...
 
- Защищенные члены унаследованные от ICSSoft.STORMNET.Business.SQLDataService
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, IDbTransaction transaction=null)
 Сгенерировать объекты для учета аудита агрегаторов обновляемых объектов, если они обновляются отдельно от агрегатора. Подробнее...
 
virtual void CustomizeCommand (System.Data.IDbCommand cmd)
 
virtual Exception RunCommands (StringCollection queries, StringCollection tables, string table, System.Data.IDbCommand command, object businessID, bool AlwaysThrowException)
 
OperationType Minus (OperationType ops, OperationType value)
 
virtual System.Data.IDbTransaction CreateTransaction (System.Data.IDbConnection connection)
 
- Свойства унаследованные от ICSSoft.STORMNET.Business.SQLDataService
StorageTypeEnum StorageType [get, set]
 Тип хранилища Подробнее...
 
string CustomizationString [get, set]
 Настроичная строка (строка соединения) Подробнее...
 
bool DoNotChangeCustomizationString [get, set]
 Не менять строку соединения общим делегатом ChangeCustomizationString Подробнее...
 
System.Collections.SortedList Types [get]
 Gets the types. Подробнее...
 
ISecurityManager SecurityManager [get, protected set]
 Сервис подсистемы полномочий, который применяется для проверки прав доступа. Рекомендуется устанавливать его через конструктор, в противном случае используется настройка в Unity. Подробнее...
 
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.

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

ICSSoft.STORMNET.Business.PostgresDataService.PostgresDataService ( )
inline

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

ICSSoft.STORMNET.Business.PostgresDataService.PostgresDataService ( ISecurityManager  securityManager)
inline

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

Аргументы
securityManagerСконструированный менеджер полномочий.
ICSSoft.STORMNET.Business.PostgresDataService.PostgresDataService ( ISecurityManager  securityManager,
IAuditService  auditService 
)
inline

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

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

Методы

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.

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

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

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

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

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.

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.
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.
override System.Data.IDbConnection ICSSoft.STORMNET.Business.PostgresDataService.GetConnection ( )
inlinevirtual

Get connection by Npgsql.

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

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

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.

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

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

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

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

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.

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

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

Аргументы
identifierИмя идентификатора.
Возвращает
Return string.
override string ICSSoft.STORMNET.Business.PostgresDataService.PutIdentifierIntoBrackets ( string  identifier)
inlinevirtual

Put identifier into brackets.

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

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

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.

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

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

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