Re: Стабильное зависание
Konstantin R. Beliaev ... Dmitry Yemanov wrote: Вывод fb_lock_print -a в файл, затем архив мне на мыло. C:\FB\binfb_lock_print -a Unable to access lock table. C:\FB\TESTWORKSTATION.lck operating system directive CreateFile failed -The requested operation cannot be performed on a file with a user-mapped section open. Что дальше? пароль там не нужен случайно? Не нужен, бага это Залогинься на консоль сервера интерактивно, а не в терминальной сессии -- Хорсун Влад
Re: как отсечь ветку при корню по условию суммы верхних листов ?
Константин Оносительно недавно с удовольствием для себя открыл прелесть конструкции WITH RECURSIVE. Что сказать - КЛАС !!! Ну вот, хоть кто-то пользует (кроме Саши :), уже приятно ;) Но ещё не до конца вьезжаю как её на полную катушку использовать ;) Подскажите плиз ... Есть документооборот основанный на снятиях каточек, необходимо построить отчёт о не выполненных заказах. Т.е. о к-ве карточек не не снятых расходом клиента, но с выводом всех промежуточных статусов ... Делаю это примерно так: Ни фига не понял for select ti, sum(q) from ( WITH RECURSIVE Recursion as ( select m0.type_id ti, d0.id ci, d0.quantity q from vw_det0 d0 join vw_DOC0 m0 on m0.id = d0.doc_id and d0.card_id = -1 and d0.tovar_id = :tov_id UNION ALL select m1.type_id ti, d1.id ci, d1.quantity q from vw_det0 d1 join vw_DOC0 m1 on m1.id = d1.doc_id join Recursion r on r.ci = d1.card_id ) select * from Recursion ) group by ti into :ti, :tmp do Но, судя по теме письма, тебе может помочь where после select * from Recursion ? -- Хорсун Влад
Re: Re[2]: как отсечь ветку при корню по условию суммы верхних листов ?
наверное для точности - having, но всё-авно пока не придумал как :( Всё равно не совсем понятно, но попробуй так : а) введи вычислимое поле 'уровень дерева' (lvl) как это сделать - много раз обсуждалось б) добавь having sum(case lvl when 0 then quantity else 0 end) sum(case lvl when 2 then quantity else 0 end) Оно ? Кстати - select from select тут не нужен, проще написать for with recursive Recursion as ( select m0.type_id ti, d0.id ci, d0.quantity q, 0 lvl from vw_det0 d0 join vw_DOC0 m0 on m0.id = d0.doc_id and d0.card_id = -1 and d0.tovar_id = :tov_id UNION ALL select m1.type_id ti, d1.id ci, d1.quantity q, r.lvl + 1 from vw_det0 d1 join vw_DOC0 m1 on m1.id = d1.doc_id join Recursion r on r.ci = d1.card_id ) , Sums as ( select ti, sum(q) as tmp from Recursion group by ti having sum(case lvl when 0 then q else 0 end) sum(case lvl when 2 then q else 0 end) ) select ti, tmp from Sums into :ti, :tmp do -- Хорсун Влад
Re: Интересная ошибка
Костюковский Олег ... Вот исходный код который работал на версиях до FB 2.1.0.16291(может и предыдущей беты) Так на какой последней версии он работал ? Есть хранимая процедура которая принимает значение BigInt и возвращает smaltint. Процедура в IbExpert отрабатывает нормально на всех версия, а в программе вызывает ошибку в fbclient.dll. int id= 100; FibStoreProc-ParamByName(ID)-Value = id; FibStoreProc-ExecProc();/* вот здесь ошибка на FB 2.1.0.16291 Понятно, что я ошибся. Поле в базе BigInt, а я передавал int, но раньше работало и как мне кажется должно работать правило неявного преобразования типов. Должно Воспроизводимый пример с IBX сделать можешь ? -- Хорсун Влад
Re: Re[5]: как отсечь ветку при корню по условию суммы верхних листов ?
Работает на ура! Вот и ладушки ;) правда выглядит некрасиво ... пАчему некрасиво ? Собствено остался только один вопрос насколько проктологически выглядит данная конструкция и не наткнусь ли я на какие-нибуть явные грабли ? Я таковых с ходу не вижу, разве что по производительности, но это должно быть решаемо -- Хорсун Влад
Re: Re[7]: как отсечь ветку при корню по условию суммы верхних листов ?
Константин правда выглядит некрасиво ... VH пАчему некрасиво ? Если я правильно вьезжаю в доку README.common_table_expressions.txt каждая секция with_item является как бы изолированой группой рекурсии, если можно так выразится ... Нет. Каждое табличное выражение - это скорее локально определенное view У меня они ассоциируются с рекурсивными функциями вызывамыми друг из дружки ... Совсем не так. SQL - не функциональный язык, аналогия с ф-циями совершенно не верна ... т.е. насколько равносильны запросы select i.tra-la-la, r.la-la-tra, i.try-la-la from Recursion r join iteration i on r.mid = i.mid и select i.tra-la-la, i.try-la-la, r.la-la-tra from Recursion r join iteration i on r.mid = i.mid и select r.la-la-tra, i.tra-la-la, i.try-la-la from Recursion r join iteration i on r.mid = i.mid На 100% равносильны :) Порядок записи не влияет на результаты -- Хорсун Влад
Re: Стук в подвале около FB1.5.3
История. 2-го числа что-то поплохело машинке. Хрен его знает какой там был аптайм у NT4, с полгода наверное, админ люлей получил. Но не в этом ссуть. Короче, ушла она в себя совсем и на внешние раздражители не реагировала. Пришлось повер нажимать. Загрузилась, всё путём, работаем дальше. А БД проверили ? Однако, на днях некоторые товары на складе пошли в минус. Расследование показало, что сохранение отгрузки, завершавшейся в момент, когда машинка издохла, выполнилось 2 раза. То есть, либо не прошёл rollback в одном из траев и цикл повторных попыток повторился, либо не сохранился штамп завершено и сохранились остальные изменения и оператор после перезагрузки клиента увидел её как незавершённую (утерянное Если кеш не сбросился на диск полностью, да ещё и не в том порядке (ТИП раньше, чем страница со штамп завершено) - всё может быть... Даже FW=ON не может дать полной гарантии, увы DCOM-соединение по-хитрому мы не восстанавливаем, валим клиента с грохотом). Оператор не помнит, повторял он завершение или нет. В логе аппсервера никаких необычных записей нет, только начала-концы сеансов работы. А в логе птицы ? -- Хорсун Влад
Re: Стук в подвале около FB1.5.3
Alexey Popov ... Vlad Horsun wrote: Даже FW=ON не может дать полной гарантии, увы Это ещё почему? В теории все структуры базы и очерёдность записи страниц спроектированы с учётом корректной остановки в любой момент при записи. ОС\контроллер диска могут иметь своё мнение по этому поводу -- Хорсун Влад
Re: Стук в подвале около FB1.5.3
Alexey Popov ... Vlad Horsun wrote: Это ещё почему? В теории все структуры базы и очерёдность записи страниц спроектированы с учётом корректной остановки в любой момент при записи. ОС\контроллер диска могут иметь своё мнение по этому поводу Что ОС будет класть на FW ? Откровенно - вряд ли, но никто не гарантирует синхронной записи. Шибко умные контроллеры может чего и нахимичат, но вроде простейшие олдскульные дешёвые ide на такое не способны. Кеш есть у всех. И алгоритмы по которым он работает мне лично не известны. А ещё там тоже есть баги Единственный много раз замеченный косяк это то что файловая система на последних ОС некорректно ставит размер файла после сбоя. Потому что файловая система - журналируемая. Изменения метаданных файла могут быть откачены -- Хорсун Влад
Re: CHARACTER SET WIN1251 is not installed.
Булгачев Сергей ... Undefined name. CHARACTER SET WIN1251 is not installed. Attempting to connect to services manager... Passed! Disconnecting from database... Passed! Аналогичная проблема. Решил её копированием fbintl.conf и fbintl.dll (каталог intl) из установки FB2.0 Охренительное решение, а главное - правильное. Всегда так делай -- Хорсун Влад
Re: CHARACTER SET WIN1251 is not installed.
St. Alex ... Охренительное решение, а главное - правильное. Всегда так делай А как надо-то? У меня тоже такое было. Ищите разницу между работает и не работает. Скорее всего в расположении рантайма и манифеста -- Хорсун Влад
Re: cервисы ValidateDB + ValidateFull
Gene Feudorov ... поможите, люди добрые! все сервисы нормально працують, а с этим бяда... задаю указанный набор опций, получаю А если задать что-то одно ? -- Хорсун Влад
Re: Отправка базы в шатдаун
St. Alex ... А чо, в двойке уже внатури, режет, а не блокирует работу? В натуре, режет! Та ты шо ! И коннект становится не действительным ? -- Хорсун Влад
Re: Отправка базы в шатдаун
Eugene Kuznetsov ... Доброго времени суток! To Horsun Vlad Кстати, интересная вещь. С одной стороны, принудительное завершение процессов классика в общем случае является небезопасной операцией. С другой - есть shutdown, который режет все активные соединения. Получается, уже можно на существующей архитектуре сказать отдельно взятому процессу До свидания средствами сервера? Не совсем так, но в принципе наверное можно. Главное, чтобы он не висел на какой-нить блокировке\отвалившемся сокете, а проверял нужный флаг время от времени. -- Хорсун Влад
Re: Вопрос возник...
Мадорский Г.В. ... Я тут решил поэкспериментировать и наладить ведение лога в базе в виде SQL скрипта. Создал табличку CREATE TABLE SQL_LOG ( ID INTEGER NOT NULL, USER_ VARCHAR(32) DEFAULT current_user, TS TIMESTAMP DEFAULT 'now', OPRVARCHAR(4096) ); ALTER TABLE SQL_LOG ADD CONSTRAINT PK_SQL_LOG PRIMARY KEY (ID); Написал программку, которая автоматом генерит текст триггеров. Триггеры, на основании значений переменных .old и .new создают текст sql оператора, который обеспечит те же изменения, что происходят с текущей строчкой, и заносят его в табличку SQL_LOG. Не будет это работать. Блобы и double мимо кассы пролетят Поизменял данные в IBExperte. Все вроде работает, скрипт генериться. Но заметил одну особенность - при коммите транзакции, даже если изменил одну запись, происходит небольшая задержка. Совсем небольшая, но все-таки на глаз уловимая. При этом обязательно диск дергается. Вот закрались сомнения, ежели все это внедрить - не получу ли ощутимых тормозов при многопользовательской работе? Экспериментировал на FB 2.0. На своем компьютере, под XP. Ну и залей лимон записей в логгируемую таблицу - узнаешь ;) -- Хорсун Влад
Re: Коннект с сервис-манагеру 4910 с либой от 16191
Vladimir A.Bakhvaloff ... Hello, Dmitry! You wrote on Thu, 02 Aug 2007 13:36:21 +0400: ?? Кстати, а почему gds32.dll отвечает, что она вообще ХЗ какой ?? версии?.. DY Она прикидывается бормановской. Дык, пусть прикидывается... Только почему вместо 6.3.4.15795 не сообщать 6.3.4.16215?.. %))) Я именно номер билда имел в виду... ;) Потому что нужно пользоваться instclient'ом (а нам - выкинуть неподдерживаемую gds32 из бинарников) -- Хорсун Влад
Re: Приоритет запросов
Alex Cherednichenko ... Привет, Kochmin! Вы пишешь 02 августа 2007: Планируется или нет сделать возможность устанавливать приоритет для каждого запроса. Например, с помощью хинта в теле самого запроса. KA если для супера то нереально. KA если классика, то такой проблемы нет Лезть руками под рутом в шел и менять приоритеты? Ну нах. Тем более что это ничего не даст. В лучшем случае. В худшем - всё умрёт. Приоритет CPU не имеет ничего общего с приоритетом тяжёлого аналитического отчёта. Ну разве что он к диску совсем не ходит... -- Хорсун Влад
Re: Коннект с сервис-манагеру 4910 с либой от 16191
Alexander A. Venikov ... С gbak-ом воспроизвёл. Будем смотреть -- Хорсун Влад
Re: Коннект с сервис-манагеру 4910 с либой от 16191
Alexander A. Venikov ... Hello, Vlad! You wrote on Tue, 31 Jul 2007 10:35:36 +0300: VH С gbak-ом воспроизвёл. Будем смотреть Оно и с Экспертом то же самое. Возможно, в Эксперте у тебя для баз на серверах старых версий подложена нужная либа. Давай ты меня за идиота не будешь принимать, да ? Оно на самом деле зависит от положения звёзд на небе (и от имени БД, в частности) -- Хорсун Влад
Re: Коннект с сервис-манагеру 4910 с либой от 16191
http://tracker.firebirdsql.org/browse/CORE-1388 -- Хорсун Влад
Re: SF The Community Choice Awards
Alex Cherednichenko ... Привет, Sergey! Вы пишешь 30 июля 2007: SM ПАЗДРАВЛЯЮ! SM http://sourceforge.net/community/index.php/landing-pages/cca07/ =Beginning of the citation== We're Sorry. The SourceForge.net Website is currently down for maintenance. We will be back shortly =The end of the citation http://news.com.com/8301-10784_3-9750770-7.html http://www.infoworld.nl/idgns/bericht.phtml?id=002570DE00740E1800257323005177DA http://www.techworld.com/applications/news/index.cfm?newsID=9632pagtype=samechan -- Хорсун Влад
Re: Обсуждение на firebird-limits
Dmitri Kuzmenko ... Hello, Vlad! Vlad Horsun wrote: Собственно, номер транзакции переехать за 4 миллиарда беззнаковых не Знаковый он. 2 млрд спрашивается, и нафига там знак... понятно что вопрос не к тебе. Но я могу ответить ;) Отрицательные номера тр-ций используются кое-где. В принципе, это можно устранить в 2.1 (и заодно сделать номера страниц тоже беззнаковыми), но нужно ли это реально ? но в коде мелькает ulong... Значит не всё ещё причесали, там таких несоответсвий был миллион Обижаешь ;) Переводим БД в read-only и бекапим хоть сто раз. ок. про такой вариант я забыл. http://firebird.cvs.sourceforge.net/firebird/firebird2/src/jrd/tra.cpp?r1=1.135r2=1.135.2.1 А это про что ? не знаю. кто-то недавно удалил 5 строк. :-) Это не то ;) -- Хорсун Влад
Re: FB 2.1.0.16136 - пропадают параметры по умолчанию
sasha ... Обновили сегодня снапшот и бац - все параметры по умолчанию у процедур пропали :-'( Адриано что-то менял недавно : http://tracker.firebirdsql.org/browse/CORE-1369 В какой ОДС у тебя БД ? Что именно пропало : а) ibe не показывает дефолтные значения пар-ров, но сами пар-ры работают б) дефолтные значения не работают ? -- Хорсун Влад
Re: FB 2.1.0.16136 - пропадают параметры по умолчанию
sasha ... В какой ОДС у тебя БД ? База в 2.1 создана Ок а) ibe не показывает дефолтные значения пар-ров, но сами пар-ры работают Оно. Ох уж этот Адриано!!! Спокойно. Если процедуру перекомпилировать, IBE начнёт показывать ? Сами параметры на явных доменах или на обычных типах данных основаны ? -- Хорсун Влад
Re: FB 2.1.0.16136 - пропадают параметры по умолчанию
sasha ... У тех параметров что через домены объявлены всё нормально. Щас на бэту откатились ... Пинай Хвастунова - он для ODS 11 берёт тексты дефолтных значений из rdb$fields, а для ODS 11.1 - из rdb$procedure_parameters. Правильно : для ODS 11.1 брать из rdb$procedure_parameters, если домен пользовательский, и из rdb$fields - если домен системный -- Хорсун Влад
Re: FB 2.1.0.16136 - пропадают параметры по умолчанию
sasha ... И там при перекомпилляции других процедур, использующих эти без указания умолчательных параметров, вылазит Invalir BLR request или что-то в этом духе... create or alter procedure ppp (x int = CURRENT_TRANSACTION) returns (y int) as begin y = x; suspend; end create domain ddd int; create or alter procedure ppp2 (x ddd = CURRENT_TRANSACTION) returns (y int) as begin y = x; suspend; end create or alter procedure ppp_call returns (a int) as begin select y from ppp into :a; suspend; end select * from ppp select * from ppp(123) select * from ppp_call create or alter procedure ppp2_call returns (a int) as begin select y from ppp2 into :a; suspend; end select * from ppp2 select * from ppp2(234) select * from ppp2_call Не вижу проблем -- Хорсун Влад
Re: FB 2.1.0.16136 - пропадают параметры по умолчанию
sasha ... И там при перекомпилляции других процедур, использующих эти без указания умолчательных параметров, вылазит Invalir BLR request или что-то в этом духе... Хотя я вызывал перекомпиллилку всех процедур - из-за этого наверное и полетело всё... Именно -- Хорсун Влад
Re: Процессы в классике
Oleg LOA ... Kovalenko Dmitry ... Я бы планы руками прикрутил, чем обновление индексной статистики :-) Накуй. Еманов - форева. В смысле ты хошь сказать что оптимизатор FB шибко умнее оптимизатора YA и уж тем болле того плана который я прикручу руками ;-);-);-) Не - он Еманова прикручивает руками :))) P.S. Вот на оракле я до сих пор не могу нормально сходу понять в чём гимор запроса и какой хинт этой сабаке нужен. Аналогично на MSSQL2K. -- Хорсун Влад
Re: FB 2.1.0.16136 - пропадают параметры по умолчанию
DmitryLe ... Я прошу прощения за ламерство, но IBExpert разбаловал. :-))) Можно как-то вызвать перекомпиляцию по-другому? Может есть какая-то команда? Или банального ALTER достаточно? Другого способа и нет :) IBE уже вроде поправили - проверяйте, докладывайте ;) -- Хорсун Влад
Re: Обсуждение на firebird-limits
Boulitchev Aleksey ... Льем, льем, потом бац - ошибка. И после нее уже чтение таблицы полностью завершено никак не может быть. Т.е. как минимум табла не бэкапится. Это на какой версии? завершился эксперимент на 1.5.4 Точно на 1.5.4 ?? 2 млрд транзакций, 0 записей (только старт/остановка транзакций) к базе не подцепиться ничем, ни gbak ни gfix http://tracker.firebirdsql.org/browse/CORE-1042 -- Хорсун Влад
Re: Обсуждение на firebird-limits
Dmitri Kuzmenko ... Hello, Sergey! Sergey Mereutsa wrote: 2 млрд транзакций, 0 записей (только старт/остановка транзакций) к базе не подцепиться ничем, ни gbak ни gfix http://tracker.firebirdsql.org/browse/CORE-1042 Опа, тревога отменяется :) ну, не совсем. допустим, с gbak/gfix сейчас все нормально (в 1.5.4 и 2.00) в этом плане. Но все равно лимит-то есть. И после доезжания до лимита придется делать бэкап. Собственно, номер транзакции переехать за 4 миллиарда беззнаковых не Знаковый он. 2 млрд может. Т.е. он не может использовать в этой же базе номера транзакций опять с нуля. Значит ... гбак не сможет стартовать транзакцию для бэкапа этой базы и ее последующего рестора (обнуления транзакций). ? Обижаешь ;) Переводим БД в read-only и бекапим хоть сто раз. http://firebird.cvs.sourceforge.net/firebird/firebird2/src/jrd/tra.cpp?r1=1.135r2=1.135.2.1 А это про что ? -- Хорсун Влад
Re: WITH RECURSIVE
Sergey Mereutsa Привет! Народ, а расскажите подробнее про сабжевое извращение - с чем едят, зачем надо и как использовать. А то тут периодически пробегают примеры, в кузнице тоже - есть смутное понимание того, что это надо для построения древовидных иерархий, но может кто подробнее расскажет? На пальцах :) Вот неплохая статья : http://www.sqlbooks.ru/printarticle.aspx?part=02file=sql200509 -- Хорсун Влад
Re: Consistency и системные таблицы
Кузнецов Евгений ... Что-то я на consistency зациклился - достаточно concurrency с явным резервированием таблиц на запись. Но интересно все же выяснить, что с consistency? Все тр-ции ставят блокировки на таблицы по мере обращения к ним : consistency ставит Protected Read при попытке select и Exclusive при попытке insert\update\delete остальные ставят None и Shared Write соответственно -- Хорсун Влад
Re: Consistency и системные таблицы
Кузнецов Евгений ... Доброго времени суток! Vlad Horsun wrote: Все тр-ции ставят блокировки на таблицы по мере обращения к ним : [Sorry, skipped] Логика работы consistency ясна, но должна ли она неявно блокировать системные таблицы? Ведь получается разработчик должен знать, например, что при создании таблицы всегда изменяются RDB$RELATIONS, RDB$FIELDS, RDB$RELATION_FIELDS (могут и другие) и учитывать это, дабы не напороться, изменяя метаданные. Но ведь это внутренняя кухня сервера и она завтра может стать другой. consistency обеспечивает то, что и должна обеспечивать - сериализацию. Не нужно использовать consistency, если оно не нужно. Просто, не так ли ? :) В сад, да? ;) Скорей да, чем нет :) Но я так и не понял что за задача и как она пытается решиться -- Хорсун Влад
Re: FB 2.1 - FETCH и COMMIT
Kovalenko Dmitry ... Исправлено http://tracker.firebirdsql.org/browse/CORE-1372 -- Хорсун Влад
Re: То ли лыжи не не едут ... (не работают CTE)
sasha ... Здесь на выходе OldParentPhaseId всегда кроме первого уровня равно NewPhaseId Нормально ли такое поведение с точки зрения стандарта, атомарности и т.п. теории. Исправлено http://tracker.firebirdsql.org/browse/CORE-1373 -- Хорсун Влад
Re: FB 2.1 - FETCH и COMMIT
Kovalenko Dmitry ... Я тут прямо на постоянку прописался сегодня :) Ситуация такая. FB CS 15999 (Win). Клиент его же. Есть тест - start transaction - execute (select * from БольшаяТаблица) - fetch - commit_retaining - fetch - commit - попытка сделать fetch На последнем пункте у меня всегда была ошибка. Я её ловил и был щастлив. Сегодня я ошибку не получил и тест заорал - должна быть ошибка! Понятно, что тест весьма извращенный... Но какой есть. Это нормальное поведение в FB 2.1 ? А с клиентом от 2.0.х ? -- Хорсун Влад
Re: Клиент FB 2.1. Beta и менежер сервисов FB 1.5.3
Alexander A. Venikov ... Hello, Vlad! You wrote on Wed, 18 Jul 2007 12:44:31 +0300: VH FB 1.5.3, IBE 2007.05.23, fbclient 2.1.0.16032 VH всё нормально Да, работает, но не всё, а почти всё. Коннект к БД - ОК. Не коннектится к _менеджеру сервисов_ для b/r через сервисы. Workaround, конечно же имеется: для БД на сервере 1.5.3 явно указать клиентскую dll 1.5.3. Я делал именно бекап через сервисы (иначе ИБЕ не умеет). В алиасе БД прописана вышеуказанная клиентская длл -- Хорсун Влад
Re: FB 2.1 - FETCH и COMMIT
Kovalenko Dmitry ... - commit - попытка сделать fetch На последнем пункте у меня всегда была ошибка. Я её ловил и был щастлив. Сегодня я ошибку не получил и тест заорал - должна быть ошибка! Понятно, что тест весьма извращенный... Но какой есть. Это нормальное поведение в FB 2.1 ? А с клиентом от 2.0.х ? Заюзал клиента от релизного 2.0.1 - FETCH не проходит. Гы. А с текущим снапшотом 2.1 можешь попробовать ? Плс -- Хорсун Влад
Re: FB 2.1 - FETCH и COMMIT
Kovalenko Dmitry ... А с клиентом от 2.0.х ? Заюзал клиента от релизного 2.0.1 - FETCH не проходит. Гы. А с текущим снапшотом 2.1 можешь попробовать ? Плс Извини, что туплю и сразу не пробую разные варианты. Поставил CS 16085 (клиент от него же) - трабла осталась - после коммита FETCH выполняется без ошибок. :( Могу прислать exe с тестами и базу данных. Или можешь сам их откомпилировать/сгенерировать - в дистрибутиве провайдера TestCode/ ActiveX/IBP каталоги с исходниками БД и тестами (под VC8). Но лучше, наверное, выслать. Я сегодня-завтра сам проверю фетч после коммита и, если не воспроизведу, буду тебя просить о посылке. Спасибо, Влад
Re: Покритикуйте
Oleg LOA ... Oleg Deribas ... Не обращать внимания - такого правила здесь нет... В таком случае я ща начну писать сюда на коми-пермятском. А где ты видел _здесь_ хоть слово на украинском ? У нас здесь много свободно читающих на украинском? Думаю больше, чем свободно пишущих ;))) Или украинский сталь языком международного или межнационального общения? Why not ? :) -- Хорсун Влад PS А сам-то родом из Харькова, iirc. ай-яй-яй ;)))
Re: Покритикуйте
Soloshenko Dmitriy [EMAIL PROTECTED] сообщил/сообщила в новостях следующее: news:[EMAIL PROTECTED] Soloshenko Dmitriy [EMAIL PROTECTED] сообщил/сообщила в новостях следующее: news:[EMAIL PROTECTED] Oleg LOA [EMAIL PROTECTED] сообщил/сообщила в новостях следующее: news:[EMAIL PROTECTED] Oleg Deribas [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Не обращать внимания - такого правила здесь нет... В таком случае я ща начну писать сюда на коми-пермятском. У нас здесь много свободно читающих на украинском? Или украинский сталь языком международного или межнационального общения? Укра?нська - це Р?ДНА мова - так какжуть видатни философи незалежно? батькивщ?ни! Вчить ?? треба хоть би тому, що файна база Фа?рберд ма? аж дв? л?тери 'i' в загально? частки слова! Та й хто це каже! Цюдина яка катувала малесенького птаха Yaffil - справжнього ура?нського козака! Ногами прошу не бить.Это была шутка. Постановка вопроса насмешила. Ставил себе украинский только для того чтоб написать это письмо... А вот увидев КАК оно прошло, едва сдерживаюсь от того, чтоб не воспроизвести сейчас регулярные выражения украинского телевидения по поводу притеснения прав коренного населения. Потому что писал ты в KOI8-U, а в заголовке стоит KOI8-R. Мой аутглюк нормально показывает твоё письмо, если выставить кодировку вручную -- Хорсун Влад
Re: Покритикуйте
Потому что писал ты в KOI8-U, а в заголовке стоит KOI8-R. Вообще ничего в заголовке не нашёл ;) Мой аутглюк нормально показывает твоё письмо, если выставить кодировку вручную -- Хорсун Влад
Re: Обсуждение на firebird-limits
Ded ... Dmitri Kuzmenko wrote: В FB 2 ограничение снято. Т.е. таблица может быть хрен знает сколько гиг :-) Точнее, если не вру, минимум 36*8, то есть 288 гиг. Фигня-c. Коваленковский супериндекс не влезет :-D Дык не в 8 раз расширили лимит, а в 2^8 :) -- Хорсун Влад
Re: Re[2]: Обсуждение на firebird-limits
Вырва Валерий Евгеньевич ... И все таки когда гуру разберуться в этом не простом вопросе хотелось бы результат увидеть на этой (http://groups.google.ru/group/ru-firebird/web/firebird-limits?hl=ru) странице :) Сделай практический тест и расскажи нам всем -- Хорсун Влад
Re: Ошибка при восстановлении базы
Makmak ... Вот прислали заказчики, а у меня и предположений человеческих нет почему это может быть Windows 2003, FB 1.5 Сделали backup базы и тут-же restore который загнулся ... gbak: restoring index RDB$FOREIGN483 gbak: ERROR: database file appears corrupt () gbak: ERROR: bad checksum gbak: ERROR: checksum error on database page 188089 gbak: Exiting before completion due to errors -- Толкните мысль в правильную сторону Пусть пыль с проца\памяти сдует :) И винт проверит -- Хорсун Влад
Re: То ли лыжи не не едут ... (не работают CTE)
sasha ... Я тут напряг мозг как бы одним запросом сделать копирование иерархии. Сделать то я сделал, но получается что от перестановки мест полей кардинально меняется результат. Знач вопроссначала теоретический. Если я в рекурсивном CTE использую ссылку на самого себя, то нормально ли то что в разных частях запроса используются разные значения с предыдущего уровня? А что такое разные значения с предыдущего уровня ? Вот пример запроса, который правильно клонирует иерархию: WITH RECURSIVE Tree (OldPhaseId, OldParentPhaseId, NewParentPhaseId, NewPhaseId) AS ( SELECT P.Id, P.ParentPhaseId, CAST(NULL AS INTEGER), GEN_ID(GenWbsElementsId, 1) FROM Phases P WHERE P.ParentPhaseId IS NULL UNION ALL SELECT P.Id, P.ParentPhaseId, T.NewPhaseId, GEN_ID(GenWbsElementsId, 1) FROM Phases P, Tree T WHERE P.ParentPhaseId = T.OldPhaseId ) SELECT OldPhaseId, OldParentPhaseId, NewPhaseId, NewParentPhaseId FROM Tree А вот пример запроса, который в части WHERE использует старое значение верхнего уровня, а в части SELECT новое!!! WITH RECURSIVE Tree (OldPhaseId, OldParentPhaseId, NewPhaseId, NewParentPhaseId) AS ( SELECT P.Id, P.ParentPhaseId, GEN_ID(GenWbsElementsId, 1), CAST(NULL AS INTEGER) FROM Phases P WHERE P.ParentPhaseId IS NULL UNION ALL SELECT P.Id, P.ParentPhaseId, GEN_ID(GenWbsElementsId, 1), T.NewPhaseId FROM Phases P, Tree T WHERE P.ParentPhaseId = T.OldPhaseId ) SELECT OldPhaseId, OldParentPhaseId, NewPhaseId, NewParentPhaseId FROM Tree Здесь на выходе OldParentPhaseId всегда кроме первого уровня равно NewPhaseId Ты решил меня окончательно запутать ? Мало того, что запросы не читабельны, скрипт на воспроизведение я должен сам родить, так ты ещё и с именами полей путаешься ... NewPhaseId у тебя равно NewParentPhaseId, а не так как ты написал. Есть такая грабля, пока не вижу как её можно быстро починить. Как workaround - поменяй местами NewPhaseId и NewParentPhaseId Нормально ли такое поведение с точки зрения стандарта, атомарности и т.п. теории. А причём тут эти высокие материи ? :) А также маленькая проблемка обнаружилась. Если я убираю в первом запросе CAST, то получаю сообщение типа: Overflow occurred during data type conversion. conversion error from string 553. Полям неизвестного типа назначается CHAR (чего-то там не помню, скорее всего 1). В где тут проблемка ? -- Хорсун Влад
Re: То ли лыжи не не едут ... (не работают CTE)
sasha ... А что такое разные значения с предыдущего уровня ? Неправильно я написал. Попробую объяснить на словах по другому: Перечитай мой ответ ещё раз. Там все есть Полям неизвестного типа назначается CHAR (чего-то там не помню, скорее всего 1). В где тут проблемка ? А чего ж тогда такой запрос работает? SELECT NULL FROM RDB$DATABASE UNION ALL SELECT 100 FROM RDB$DATABASE Ошибка, исправим, не будет работать ;) -- Хорсун Влад
Re: Клиент FB 2.1. Beta и менежер сервисов FB 1.5.3
Alexander A. Venikov ... Hello, Vlad! You wrote on Wed, 18 Jul 2007 12:44:31 +0300: VH FB 1.5.3, IBE 2007.05.23, fbclient 2.1.0.16032 VH всё нормально Ага, версия FB у меня 15999. Где взять более свежую? Где обычно - в снапшотах http://www.firebirdsql.org/download/snapshot_builds/win/ -- Хорсун Влад
Re: Сижу, нервно курю
Kovalenko Dmitry ... http://www.rsdn.ru/forum/message/2587475.1.aspx Все что могу сказать так это - $#яяя. (касательно аггрегата) Аппарата ? Слово аггрегат вызвало длительное чесание репы в его поисках при построении индекса ;) На сколько я вьехал - 2005 может формировать индекс в несколько потоков? $#яяя. У парня явные проблемы с устным счётом : 32 процессорами (8 core 2 duo) На нескольких процах это имеет смысл. На одном - не уверен. Не скажу за построение индексов и за MSSQL 2005 - могу только сказать, что на MSSQL 2000 очень часто приходится сложные запросы заставлять выполняться на 1-ом процессоре (хинтами). Так что не всё так просто\хорошо, как может казаться -- Хорсун Влад
Re: злой я сегодня с утра....
Vladimir A.Bakhvaloff ... Hello, dedRasta! You wrote on Wed, 18 Jul 2007 09:27:30 -: d Сегодня утром, как в новостях услышал про катастрофу в аэропорту d Сан-Пауло, сразу стукнуло: kdv ведь там! d Надеюсь, все в порядке? d В Инете пишут - русских среди пострадавших нет. Аналогичная фигня!.. :((( Может СМСку кинуть?.. :-\ Карлос сказал, что они улетали из другого аэропорта -- Хорсун Влад
Re: Сижу, нервно курю
Kovalenko Dmitry ... У парня явные проблемы с устным счётом : 32 процессорами (8 core 2 duo) А может у них еще HT есть. Гы. Тут у наших приставов четыре новых сервера, кажется, именно такие. Процессора всего два - но винда говорит что их целых восемь :). Но сам я это картины не видел ... передаю со слов. Таки мой склероз меня не обманывает насчёт HT : http://www.intel.com/products/ht/hyperthreading_more.htm А вот в некоторых Xeon'ах оно есть, например в этом http://www.intel.com/products/processor/xeon7000/index.htm?iid=servproc+body_xeon7000 -- Хорсун ВЛад
Re: Сижу, нервно курю
Soloshenko Dmitriy ... У парня явные проблемы с устным счётом : 32 процессорами (8 core 2 duo) Все верно. core 2 duo - четырехядерные. Это core duo - двуядерные. Та ты шо ! А core 3 duo - 6-ти ядерные ? ;))) http://compare.intel.com/pcc/default.aspx?familyID=1 -- Хорсун Влад PS если мне не изменяет склероз, то все, или почти все core 2 duo не имеют HT (ибо оно нах никому не нада)
Re: То ли лыжи не не едут ... (не работают CTE)
sasha ... Я тему CTE как-то забросил, а тут решил снова поковыряться ине получилось. Вот уменя таблица Phases, смотрите: Id ParentPhaseId --- 491 NULL 494 491 497 494 498 NULL Запрос: WITH RECURSIVE RootPhases AS ( SELECT P.Id, P.ParentPhaseId FROM Phases P WHERE P.ParentPhaseId IS NULL ), NonRootPhases AS ( SELECT P.Id, P.ParentPhaseId FROM Phases P, RootPhases P1 WHERE P.ParentPhaseId = P1.Id ) SELECT * FROM RootPhases UNION ALL SELECT * FROM NonRootPhases А где ты тут видишь рекурсивный запрос-то ? :))) Ясли я что-то неправильно сделал, Лыжи работают праально, проверяй вторую часть гипотезы ;) поправьте пожалуйста. WITH RECURSIVE Tree AS ( SELECT P.Id, P.ParentPhaseId FROM Phases P WHERE P.ParentPhaseId IS NULL UNION ALL SELECT P.Id, P.ParentPhaseId FROM Phases P, Tree P1 WHERE P.ParentPhaseId = P1.Id ) SELECT * FROM Tree Если правильно, то имею две претензии: 1) Записи глубже второго уровня не выбирает Ибо ты написал 2 запроса на выборку 1-го и 2-го уровней 2) Порядок возвращённых результатов никак не похож на рекурсивный. Для меня важно чтобы был в порядке вложенности элементов: Это обсуждаться не будет, не зависимо от того устраивает ли текущий порядок обхода дерева (в глубину) кого-либо или нет. По крайней мере в 2.1 и в 3.0 Впрочем в данном случае тебя должно устраивать ;) -- Хорсун Влад
Re: То ли лыжи не не едут ... (не работают CTE)
Андрій Жук ... То что надо! Очень удобно для построения дерев ана клиенте это раз. Во вторых хочу клонирование иерархии попробовать сделать без промежуточных таблиц... С другим порядком выборки было бы совсем не интересно ;-) Эта 3,14 и как мы деревья стром без привязки к порядку следования элементов. ума не приложу... То, что выдаёт рекурсивный CTE, можно запихивать в TreeView не просто, а очень просто. Ибо порядок выдачи записей соответствует. -- Хорсун Влад
Re: Дмитрий Еманов с днем рождения!
Kochmin Alexandr ... И в этом году поздравляем. Всего тебе хорошего и удачи. JOIN, FULL JOIN :) p.s. я опять первый поздравил. :) Не помню, какой у тебя часовой пояс, но у меня 18-е настало 12 мин назад ;) -- Хорсун Влад
Re: Re[2]: сервер для строк
Sergey Mereutsa Это превед для IB7 или вообще для всех родственников? Дима вроде сказал, что нету лимита на таблицу в двойке. Или я не так понял? Для IB с любой ODS и для FB с ODS ODS 11 В ODS 11 лимит поднят в 256 раз -- Хорсун Влад
Re: Re[4]: сервер для строк
Sergey Mereutsa Это превед для IB7 или вообще для всех родственников? Дима вроде сказал, что нету лимита на таблицу в двойке. Или я не так понял? Для IB с любой ODS и для FB с ODS ODS 11 В ODS 11 лимит поднят в 256 раз А блобы считаются за размер или только их BLOBID считается? Хотя такие размеры нам не светят еще долго... В лимит входят только те (маленькие) блобы, которые живут на страницах данных -- Хорсун Влад
Re: A transaction is currently active. Parallel transactions are not supported.
Soloshenko Dmitriy ... Перевод: кроме автора провайдера, вряд ли кто сможет ответить, а оный сюда не заглядывает, бо не обучен великому и могучему. Ну, может кто-то сталкивался с исключением. Или, может у меня в параметрах транзакции бага? В переводчике у тебя бага. Ясным и понятным английским написано ведь : A transaction is currently active. Parallel transactions are not supported что тут можно не понять ? -- Хорсун Влад
Re: сервер для строк
Alex Kozlov ... у мя ИБ7 около 10 000 000 записей постоянно обновляются - добавляются всего до 500 млн будет Превед после 36ГБ. При средней длине записи 60 байт, превед уже рядом главное поле чар(50) Угу, близко-близко -- Хорсун Влад
Re: DESC индексы только у нас?
Николай Пономаренко ... Кстати, только у нас, как я, с наскоку правда, понял - несколько _полноценных_ транзакций в одном соединении. Очень был сим фактом огорчен. Может кто знает, где еще такое есть(не вложенные, не автономные - а наши родные параллельные)? MSSQL-фанатики утверждают что MARS в Yukon'е - это оно. Я не смог разубедить ;) Проверю когда-нибудь сам -- Хорсун Влад
Re: OFF: Разгон машины тьюринга :)))
Alexander V. Skvortsov ... Dmitri Kuzmenko ... делала, а RELEASE со всеми оптимизациями по скорости - результат в разы быстрее! ;-). Приложение по прежнему однопоточное, гипертрединг по прежнему включён. Загрузка выше 52% не поднимается. :-) И что из этого ? с гипертредингом-то - разумеется. Он же показывает одно ядро как 2 ядра, а на самом деле их ... эээ... где-то в сумме полтора, если не меньше. 1.25 примерно :-) Фазу сортировки можно подсократить, загрузив второе ядро ещё одним потоком, который, пока 1-й сортирует, будет подгружать очередной кусок данных и сортировать его. Придётся только сериализовать чтение входного файла - выходной файл для каждого куска свой. Процентов на 40-50 должно ускориться. В смысле, время сократится на треть где-то. :-) Ты для начала сравни время собственно сортировки и чтения с диска соответствующей порции данных. А потом уже проценты вычисляй ;) Раз процессорная мощность используется на половину, то конечно можно её задействовать полнее, но не таким образом -- Хорсун Влад
Re: Re[2]: OFF: Разгон машины тьюринга :)))
Подсчет количества найденных документов (ну вот захотелось им такую фичу и все): select count(d.id) from t_documents d, (select w.document_id, count(1) as cnt from t_search_words w, ( select 2624961196 as wrd from rdb$database union select 1902388292 as wrd from rdb$database union select 1228066714 as wrd from rdb$database ) t1 where w.lang_id=2 and w.flag=1 and w.word=t1.wrd group by 1 order by 2 desc ) idx where d.lang_id=2 and d.published_when='01.07.2002' and d.published_when='02.07.2007' and d.publisher_id =36149 and d.id=idx.document_id and idx.cnt=3 Тут все просто - виртуальную табличку, в которой содержатся слова для поиска объединяем с поисковыми индексами, а результат объединения - объединяем с таблицей с документами. Указание найти все три слова - последний and . Про то, что логически правильнее было бы использовать union all я знаю, но ключевые слова 2 раза не указывают. Если кто сможет указать более оптимальный вариант запроса - и такой же понятный - буду очень признателен. Это пробовали ? select count(d.id) from t_documents d, (select w.document_id, count(1) as cnt from t_search_words w where w.lang_id=2 and w.flag=1 and w.word in (2624961196, 1902388292, 1228066714) group by 1 order by 2 desc ) idx where d.lang_id=2 and d.published_when='01.07.2002' and d.published_when='02.07.2007' and d.publisher_id =36149 and d.id=idx.document_id and idx.cnt=3 и\или select count(d.id) from t_documents d where d.lang_id=2 and d.published_when='01.07.2002' and d.published_when='02.07.2007' and d.publisher_id =36149 and exists (select * from _search_words w1 where w.document_id = d.id and w.lang_id=2 and w.flag=1 and w.word = 2624961196) and exists (select * from _search_words w2 where w.document_id = d.id and w.lang_id=2 and w.flag=1 and w.word = 1902388292) and exists (select * from _search_words w3 where w.document_id = d.id and w.lang_id=2 and w.flag=1 and w.word = 1228066714) -- Хорсун Влад
Re: OFF: Разгон машины тьюринга :)))
Alexander V. Skvortsov ... Vlad Horsun ... Ты для начала сравни время собственно сортировки и чтения с диска соответствующей порции данных. А потом уже проценты вычисляй ;) Чтение с диска соответствующей порции данных - от 16 секунд (для 1-й порции) до 31 сек. (для предпоследней). К концу кэш ОС забился... Время собственно сортировки - 41 секунда. Запись - 14-15 сек. Чегой-то долгая у тебя сортировка. Раз процессорная мощность используется на половину, то конечно можно её задействовать полнее, но не таким образом Переделал в двухпоточную, доступ к входному файлу сериализован, запись выходных файлов отдаётся на откуп ОС через асинхронный вызов. Итог: 557 сек - 398 сек. Время сократилось на 28%. Загрузка процессора ниже 65% не падает, процентов (на глаз) 80 времени - держится на 100%. Диск молотит без остановок. В первом варианте по индикатору HDD можно было чётко видеть, какой этап (чтение/сортировка/запись) идёт. :-) Звучит вроде неплохо ;) Дисковый IO замерял ? Результат, конечно, не так впечатляет, как включение оптимизации компилятору... ;-) Есть ещё резервы в самой сортировке :) -- Хорсун Влад
Re: Большая проблема при бэкапе в FB2.0.1
Dmitri Kuzmenko ... собственно, я впервые слышу чтобы gbak вел себя так. Я тоже. В прочем проблема не в gbak'е, а в fbclient'е. Я думаю мы это всё-таки исправим, учитывая распространённость ИБЕ и прочих чересчур умных утилит и их популярность в среде тех, кто принципиально не умеет писать DDL руками С другой стороны, налицо результат изменения метаданных через системные таблицы, грубо говоря вручную. по идее, если так не делать, то подобных косяков быть не должно. Именно. -- Хорсун Влад
Re: Большая проблема при бэкапе в FB2.0.1
Кузнецов Евгений ... Доброго времени суток! Vlad Horsun wrote: Бекап через сервисы честно ругается : message length error (encountered 5742, expected 5738) А вот gbak почему-то глотает эту ошибку, или она до него не доходит... Т.к. есть нюансы вносимые сетевым уровнем. Вопрос (для меня) закрыт ;) Можно ли узнать подробнее о нюансах? Сетевой протокол не передаёт длину буфера, вычисленную клиентом (гбаком в данном случае) на сторону движка. Поэтому движок не может сравнить длину буфера реально передаваемого сообщения и то число, которое ожидает клиент. В случае отсутствия сетевой прокладки (embedded, services) движок может выполнить соотв. проверку (и выполняет её) Означает ли это, что backup предпочтительнее делать через сервисы? Независимо от данного вопроса - бекап намного быстрее выполняется через сервисы. -- Хорсун Влад
Firebird 2.1 Beta 1 is available for field testing on 64-bit and 32-bit Windows and Linux.
http://www.firebirdsql.org/index.php?op=filesid=fb210_beta01 -- Хорсун Влад
Re: Большая проблема при бэкапе в FB2.0.1
sasha ... Как такое получилось ? Это я у тебя хочу спросить :) Я извиняюсь что подкинул тебе работу... Похоже действительно поле было TIMESTAMP и я его изменил на DATE. В таблице 13 форматов, начиная с 11-го в этом поле тип изменён на DATE Только что попробовал такое сделать в эксперте и он на изменение генерит такую вот команду: update RDB$FIELDS set RDB$FIELD_TYPE = 12 where RDB$FIELD_NAME = 'RDB$14' Вот тут собака и порылась после чего в RDB$FIELDS я такую же картину наблюдаю как ты описал. А вот в редакторе доменов он использует ALTER DOMAIN уже... Т.к. есть нюансы вносимые сетевым уровнем. Вопрос (для меня) закрыт ;) Так я не понял ты gback подправил? А он правильно работает, чего его трогать ? -- Хорсун Влад
Re: Большая проблема при бэкапе в FB2.0.1
sasha ... А он правильно работает, чего его трогать ? Ну чтобы или ошибку кидало, или таки бэкапило данные. А представь если бы у меня ключей небыло? Пропали бы данные из таблицы и никто бы не заметил :-( Ибо нефиг в системных таблицах грязными руками лазить. Причём тут gbak ? -- Хорсун Влад
Re: Большая проблема при бэкапе в FB2.0.1
sasha ... Да, к стати, а gfix не должен ли такое выявлять? Нет. gfix ловит только физические ошибки (да и то не все, увы). -- Хорсун Влад
Re: Firebird 2.1 Beta 1 is available for field testing on 64-bit and 32-bit Windows and Linux.
sasha ... Ура!!! ;) PS А с рекурсивными CTE и курсорами в запросах с представлениями и UNION ничё не поменялось (мне из трекера ничё не приходило)? Раз не приходило, значит не менялось -- Хорсун Влад
Re: Firebird 2.1 Beta 1 is available for field testing on 64-bit and 32-bit Windows and Linux.
Oleg Deribas ... Hello, Vlad Horsun said the following on 30.06.2007 9:50: http://www.firebirdsql.org/index.php?op=filesid=fb210_beta01 Спасибо! А embedded будет? Да, конечно, там какая-то минорная проблема у того, кто собирал сборки -- Хорсун Влад
Re: Firebird 2.1 Beta 1 is available for field testing on 64-bit and 32-bit Windows and Linux.
DmitryLe ... Не написано или я не увидел , про ограничение List. Какая максимальная длинна результата может быть, и что будет, если привысим? Там сейчас блоб делается, IIRC -- Хорсун Влад
Re: Большая проблема при бэкапе в FB2.0.1
sasha ... Чё делать? А то ты не знаешь, куа слать :) Большоё оно ? -- Хорсун Влад
Re: Большая проблема при бэкапе в FB2.0.1
Dmitry Yemanov ... sasha wrote: Куда ещё можно попробовать? Тебя на рапидшаре забанили? :-) Шли мне, хотя бы. Я получил и уже весь вечер смотрю, там хрень какая-то. Debug-build даёт ошибку, а release почему-то нет... -- Хорсун Влад
Re: Большая проблема при бэкапе в FB2.0.1
Vlad Horsun ... Я получил и уже весь вечер смотрю, там хрень какая-то. Debug-build даёт ошибку, а release почему-то нет... Поле AccountExpirationDate имеет домен RDB$1627, который есть тип 12 (sql_date), но в RDB$FIELD_LENGTH записано 8, а не 4. Бекап через сервисы честно ругается : message length error (encountered 5742, expected 5738) А вот gbak почему-то глотает эту ошибку, или она до него не доходит... -- Хорсун Влад
Re: Большая проблема при бэкапе в FB2.0.1
Vlad Horsun ... Vlad Horsun ... Я получил и уже весь вечер смотрю, там хрень какая-то. Debug-build даёт ошибку, а release почему-то нет... Поле AccountExpirationDate имеет домен RDB$1627, который есть тип 12 (sql_date), но в RDB$FIELD_LENGTH записано 8, а не 4. Апдейтишь RDB$FIELD_LENGTH в 4 для домена RDB$1627 и всё станет ок Как такое получилось ? Это я у тебя хочу спросить :) Бекап через сервисы честно ругается : message length error (encountered 5742, expected 5738) А вот gbak почему-то глотает эту ошибку, или она до него не доходит... Т.к. есть нюансы вносимые сетевым уровнем. Вопрос (для меня) закрыт ;) -- Хорсун Влад
Re: OFF: Разгон машины тьюринга :)))
Kovalenko Dmitry ... После заполнения кэша (я эксперементирую с кэшем на 120 тыс четырех килобайтных страниц) производительность падает до копеечных размеров. Грязные страницы на диск идут в каком порядке ? Как попало ? -- Хорсун Влад
Re: Кто из нас обкурился?
DmitryLe ... Привет. Это я обкурился или кто-то другой? Ты -- Хорсун Влад
Re: Вложенные таблицы
Oleg LOA ... Vlad Horsun ... 0) на кой тут XML ? Чтобы было что сжимать ? Али слово красивое ? А что бы в блобах лежало красивое XML а не бинарный поток TClientDataSet Т.е. - таки слово красивое :) -- Хорсун Влад
Re: Нащел мистику :( - Возвращаемся к 2001 году ?
Konstantin R. Beliaev ... KRB Он дергает основной поток, Что ЛЮБОЙ raise ??? Не любой, а необработанный в try-except. А насколько я вижу, у тебя обработчика нет, и raise передается в основной поток. Со всеми вытекающими. Откуда дровишки ? -- Хорсун Влад
Re: насколько атомарен update
Качановский Дмитрий ... Выше уже говорили, что термин атомарность имеет несколько другое значение. как же другой?? От так. Бываетъ вот ДК пишет я замечу, что атомарность update это обновит update все записи, попадающие под условие, или при обломе - ни одной - попробую упростить - обновить все или ничего - павильно? Да. И на select это определение никак не налазит и не впиховывается с другой стороны про селект в статье о транзакциях (я уже приводил эту цитату), говорится, что атомарность селект - это получить записи соответствующие параметрам запроса на момент старта операции (момент старта операции зависит от параметров транзакции) - здесь я правильно понял документ? Если там так написано, то это бага. В документе про update найти ничего не удалось, поэтому пробую размышлять логически, изменение данных без чтения невозможно, Да значит сначала должен выполнится этап чтения данных Да с параллельным уведомлением всех что счас буду менять вот эти данные и Не надо притягивать за уши то, чего нет. Если сильно этого хочется - goto mssql, там есть intent locks (и много других locks) _только_если_ этот этап прошел успешно можно данные менять (соответсвенно все другие будут уже знать что именно эти данные меняются и действовать согласно параметров своих транзакций) в чем я не прав? Нет никакого уведомления -- Хорсун Влад
Re: Нащел мистику :( - Возвращаемся к 2001 году ?
Konstantin R. Beliaev ... Vlad Horsun wrote: Откуда дровишки ? Из хелпа по try...except, вестимо: --- If an exception is raised during execution of the initial statements list, either by a raise statement in the statements list or by a procedure or function called from the statements list, an attempt is made to handle the exception: * If any of the handlers in the exception block matches the exception, control passes to the first such handler. An exception handler matches an exception just in case the type in the handler is the class of the exception or an ancestor of that class. * If no such handler is found, control passes to the statement in the else clause, if there is one. * If the exception block is just a sequence of statements without any exception handlers, control passes to the first statement in the list. If none of the conditions above is satisfied, the search continues in the exception block of the next-most-recently entered try...except statement that has not yet exited. If no appropriate handler, else clause, or statement list is found there, the search propagates to the next-most-recently entered try...except statement, and so forth. If the outermost try...except statement is reached and the exception is still not handled, the program terminates. --- Подымите мне веки (с) - где тут хоть слово про потоки ? А куда по-твоему он еще может попасть? В код OS, который запускает потоки, вестимо. И именно там и убивается такое приложение. OS'у них не известно про Application, VLC, etc Raise выкидывает exception на более верхний уровень, которым для твоего треда является уровень Application, т.е. основной поток VCL, С какой стати ? который перехватывает все ошибки подряд (если, конечно ты не отрубил его обработчик ;-) ) PS. Учите матчасть, коллега ;-) Читайте про стек вызовов, вьюноша, и не фантазируйте на ночь :-P -- Хорсун Влад
Re: Разработчикам Firebird-2.1.0.15978-0_win32
Boltik Evgeny ... 2.Получил такую ошибку FormGenDB.SelectQuery: Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements. Database file appears corrupt (). Bad checksum. Checksum error on database page 4256. At procedure 'INIT_GENTREE' line: 5, col: 5. дома пришел все работает как нивчем не бывало на клиентской базе такое ктонить сообщал, лечили? Ерунда какаято воспроизвел на вертуальной машине под ХР. Не долго думая подкинул msvcm80.dll все заработало. Ради эксперемента решил удалить msvcm80.dll и перепроверить удалил и без нее работает думаю фиг сним перезагрузил винды все равно работает. Мистика пойду пробовать к клиенту еще одному позже отпишусь. Короче жопец какойто. Пришол к клиенту и бросил эти файлы серваку и проге. А результат тотже. Теперь на руках файлик в 100мб и строка из срипта на которой все заткнулось и что теперь Влад там ничего подобного случаем не правили? 1. Я ни хрена не понимаю в этом несвязанном потоке букв 2. Database file appears corrupt говорит само за себя 3. Запусти gfix -v -f b cмотри в firebird.log 4. Рантайм с манифестом должен быть в PATH 5. НЕТ - ТАМ ничего не правили, ибо ТАМ всё нормально работает -- Хорсун Влад
Re: For Vlad Horsun и снова вьюхи Firebird-2.1.0.15946-0_win32
Oleg LOA ... Vlad Horsun ... Если хочешь быстрого решения проблемы - сделай отдельный пример Всё Влад. ВСЁ ПРОПАЛО. Клиент уезжает, Болтик снимает со своей БД гипс, мама... У вас ус отклеился.. А мне пох - теперь я в отпуске :) -- Хорсун Влад
Re: Бага совместимости Firebird-2.1.0.15946-0_win32 ?
Oleg LOA ... Дим, а релиз 7.1 будите собирвать или как? Может подорваться и сделать make-систему чтобы можно было бесплтаным или toolkit-ом собирать или Express. Express давно уже собирает HEAD, по крайней мере это заявлено P.S. Это вообще как актуально или нет?! Как по мне - нет :-P -- Хорсун Влад
Re: For Vlad Horsun и снова вьюхи Firebird-2.1.0.15946-0_win32
Oleg LOA ... Vlad Horsun ... Oleg LOA ... Vlad Horsun ... Если хочешь быстрого решения проблемы - сделай отдельный пример Всё Влад. ВСЁ ПРОПАЛО. Клиент уезжает, Болтик снимает со своей БД гипс, мама... У вас ус отклеился.. А мне пох - теперь я в отпуске :) Ус приклей ;-);-);-);-) В отпуске - и пальцОм не пошевелю, не то что усОм ;) -- Хорсун Влад
Re: For Vlad Horsun и снова вьюхи Firebird-2.1.0.15946-0_win32
Boltik Evgeny ... Я выслал тебе recreate скрипт, после которого чудеса, как ни странно, исчезают. Почему ты не мог месяц сделать то, на что у меня ушло 2 часа со всеми перепроверками, я не знаю. И почему я должен был это время тратить - тоже -- Хорсун Влад
Re: Встроеные функции
Просматривал README.builtin_functions.txt и поазился :'( нет функции SubString :-S Это список новых ф-ций в 2.1 Ты не перегрелся часом ? ;) -- Хорсун Влад
Re: Проясните с трекером
sasha ... Но только здесь проблема уровня реляционки по-моему, что она не позволяет такого рода ключи создавать. Хотя, если честно, со стороны мне не кажется что тут какие-то особые сложности могут быть в реализации. Ну расскажи тогда как проверять энтот ключ при удалении мастер-записи -- Хорсун Влад
Re: Проясните с трекером
sasha ... Ну расскажи тогда как проверять энтот ключ при удалении мастер-записи Я это представляю в виде системных триггеров: 1) При создании ключа на каждый вариант WHEN создаются почти такие же триггеры, как щас на обычные ВК, только во все проверки добавляется условие, прописанное в WHEN А вот нету в мастер-таблице полей, входящих в это условие. ... Я тут вижу проблему в случае если в условии WHEN будет подзапрос или какое-то дурацкое условие типа там сегодняшний день - чётный. Но ты ведь лично делал индексы по выражениям и эта проблема там тоже стоит, но ты её оставил на откуп программисту. Я думаю здесь можно поступить так же... Или разрешить в условии использовать только имена полей и литералы. Их делали в Борланде и доделали в Дятле. -- Хорсун Влад
Re: For Vlad Horsun и снова вьюхи Firebird-2.1.0.15946-0_win32
Boltik Evgeny ... Если хочешь быстрого решения проблемы - сделай отдельный пример её иллюстрирующий, а не ссылку на 4MB инсталляции неизвестно чего. Имей уважение к чужому труду в конце-концов Не ну ты и загнул какая инсталяция. Я не собираюсь скачивать всё подряд. Нормальные люди прикладывают усилия, когда они в этом заинтересованы. От тебя я ни разу этого не видел. Жди возвращения Еманова, он тебя как-то понимает Я пока сижу пишу. Тут же качаю билды пробую и тутже симофорю что тут отвалилось мол. И дальше сижу пишу. А толку ? Ты не думай что я тут в потолок плюю и мне делать нефиг. Я также как и ты занят, последнее время вообще все достали до 3-5 час ночи сужу, а в 9 утра уже заваливают работой. Могу только посочуствовать. Но это не я тебя завалил этим, не так ли ? И так же качаю ваши сборки по 6 мегов. Значит тебе это нужно. Никто не заставляет Дабы проверить а уж в них бывает так что как рассыпется все хоть стой хоть падай. Уже более месяца а я все новое запустить немогу т.к. написоно под 2.1 чтобы сразу проверять и работу сервера. Да причем сходу и не увидишь. ССЗБ. Кто тебя заставляет на альфе работать ? Я ктати работаю и проверяю все на реальных базах и мне надо чтоб работало. См. выше Т.к. я тестами просто не найду то что вылазит у юзеров т.к. вылазит в непредсказуемых местах. Это говорит о качестве разработки, тестов к ней и\или квалификации разработчиков. Что посеешь то и пожнёшь - я о _своём_ мнении об архитектуре твой БД. Ничего личного. Последняя ошибка вообще выловлена случайно захожу оба все вроде работает. потом анука дай добавлю документ добавляю а мне фиг вам. Я не думая быстро беру самую маленькую базу 2 мб в раре распаковываю а там все работает и че мрикажете делать. Что я могу тебе предложить для проверки вот и вместь 19мб сделал тебе 4 мб и ты еще не рад. Земной тебе поклон, спасибо большое Как тебе еще ошибку показать. Как другие показывают ? Нафига мне твои UDF, exe, пятьсот объектов в БД ??? Не умеешь сделать минимальный скрипт ? Извини, бананив немае Вчера должны были исправить регресии с вьюхами. Это уже через некоторое время пока генерилась новая база время свободное появилось нарыл что ошибка в вычесляемых полях. Отписал для того чтоб быстрей нашли а вы еще и ругаться. Я больше половины из написанного тобой понять не могу Вы поуважайте друхих тоже, rar-ом как посжимайте сборки и будет у нас не 6.3мб а 4.3мб. Rar не бесплатен, в отличие от zip. Хочешь минимального трафика для каждого нового билда ? Компилируй сам, это просто да отдельно выложите DOC папку Я триста восемьдесят восемь раз кидал сюда ссылку в CVS на эту папку кому надо скачает т.к. восновном качаем для проверки работоспособности а не для чтива ChangeLog.txt можно былобы тоже разбить по версиям и ложить только текущей версии или отдельно. Что ты в нём будешь искать ? И когда будет сервак искать firebird.msg в каталоге где лежит fbclient.dll? Никогда Продолжать можно долго и муторно, еще и подраться. Сколько угодно. Истерика есть истерика. -- Хорсун Влад
Re: Re[2]: For Vlad Horsun и снова вьюхи Firebird-2.1.0.15946-0_win32
Владимир Аксенов Rar не бесплатен, в отличие от zip. 7-zip бесплатен и жмет лучше рара, правда формат 7z понимает только он сам. Я в курсе. Но не думаю, что мы в праве требовать наличия установленного коммерческого rar'а или менее распространённого 7z. Формат zip же поддерживается практически всеми современными ОС. Возможно имеет смысл выкладывать и в 7z тоже, но я не знаю впишется ли это в автоматизированный процесс построения снапшотов и каковы ограничения на объём на хостинге. Скажем так - до сих пор не было жалоб на объём снапшота ;) -- Хорсун Влад
Re: For Vlad Horsun и снова вьюхи Firebird-2.1.0.15946-0_win32
Boltik Evgeny ... Если хочешь быстрого решения проблемы - сделай отдельный пример её иллюстрирующий, а не ссылку на 4MB инсталляции неизвестно чего. Имей уважение к чужому труду в конце-концов -- Хорсун Влад
Re: помогите с временем разобраться (летнее/зимнее)
Качановский Дмитрий ... да и не в часовых поясах проблема. уже который раз повторяю - главная проблама, что два события произошедших одно за другим могут быть в базе датированы в обратном порядке из-за перевода часов вот меня и мучает вопрос, как надо разрабатывать базу (да и собственно алгоритмы работающие с этой информацией), что бы эти переходы не создавали проблем. Значит не привязывайся ко времени. Всё просто, не так ли ? ;) -- Хорсун Влад
Re: Влад! Лучше поздно чем никогда. Прими поздравление
Ded ... и самые искренние пожелания всевозможных успехов и вообще Фсего! Спасибо ! -- Хорсун Влад
Re: помогите с временем разобраться (летнее/зимнее)
Alexey Popov ... При переходе на зимнее меняется только часовой пояс, но не ГМТ. Гы. Зимнее время - правильное, а переходят - на летнее ;))) Часовой пояс, есс-но, при этом не меняется -- Хорсун Влад
Re: Re[2]: помогите с временем разобраться (летнее/зимнее)
Качановский Дмитрий ... в свое время тоже так считал, а работал тогда с MSSQL 6.5. Ну так эта гнида после перезагрузки сервера ВСЕГДА сбрасывала генераторы на некоторое количество значений (и иногда на очень значительное количество). Ох и весело было мне :) Identity без кластерного PK на них. Бу-га-га (c) ;) -- Хорсун Влад
Re: Re[2]: Ошибка в 2.1.0.15946
Sergey Mereutsa Колитесь, чего вы там поломали? Я Алексу отписал, ДЕ в отпуске... У меня воне не собирается под Пингвином. Радикальные изменения делал как раз Алекс и у него вроде всё ок. У меня VS 7.1 нормально компилит с нуля (сейчас проверю ещё раз). VS 8 пока проверить не могу. -- Хорсун Влад
Re: Re[2]: Ошибка в 2.1.0.15946
Vlad Horsun ... Sergey Mereutsa Колитесь, чего вы там поломали? Я Алексу отписал, ДЕ в отпуске... У меня воне не собирается под Пингвином. Радикальные изменения делал как раз Алекс и у него вроде всё ок. У меня VS 7.1 нормально компилит с нуля (сейчас проверю ещё раз). Мда. Что-то не то я днём обновлял, или не тогда ;) Вижу проблему. Пока Алекс не появился, могу посоветовать тем, кому не спится, заменить dpb_trusted_user на dpb_trusted_login -- Хорсун Влад