Namespace mgr db

Материал из ISPWiki
Перейти к: навигация, поиск

Пространство имён mgr_db

Данный namespace содержит инструменты для работы с базами данных.

Классы

class mgr_db::AutoIncrement

Представление ключевого поля таблицы БД с автоинкрементом


class mgr_db::BoolField

Представление логического (булева) поля таблицы БД


class mgr_db::Cache

Представление кэша работы с базами данных


class mgr_db::Connection

Интерфейс подключения к базе данных


struct mgr_db::ConnectionParams

Представление параметров подключения к базе данных


class mgr_db::ConstraintFail

Представление исключений, связанных с ограничениями таблиц баз данных или ограничениями ссылочной целостности, возникающих в модуле mgr_db.


class mgr_db::CryptedField

Представление поля для хранения зашифрованных данных


class mgr_db::CustomTable

Представление таблицы БД


class mgr_db::DateField

Представление поля для хранения даты


class mgr_db::DateTimeField

Представление поля для хранения времени с датой


class mgr_db::DecimalField

Представление поля для хранения чисел с фиксированной запятой


class mgr_db::DoubleField

Представление поля для хранения чисел с плавающей точкой (с двойной точностью)


class mgr_db::Fail

Общее представление исключений, возникающих в модуле mgr_db.


class mgr_db::Field

Представление поля таблицы БД


class mgr_db::FloatField

Представление поля для хранения чисел с плавающей точкой


class mgr_db::ForeignKeysQuery

Представление запроса к базе данных ODBC, получающего описание внешних ключей таблицы базы данных


class mgr_db::IDNField

Представление поля для хранения интернационализованного доменного имени (IDN)


class mgr_db::IdTable

Представление таблицы БД с автоинкрементируемым ключевым полем


struct mgr_db::IncCounter
class mgr_db::IntField

Представление целочисленного поля таблицы БД


class mgr_db::JobCache

Представление кэша работы с базами данных с возможностью отката всех изменений, внесенных в БД


class mgr_db::KeyField

Представление ключевого поля таблицы БД


class mgr_db::LongField

Представление целочисленного (увеличенной длины) поля таблицы БД


class mgr_db::Many2Many

Представление таблицы БД, реализующей хранение связей "многие-ко-многим".


class mgr_db::MoneyField

Представление поля для хранения чисел с фиксированной запятой


class mgr_db::OdbcConnection

Представление ODBC-подключения к базе данных


class mgr_db::OdbcQuery

Представление ODBC-запроса к базе данных


class mgr_db::PrimaryKeysQuery

Представление запроса к базе данных ODBC, получающего описание первичных ключей таблицы базы данных


class mgr_db::Query

Представление запроса к базе данных


class mgr_db::ReferenceField

Представление ссылочного поля таблицы БД


class mgr_db::SQLQuery

Представление запроса к базе данных ODBC.


class mgr_db::Stmt

Представление подготовленного запроса к БД


class mgr_db::StringField

Представление строкового поля таблицы БД


class mgr_db::Table

Представление таблицы БД с автоинкрементируемым ключевым полем и уникальным индексируемым строковым полем "name".


struct mgr_db::TableDesc

Представление таблицы базы данных


class mgr_db::TableDescription

Представление запроса к базе данных ODBC, получающего описание полей таблицы базы данных


class mgr_db::TableStatisticsQuery

Представление запроса к базе данных ODBC, получающего описание индексов таблицы базы данных


class mgr_db::TConnection

Представление подключения к базе данных для конкретного потока выполнения (сокр. от Thread Connection)


class mgr_db::TextField

Представление текстового поля таблицы БД

Открытые типы (кратко)

typedef std::shared_ptr<Connection> ConnectionPtr

Представляет объект подключения к БД


typedef std::shared_ptr<Query> QueryPtr

Представляет объект запроса к БД


typedef ConnectionPtr(* DriverEntry )(const ConnectionParams &params)

Представляет объект подключения к БД со счетчиком ссылок


typedef std::shared_ptr<TableData> TableDataPtr
typedef std::shared_ptr<IncCounter> IncCounterPtr

Перечисления (кратко)

Перечисление FieldType { ftUnknown , ftInt , ftRef , ftString , ftDate , ftMoney , ftText , ftDateTime , ftBoolean , ftLong , ftTime , ftFloat , ftDouble , ftGeometry , ftDecimal , }

Тип данных поля базы данных, используется при описании структуры таблицы базы данных TableDesc.

Перечисление ReferenceType { rtNoAction , rtRestrict , rtSetNull , rtSetDefault , rtCascade , }

Тип действий, выполняемых ядром СУБД по отношению к связанным записям при изменении или удалении данных поля-внешнего ключа (FieldType::ftRef)

Перечисление ClearReason { crNone , crUpdate , crDelete , }

Причина отчистки кэша

Перечисление IndexType { itUnique = 1, itIndex = 0, }

Тип индекса

Открытые члены (кратко)

LIBDB_API ConnectionPtr Connect ( const ConnectionParams &params )

Выполняет подключение к базе данных, принимает параметры подключения и возвращает объект подключения к БД


LIBDB_API void RegisterDriver ( const string &name , DriverEntry driver )

Функция регистрации драйвера СУБД


LIBDB_API void SplitIndexValues ( string value , StringSet &values )

Разделить значения для поиска


LIBDB_API string AddCondition ( const string &query , const string &cond )

Добавить условие к SQL выражению


bool HasTable ( const OdbcConnection &conn , const string &db , const string &tbl )

Возвращает true, если в указанной базе данных есть таблица с указанным именем, false в противном случае принимает ссылку на объект ODBC-подключения, имя базы данных и имя таблицы базы данных


LIBDB_API ConnectionPtr Connect ( mgr_client::Local &con )

Подключается к базе данных, к которой подключено приложение


bool operator== ( const string &val , const Field &field )

Сравнивает переданную строку со строковым представлением данных переданного поля. Возвращает true, если значения равны, fasle в противном случае

Методы конкатенации данных переданного поля и строки в различных вариантах

Перечисления (подробно)

FieldType

Тип данных поля базы данных, используется при описании структуры таблицы базы данных TableDesc.

В числах с плавающей точкой точность определяется количеством бит для хранения мантиссы числа с плавающей точкой

  • ftUnknown

    Тип неизвестен

  • ftInt

    Целочисленный тип

  • ftRef

    Внешний ключ, ссылающийся на поле в другой таблице базы данных

  • ftString

    Строковый тип

  • ftDate

    Дата (в общем случае не включает время)

  • ftMoney

    Тип, представляющий денежные суммы (число с плавающей точкой)

  • ftText

    Текст

  • ftDateTime

    Дата и время

  • ftBoolean

    Логический тип

  • ftLong

    Целочисленный тип с большой размерностью

  • ftTime

    Время

  • ftFloat

    Число с плавающей точкой (точность в пределах 1-24)

  • ftDouble

    Число с плавающей точкой с двойной точностью (точность в пределах 25-53)

  • ftGeometry

    Пространственные координаты

  • ftDecimal

ReferenceType

Тип действий, выполняемых ядром СУБД по отношению к связанным записям при изменении или удалении данных поля-внешнего ключа (FieldType::ftRef)

  • rtNoAction

    Не выполнять никаких действий

  • rtRestrict

    Запретить изменение или удаление данных внешнего ключа, если есть связанные записи

  • rtSetNull

    При удалении данных внешнего ключа, установить значение связанных записей в Null.

  • rtSetDefault

    При удалении данных внешнего ключа, заполнить связанные записи значениями по умолчанию

  • rtCascade

    Выполнить каскадное изменение или удаление связанных записей


ClearReason

Причина отчистки кэша

See also: Cache::ClearCache

  • crNone

    Отчистить кэш таблицы

  • crUpdate

    Отчистить кэш таблицы в связи с изменением записей

  • crDelete

    Отчистить кэш таблицы в связи с удалением записей


IndexType

Тип индекса

  • itUnique= 1

    уникальный индекс

  • itIndex= 0

    неуникальный индекс

Функции

LIBDB_API ConnectionPtr Connect ( const ConnectionParams &params )

Выполняет подключение к базе данных, принимает параметры подключения и возвращает объект подключения к БД

LIBDB_API void RegisterDriver ( const string &name , DriverEntry driver )

Функция регистрации драйвера СУБД

LIBDB_API void SplitIndexValues ( string value , StringSet &values )

Разделить значения для поиска

Разделяем строку на слова, предварительно заменяя на пробелы все кавычки. Используется при глобальном поиске

LIBDB_API string AddCondition ( const string &query , const string &cond )

Добавить условие к SQL выражению

Найти в SQL запросе [query] позицию для подстановки дополнительных условий. По факту идет поиск подстроки " WHERE " с учетом открывающих и закрывающих скобок, чтобы не попасть в подзапрос. Если " WHERE " не найден, добавить в конец.

bool HasTable ( const OdbcConnection &conn , const string &db , const string &tbl )

Возвращает true, если в указанной базе данных есть таблица с указанным именем, false в противном случае принимает ссылку на объект ODBC-подключения, имя базы данных и имя таблицы базы данных

LIBDB_API ConnectionPtr Connect ( mgr_client::Local &con )

Подключается к базе данных, к которой подключено приложение

bool operator== ( const string &val , const Field &field )

Данная функция/метод является inline функцией

Сравнивает переданную строку со строковым представлением данных переданного поля. Возвращает true, если значения равны, fasle в противном случае

Типы

typedef std::shared_ptr<Connection> ConnectionPtr

Представляет объект подключения к БД

typedef std::shared_ptr<Query> QueryPtr

Представляет объект запроса к БД

typedef ConnectionPtr(* DriverEntry )(const ConnectionParams &params)

Представляет объект подключения к БД со счетчиком ссылок

typedef std::shared_ptr<TableData> TableDataPtr

typedef std::shared_ptr<IncCounter> IncCounterPtr