Разработки          Услуги          О компании          Контакты  

Материал из биософт-м

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

  !   Данная информация предназначена только только для IT-специалистов по системной интеграции модулей БИОСОФТ-М. (см. Руководства пользователя к программным продуктам)

By Design

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

  • Наследование данных в CDb классы декларируют таблицы и его автоматические маппинги в SQL не поддерживаются (что ни как не ограничивает сложность задач, решаемых приложением, и упрощает реализацию и развитие прикладных хранилищ).
  • Встраивание С++ операторов в форме лямбда-выражений или иначе в SQL запросы не предусматривается даже если отдельные бакенды или псевдо-реляционные переходники могли бы это поддерживать. (исключения могут быть возможны для частных хакных оптимизаций)
  • Финальная версия Udb исключает все средства поддержки хранимых процедур. Оные видятся совершенно бесполезными при инкапсуляции доступа к БД средствами Udb из С++. Хранимые процедуры способные динамически создавать запрос из его частей принципиально не портабельны и в любой СУБД обеспечивают гораздо худший статический контроль корректности составленного запроса. Для быстродействия в современных СУБД тоже толку нет. А проблемы безопасности которые они могли бы решать гораздо лучше решаются Qx во фронтенде, драйверами как Bijou и "веб-сервисами" с контролируемым ограниченым SQL как используется Inwix для выборки задач.

Спорные ограничения

Недостаточная статическая верификация

  • Некоторые Qx типы как qxinteger/qxfloating могли бы конвертироваться друг в друга. И явные конверсии их всех к str (при построении запросов из Qx кусков).
  • Invalid block if { }, rogue this->, indents, fn args right of name, same meth name same parameters, prefixes

Недостаточная динамическая стабильность

  • Логов rASSERT не достаточно при формировании некорректных rQuery, нужно полностью стабильно отменять хоть немного некорректный запрос

Интерфейсы

  • Бессмысленные bool могут возвращатся из Udb функций сбои которых не может отработвать приложение
  • prevent app from setting dbobject UdbConnection

Требующиеся доделки функциональности

Быстродействие

  • actual COUNT
  • INDEXes
  • locally declared fromName can go into SQL statically
  • NOT NULL, UNIQUE on columns?

Портабельность

Компиляция

  • Номера строк сгенерированного Qx кода уходят вниз, нужен #line на каждую сгенеренную строку или все в одну строку.


Эта категория в данный момент пуста.

www.biosoft-m.ru



Просмотры
Личные инструменты