Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » InterBase и FireBird: вопросы по работе и их решение

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

Открыть новую тему     Написать ответ в эту тему

Kmich



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andryshok
я тоже пользую  Fib и UniDac полет нормальный, раньше IBDAC использовал, но после Fib на него не хочется переходить. Fib сделаны как-то то ли понятнее то ли интуитивно удобнее для меня.

Всего записей: 192 | Зарегистр. 21-01-2005 | Отправлено: 09:18 13-11-2014
noisy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хорошее событие.  
 
Руководство по языку SQL Firebird на русском языке
 

Цитата:
 
Русская документации СУБД FirebirdSQL появилась благодаря спонсорам - Московской Бирже (платиновый спонсор) и IBSurgeon/IBase.ru (золотой спонсор).
 
На этом работа над документацией не заканчивается - будут выпускаться исправления и дополнения к документации по Firebird 2.5, в активной работе находятся разделы, посвященные Firebird 3, планируется перевод русской документации на английский язык, а также написание примеров работы с Firebird.
На будущий год запланирован выпуск "Руководства по эксплуатации СУБД Firebird" (Firebird Operations Guide).
 

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

Всего записей: 986 | Зарегистр. 30-05-2002 | Отправлено: 08:48 14-11-2014
xpin2013



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andryshok

Цитата:
 че вам свет клином сошелся  

Любовь поими - любовь. Фибрахи секли тему глобально. Они решали кучю проблем и держали корпоративный стандарт. На сегодняшний день меня в человечестве ничего не радует, но Фибрахи исключение они радуют. Нужно понимать что очень много благодарных за то что Фибы есть. Реально полно народу. Если бы я смог общятся с автором фибов, у меня своя база данных, но я бы встал на колени перед Фибами. Просто я ценю то что действительно ценно, но если они не получают денег я готов второй раз купить фибы в пользование, я готов лиш бы были фибы.

Всего записей: 291 | Зарегистр. 16-01-2014 | Отправлено: 13:11 15-11-2014
Andryshok



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Любовь поими - любовь
Это чувство изменчиво... я вот дельфи любил... а сейчас люблю PHP, жабаскрипт и иже с ними потому что они меня хорошо кормят, а моя любовь к дельфи меня голодом морила и вечными поисками работы.... эт так к слову

Всего записей: 649 | Зарегистр. 03-06-2009 | Отправлено: 16:47 22-11-2014 | Исправлено: Andryshok, 16:51 22-11-2014
xpin2013



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andryshok
Понимаю. PHP я баловался, но без толку. Я работал даже в фирме Itex. Они как то заняли 3 место после Москвы и Питера. Но первое место по количеству сайтов. Я сделал CDDisk с сайтом крупного портала на своём шифрованном клиент датасете, с хуком файловой системы WebBrovser, чтобы картинки нельзя было свистнуть - желание заказчика. Сегодня меня кормит FIBPlus + FireBird. Если учесть что я снимаю комнату и плачу 10 тысяч, я каждый день имею ноль пять водки и консерву пожрать. Я пишу только FreeWare компоненты, где каждый кто использует - становится автоматически владельцем. Это качество видимо воспитано во мне в СССР и в сетях BBS.  
 
Но как то хочется итога. Я очень люблю FireBird за его фрееварность. Клёвое дело для 2014. Ну у меня своя собственная база данных от Delphi7 до Xe6. На XE7 не пробовал - лень ставить. Но перед авторами фибов реально могу встать на колени, и не пострадает моя гордость. Вот смысл написанного. В моей библиотеке я вешаю на FIB датасет локальный индекс и делаю 8 анализов за 3 секунды. Неужели Вы предполагаете что у меня нет гордости, или я подхалим? Меня даже приняли в Квелити Централ Борланда. В общем, я добился всех успехов о которых мечтал, но вернуть фибы к жизни я не могу, и это печалит.
 
Добавлено:
Забыл - линк на хук файловой системы WebBrowser
http://cc.embarcadero.com/Item/29685
108 скачиваний сегодня - это неплохая цифра для комьюнити.
 
Добавлено:
А правдо такое? В общем триггер и на Insert и на Update. Из-за корявости некоторых программистов было написато - хранимая процедура execute MakeDictionary(old.ID). Мы вставили генератор в процедуру. И число генератора свидетельствовало о том что триггер профигачил все записи в таблице. Ровно столько сколько в таблице. Так как в Insert нет Old.Value, то решили фигачить всех. Зачем так сделано? Гораздо лучше IMHO не давать так сделать компилятором Prepare SQL. Вопрос меня интересует в смысле чтобы ещё кто проверил, FB 2.5.

Всего записей: 291 | Зарегистр. 16-01-2014 | Отправлено: 17:38 26-11-2014
chAlx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xpin2013:

Цитата:
Вопрос меня интересует в смысле чтобы ещё кто проверил

Тогда стоит собраться с силами, отложить сегодняшние 0.5 и задать вопрос чётко, понятно и с тестовым примером. И лучше сразу где-нибудь на ibase.ru или sql.ru -- там и разработчики СУБД, и архитекторы БД. А тут, похоже, только пользователи компонентов.

Всего записей: 1691 | Зарегистр. 19-03-2003 | Отправлено: 19:08 26-11-2014
xpin2013



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
chAlx
Не согласен, тут мастеры, а на sql.ru снобы и мужланы с которыми не о чём потрындеть. Сделайте триггер с процедурой на Insert Old.Value и у Вас не будет вопросов.

Всего записей: 291 | Зарегистр. 16-01-2014 | Отправлено: 23:57 26-11-2014 | Исправлено: xpin2013, 00:02 27-11-2014
chAlx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xpin2013
Дык вопрос-то не у меня был. Только он так и не сформулирован ;)
Какой-то триггер (BI или AI?) Какая-то процедура (вызывается из триггера или вставляет в таблицу?) Сама таблица (ключи, индексы), запрос на вставку -- ничего нет.
 
Про мастеров не знаю, а насчёт снобов согласен. Поэтому ibaseforum на первом месте, несмотря на меньшую аудиторию.

Всего записей: 1691 | Зарегистр. 19-03-2003 | Отправлено: 10:21 27-11-2014
Andryshok



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
каждый день имею ноль пять водки и консерву пожрать
- Именно это я и имел пока не стал кодить под веб на великолепном бесплатном PHP который к тому же оказался намного проще чем я раньше полагал,   попробуйте все же IbDac - там под фаер есть абсолютно все что вам нужно + DevArt регулярно его обновляет.

Всего записей: 649 | Зарегистр. 03-06-2009 | Отправлено: 11:15 27-11-2014
xpin2013



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
chAlx

Код:
CREATE OR ALTER trigger table1_aiu0 for table1
active after insert or update position 0
AS
declare variable tmp integer;
begin
  for select pid from make_words(old.id_table1) into :tmp do begin end
end^

В make_words

Код:
i = gen_id(gnr_check_make_words, 1);

После вставки gnr_check_make_words должен быть равен количеству записей в table1.
Когда update тогда 1, так как есть old, а когда insert - непонятное поведение.

Всего записей: 291 | Зарегистр. 16-01-2014 | Отправлено: 14:32 27-11-2014
miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xpin2013
Как сноб и мужлан из sql.ru (там я белый и пушистый, если что), хочу сделать парочу заявлений.
 
Во-первых, нету firebird 2.5. Есть 2.5.0, 2.5.1, 2.5.2 и так далее. Третья цифырь иногда имеет очень большое значение.
 
Во-вторых, firebird 2.5.3 не дает использовать old-значения в тригерах BI, так что скорее всего кривой тригер был создан в 2.0.Х или 2.1.Х, а затем при миграции на 2.5.Х никто не прочитал release notes. Так что  - да, идти с таким к столь прямолинейным людям, которые крутятся на скуль.ру - чревато

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 14:44 27-11-2014
xpin2013



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
miwa
Firebird-2.5.0.26074_1_Win32
И триггер был добавлен недавно прямо на Firebird-2.5.0.26074_1_Win32. Не мной. Но стала тормозить вставка и пришлось разбираться из-за чего. Просто меня поразило такое поведение триггера, ведь вполне очевидно что оно неправильное. Так зачем тогда был придуман этот механизм для OLD при вставке???
 

Цитата:
Так что  - да, идти с таким к столь прямолинейным людям, которые крутятся на скуль.ру

Я тоже прямолинейный человек. Видимо по этому мы не ужились с скуль.ру. Ведь я не умею придумывать бесполезных механизмов - это ведь тоже черевато?

Всего записей: 291 | Зарегистр. 16-01-2014 | Отправлено: 15:16 27-11-2014
russko



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток.
Столкнулся с задачкой, никак решить не получается.
Существует процедура npc_dv, которая возвращает порядка 100 000 записей и на ее выполнение уходит от силы 5 минут.
Но чтобы все пользователи ее не запускали (большая нагрузка) приняли решение результат процедуры ежедневно записывать в таблицу и конечные пользователи работают только с ней.
 
Проблема в том, что выполнение операции:

Цитата:
 
insert into npc_active_dv_temp  
select * from npc_dv(-1,-1,2,2);
 

осуществляется больше 2-х часов ((( Каким образом можно это дело поправить?  
Запрос  

Цитата:
 
select * from npc_dv(-1,-1,2,2);
 
 
выполняется всего 5 минут!!!

Всего записей: 176 | Зарегистр. 20-07-2005 | Отправлено: 15:52 27-11-2014
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
insert into npc_active_dv_temp  
select * from npc_dv(-1,-1,2,2);  

Это реальный запрос или для примера выложен?

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 16:19 27-11-2014
ant0ni02004

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
russko
скорее всего, там при вставке индексы перестраиваются долго, или триггера отрабатывают
попробуйте перед запуском процедуры это всё отключать а после - включать

Всего записей: 442 | Зарегистр. 26-10-2004 | Отправлено: 17:00 27-11-2014
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ant0ni02004
Продолжаем дружно тереть хрустальный шар...

Цитата:
select * from npc_dv(-1,-1,2,2);  

Ставлю на FetchAll  = ~ 2 часа

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 17:16 27-11-2014
chAlx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xpin2013:

Цитата:

Код:
for select pid from make_words(old.id_table1) into :tmp do begin end  

Ну так это цикл for select; он и должен весь dataset обходить ;)
 
Значение old.* в FireBird1.0-2.5 документировано как NULL (правда, только для Multi-action triggers, но такой тут и представлен, да и код внутри скорее всего один). А сколько там процедура возвращает записей с переданным NULL, по примеру не видно.
 
 
Добавлено:
 
miwa:

Цитата:
идти с таким к столь прямолинейным людям, которые крутятся на скуль.ру - чревато

Прямолинейные -- это которые сразу напишут: "Тут и тут нубские ошибки". На ЭсКуЭльРу же принято красоваться друг перед другом, изысканно обсирая нубов, но ни в коем случае не объяснять, что неправильно и как исправить. По-меньшей мере это характерно для ветки про Interbase.  
 
Самое печальное, что тамошние старпёры таким же высоким слогом порой несут ахинею, а чтобы не признавать ошибки, ещё больше провоцируют нубов на агрессию и с довольным видом банят их на нарушения. А кто не провоцируется, сам сваливает, пока жизнь в помойке не наложила слишком сильный отпечаток.

Всего записей: 1691 | Зарегистр. 19-03-2003 | Отправлено: 17:45 27-11-2014 | Исправлено: chAlx, 18:03 27-11-2014
xpin2013



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
chAlx
Спасибо, я бы так не смог (про sql.ru). Я очень уважаю miwa и знаю его давно, ещё с прошлого моего ника (не хочу светить - адвансом был). Но Вы объяснили суть - моему коллеге потребовался suspend. А то что с 2.5.3 нельзя old в insert я и так знал, только забыл цифры и miwa вполне справедливо подметил.
 
На sql.ru если ты Newbye с тобой общяются как с сосунком, а они при этом круче Шварцнеггера и всего Голливуда. Меня как-то взбесило это, и я высказался. Был бан, хотя я пришёл на sql.ru купить IBReplicator. Так что в уравновешенности аппонентов из sql.ru я сильно сомневаюсь. Но вот miwa достоен серьёзного уважения.
 
Ещё раз простите - сказанное IMHO.
 
 
 
Добавлено:
Да забыл, жаль что OXDBA редко заглядывает. Он всегда пишет по делу - талант у него такой.

Всего записей: 291 | Зарегистр. 16-01-2014 | Отправлено: 18:48 27-11-2014 | Исправлено: xpin2013, 18:58 27-11-2014
russko



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Это реальный запрос или для примера выложен?

 
Запрос вполне реальный.
 

Цитата:
Ставлю на FetchAll  = ~ 2 часа

 
Что вы имеете ввиду? Откуда там фэтч?

Всего записей: 176 | Зарегистр. 20-07-2005 | Отправлено: 20:56 27-11-2014
chAlx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
russko:
 
Перевожу вопросы, не раскрытые в постановке задачи:
 
1. select count(*) from npc_dv(-1,-1,2,2) как долго выполняется?
 
2. Какие у npc_active_dv_temp есть индексы и триггеры? И как она вообще создаётся -- временная, в отдельном файле или нормальная?

Всего записей: 1691 | Зарегистр. 19-03-2003 | Отправлено: 21:24 27-11-2014
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » InterBase и FireBird: вопросы по работе и их решение


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru