Адъ баз данных
Софт1: написан почти целиком мной, заказной: 186 таблиц, 169 хранимых процедур
Софт2: написан мной и ребе белнетмоном, коробочный: 74 таблицы, 40 хранимых процедур
Софт2: написан мной и ребе белнетмоном, коробочный: 74 таблицы, 40 хранимых процедур
no subject
Ну и, при всей моей невменяемости - я СТОЛЬКО бизнес-логики в хранимых процедурах не напишу - отладки нет, курсоров кошерных нет, типов нормальных нет, временные таблицы использовать не получается - отчетные транзакции "только для чтения", а если их сделать пишущими - забытый юзерами отчет начинает мешать сборке мусора, и прочая, и прочая.
В общем, при всех достоинствах FB писать серверную логику на нем сложно.
no subject
есть в IBExpert. Однако я в основном пользуюсь аналогом showmessage только в таблицу лога.
>>курсоров кошерных нет
for select, а сейчас еще появились такие чудные штуки как select from select и execute block
>>типов нормальных нет,
нормальных - это каких?
>>временные таблицы использовать не получается - отчетные транзакции "только для чтения",
>>а если их сделать пишущими - забытый юзерами отчет начинает мешать сборке мусора,
после появления перечисленного в предыдущем пункте надобность в temp table у меня как-то отпала, но таблица времени транзакции мне казалось что должна позволять писать и в RO транзакции..
Перекомпиляция всех процедур - есть такая функция в IBExpert.
Менять тип поля иногда да, бывает сложно...
no subject
2) Курсоры из запроса или хранимой процедуры в клиента вернуть можно? Типы у них с типами запросов совпадают?
3) Нормальные типы - это хотя бы чтобы полиморфные функции можно было делать, туплы объявлять, в общем, как в нормальных языках - как можно больше first class values
4) Во временные таблицы в RO не пишется - валится с исключением. Execute block маловато - я иногда хочу оптимизацию сделать типа "временный список с индексом и поиск по нему".
IBExpert меня как-то напрягает, я предпочитаю isql и скрипты.
no subject
1. Я и в Delphi логгерами не пользуюсь, обычно натыкиваю ShowMessage. Пошаговым отладчиком пользуюсь иногда но радикальной помощи не получается.
2. Я в общем с трудом понимаю что такое "курсоры". В Firebird процедуры селективные, т.е. могут возвращать данные точно так же как и селект из таблицы. Может возвращать как одну строку так и много. Что такое тип запроса и с чем он должен совпадать - не понял.
3. Я пишу на Delphi и с приведенной терминологией не знаком :) Мне типов данных в Firebird хватает полностью, а запихивать какой-нибудь record или класс в базу - нереляционно.
На счет IBExpert - это ты очень зря. Я тоже начинал с isql во времена Interbase 4.2 но тогда IBExpert просто не было. Никто не заставляет юзать все его оглупляторские фишечки но удобство программирования под FB с применением IBE возрастает на порядок.
Категорически рекомендую понасиловать себя с IBExpert - это лучше всяких отладчиков.
no subject
У меня такое ощущение что нет достаточного опыта работы именно с FB.
Рискну привести несколько полезных ссылок:
http://sql.ru/forum/actualtopics.aspx?bid=2
http://ibase.ru/develop.htm
http://www.ibaseforum.ru/
no subject
У меня отчеты (датасеты) работают в контексте транзакции, хотя действительно, можно ее закрывать после формирования.
В общем, ro-транзакция это было когда-то решение проблемы с застреванием OAT и затуплением FB на сборке мусора. Там в базу с десяток сервисов активно складывает данные и изредка были проблемы с этим.
no subject
>>и оные ссылки я перечитывал неоднократно.
Ну я поэтому и написал "рискну". А на sql.ru ты как зарегистрирован?
>>У меня отчеты (датасеты) работают в контексте транзакции, хотя действительно,
>>можно ее закрывать после формирования.
Это такая недоступная мне логика, порочная на мой взгляд, реализована везде - что типа открытый датасет почему-то должен держать активной транзакцию которая эти данные вытащила.
Чего ее держать - любые данные взятые с сервера по определению устаревшие, поэтому держи не держи - один фиг.
Поэтому я датасетами вообще не пользуюсь. У меня свой самопальный буфер, типа ClientDataSet тока он не датасет.
no subject
Хотя грузить такие количества записей на клиента по любому маразм - иногда оно полезно.
no subject
В частности про кошерность курсоров, типы.
fraks гав sibverk точка ru