предуведомление:
"прошу прощения у всех, чьих шуток не понял." (C) epsilon.public.interbase
---------------------------------------------------------------------
Приколы конференции: апрель-декабрь 2005
Буратине дали три яблока. Два он съел. Сколько яблок осталось у Буратины?
Думаете одно?
Нифига :
Оказывается - ответа нет.
Никто не знает сколько у него было яблок до этого:
Мораль - обнуляйте переменные
1: у меня есть поле, эмулирующее булевый тип. Вообще фишка в том
что в Release notes написано, что новый алгоритм построения индексов
хорошо переносит большое кол-во дубликатов в поле. Вот мне и интересно
до какой степени.
2: Типа "вы постарались отнять у нас грабли, но мы все равно их откопаем, бо
без оных скучно"?
1: свершилось. Athlon 64 3000+, EPOX 8KDA3I.
2: Предупредить хотелось бы. А то вдруг, не в курсе...
На "необмытую" технику, гарантия НЕ РАСПРОСТРАНЯЕТСЯ!
1: Задача: необходимо деактивировать триггер, добавить в таблицу запись, и
активировать триггер.
2: В процедуре - никак. Но можешь в триггере проверять поле:
IF (NEW.MY_SUPER_PUPER_FIELD = 'Не выполнять триггер, нах') THEN
1: Только можно было сразу написать каким образом используется ODBC. Путем
написания программы на API, из Crystal Reports, через ADO на VBS, через одно
место
2: Да божежмой, сколько тебе лет? Ты всё ещё веришь в Деда Мороза и в
то, что хоть один инструмент может использоваться широкими народными
массами хоть каким-либо способом, кроме последнего?
1: Я иной раз балдею как все бывает в нелегком програмерском мире.
2: Угу. В моем случае "глюк клавиатуры" был вылечен заменой монитора с 15" на
17"...
1: Так я ж делал бекап регулярно каждые сутки... Почему же у меня столько
мусора?
2: а рестор ты делал?
1: А при чем тут рестор? Для рестора придется гасить всех клиентов, что в
автоматическом режиме труднореализуемо...
Как говорится - со своей моделью в чужую предметную область не лазят
1:У меня очень много транслита. Эстетика эстетикой, но это значительно
снижает шансы нарваться на очередное зарезервированное слово, которое
родит в будущем комитет по стандарту в непреходящей мудрости своей.
2: Однако, учитывая широкое присутствие русской мафии в проекте, стоит
подумать о переходе на более экзотический языковой диалект.... :-)
1: есть запрос типа
select (extract month from field) from table
хочу получить название месяца (январь, февраль...)
2: Можно как-нибудь так:
substr('Январь Февраль МартАпрель Май Июнь Июль Август
СентябрьОктябрь Ноябрь Декабрь ', 1+(AMonth-1)*8, 1+(AMonth-1)*8+7)
3: А если количество месяцев изменится, код менять?!
4: Если количество месяцев сменится, то главный менеджер поменяет всех
девелоперов. Ибо называется эта смена Апокалипсис
1: Даёшь возможность использования в названиях объектов национальные
символы!!!
2: орла двуглавого?
3: Даёшь возможность делать ключевые слова зависимыми от кодовой страницы
подключившегося клиента!!!
4: А как насчёт национальных идиоматических выражений? Я так абсолютно
уверен, что если на компе WIN1251, то
Select ,мля, * From Table, нах
Order by Column ,быро, емать
будет выполняться втрое расторопнее стандартного...
5: в том случае, если сервер не ответит: "Первый нах! Аффтар жжот, пеши
есчо..."
1:Yaffil 887 ?? WinXP+SP2
??? ???????? ?????????, ?? ????? ?????? 2-3 ??? ?????????? ??????????????
??????, ?????? ???
????? ? ??????? ?????????? ????????????? ? ???? - ?? ?? ????????? ??????, ??
2:Yaffil на WinXP - это сплошные вопросы...
1: Чё за мода такая - кидаться на всё что красиво блестит,
озарённое лучами агрессивного маркетинга?
2: да ты чё? Это ж... а как еще бабло выкачивать?
сначала "все перепишем на Java!"
потом "проблема 2000 года!"
теперь "все на .Net!"
3: Все. Я проникся. Уже пишу письмо работодателю что впредь отказываюсь
писать под .NET, и начинаю изучать delphi по той причине что оно не
столь сильно озарено лучами агрессивного маркетинга...
Надо не забыть упомянуть что сразу после делфи я планирую начать
изучение турбопаскаля, а в дальнейших моих планах - написание
резидентных драйверов русской клавиатуры под ДОС на ассемблере!
1: Все попытки внедрить правильную программу неизменно пресекаются
неправильным учетом. Медицина тут бессильна.
2: Йа, йа, Кемска волост! Алгоритмы + структуры = программы! Регламент
+ программы = системы!
1: В аптечном бизнесе, если что-то не привезли, значит довезут завтра.
Если не смогут довести оформят возврат. Ни кто накладную
регистрировать/проводит не будет, до тех пор пока руками не пересчитают.
2: ни один кладовщик не подтвердит наличие, пока не пересчитает! абсолютно во
всех сферах бизнеса эта хня. но почемуйто аптечники ся из ряда вон выходящими
чтят.
1: потому, что лекарства это вопрос жизни ...и смерти.
3: Жратва - тоже
1: "Транзакции должны быть максимально короткими, независимо от условий
задачи."
2: Я бы переписал, да для версионника это конечно не хорошо. Но это не
так катастрофично, как для блокировщика. Нужно добавить пару строк про это.
1: был вариант где я писал что мол, у нас короткой может считаться транзакция
и в полчаса. но мне не понравилось....
1: ибо там где нет пользователя - нет проблемы
2: Эт точно. Вот жаль денех тоже нет
1: Прошу прощения, проверка
2: TEST COMPLETE ERROR
System exception: "Forum overlow. Bad User".
Запрос работает 33!!! (это не факториалы) мин.
Че то твои письма наводят на меня мысли о коньяке...
Позвольте мне, как человеку, работающему в компьютерной фирме,
поделиться своим опытом. Иногда мы имеем проблемы с глючными компами,
любые тесты памяти в которых проходят без проблем. Но замена памяти полностью
приводит их в чувство. Так что к положительным результатам этих тестов мы
относимся весьма скептически. Не стоит тратить дни на тесты памяти, нужно
просто временно заменить ее на другую и посмотреть, что будет.
Если кто-то попытается заподозрить меня в домыслах, то будет сильно не прав.
На моей памяти (той, которая в моем мозгу), есть точно пара-тройка таких
случаев.
1: На моей памяти еще такой случай, машинка на Атлоне прекрасно
работала со всем, но висла на 5 минуте просмотра DivX - проблема
была с видеокарте.
2: Не надо наезжать на Атлоны - аналогичный случай был у меня с P III.
Проблема была в разгоне и решилась установкой более мощного кулера.
Так что компьютеры становятся все более и более аналоговыми:
сильнее подул - лучше начинают работать, слабее - перестают.
1: Я тут посмотрел лог и обнаружил немалое кол-во сообщений:
TUT (Client) Wed Jun 08 14:31:40 2005
D:\Program Files\Firebird\Firebird_2_0\bin\fbserver.exe: terminated
abnormally (4294967295)
От чего такое может быть кто-нибудь знает?
2: Сервер может упасть от чего угодно. Нужны детали.
1: Я ещё думал вдруг код ошибки что-то означает...
3: Угу, означает... это (unsigned long) -1
4: В смысле одним сервером стало меньше
o tempo! o morals!
о Брукс ветхозаветный! о Тенцер! к Вам взываю!
1: PS. Сегодня ночью ресторил нашу базу (10GB) на FB2-A3. Поразительно
Alpha2 - рестор длился больше 7 часов
Alpha3 - 5:20
Шаманы :)
2: А теперь сервер сам решает - что надо восстанавливать, а шо - нет. ;-)
3: Осталось научить его распознавать налогового инспектора по стилю работы
на клавиатуре :-)
1: Лишняя фича FB-у не помеха. :)
2: Угу, а потом параметров настройки будет больше чем у Oracle/MSSQL/...
вместе
взятых. Ну зачем превращать прекрасный сервер в помойку "гениальных" идей ?
1: В общем после долгих наблюдений я склоняюсь к тому что во всём этом
виноват некорректно работающий Shutdown. Мне кажется что это он убивает
процесс сборки мусора не разбираясь можно это делать или нет. По моему
не корректно так делать.
2: Ты можешь склоняться к чему угодно и даже быть при этом правым, но
пока ты не склонишь к этому же кого-нибудь ещё (например меня) - никто
этим не займётся и все твои склонения пропадут в никуда. Тогда ты можешь
начать спрягаться
1: Еще бы подсказал нельзя ли ка проверить целостность базы при ресторе чтоб
автоматизировать и эту операцию ?
2: Я тут рискую сэкономить Диме бутерброды и лишить его 130 енотов, но у
нас базами занимается такой скрипт: [...]
3: наличие опубликованных скриптов, хе-хе, никак не влияет на
качество организации b/r в конторе....
1: Invalid token.Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 17
2: Как всегда, ошибка в 17-ой строке
Любому _завершившемуся_ запросу, как и настоящему джентльмену, всегда есть
что сказать. Как минимум статус-вектор.
1: Надо только подумать как бы так перенастроить сокет, чтоб он быстро
отстреливал умершие процессы, но и не забывал про долгоиграющие.
2: Это. Если найдешь такую фичу в винде, как отстреливание сокетами
процессов, ты это, свистни. Тебе хакеры прижизненный памятник из золота
поставят, а
Билли постарается сделать так, что бы он стал посмертным....
1: Ещё раз прошу прощения за ошибку допущенную в тесксте первоначального
письма.
2: Фигня! знал бы ты какая радость читать вас всех с похмелья! Ик...
1: Скажите как можно пробежаться по всей базе, по всем полям и заменить одну
строку на другую.
Если встерчается "old_str" заменить его на "new_str".
Помоги плз. Может запрос, программа, любой вариант.
2: Дорогой ЧорноБайт!
С любопытством и нескрываемым восторгом
восприняли всю глубину поставленной задачи!
Ждем предложений по оплате консультаций.
ЗЫ: в качестве бонуса, бесплатно обучим албанскому.
3: предлагаю HEX-эдитором по БД :-) бесплатно :-)
4: Хм, можно например в Far-е Ctrl+F7 -> "Найти" и "Заменить", затем выбираешь
"Заменить все". Да еще про монопольный доступ не забудь.
1: Ого, я как то и не подумал про ФАРы и HEX-едиторы... даже так можно с БД
работать?!
Ну в принципе логично. Это ж тот же файл.
Но я думал как то по правильному. Запросы там всякие строить. Мол извлечь
данные, найти, заменить, и обратно в БД закинуть.
Значить сделаю через HEX-едитор. Пасиб.
4: Стой на месте!!! Базу испортишь!!!
1: Стою! я бек-ап сделал
так это, что шутка была?
мне фактически нужно bla-bla-bla заменить ан bla-bla
всё равно испортить могу? я даже подумал, что и такой заменой логично
2: Оказываем помощь в восстановлении убитых баз.
Проводим трениниг по придержанию шаловливых ручек.
Отстреливаем ламеров, советующих всякую хрень.
4: Вот родил корявый вариант - в аппликации.
1. Получаем имена всех таблиц в базе
У меня получилось этим
select rdb$relation_name from rdb$relations
where rdb$system_flag=0 and rdb$dbkey_length=8
2. Получаем имена полей для каждой таблицы
Например, в TIBQuery после Prepare через select * from table
3. Update-им каждое поле с учетом его типа.
Как получить тип поля не предумал, лень.
Вариант конечно через Ж и гуру меня запинают, но думаю работать он будет.
5: Вылей базу в скрипт, замени текстовым редактором что нужно, создай базу
из полученного скрипта -- дешево и сердито.
6: Слишком просто и не прикольно!
Вариант не рассматривается как правильный и в конкурсе не участвует :-).
Пока наиболее выигрышными являются 2 варианта: HEX редактор и поиск и
замена в FAR.
5: Подпатчить исходники сервера на предмет подмены строковых полей в момент
фетча? Прикольно и не просто :)
7: Мужики, ну вы чё, озверели совсем? Ну да, человек стандартно не может
даже спросить так, чтоб его поняли. Ну да, надо применять воспитательные
меры. Возможно, даже слегка карательные. А друг перед другом толкать его
на уничтожение базы методами различной изощрённости... Я понимаю -
софтоворюгу проучить, особенно если ещё и хамить начинает. Терпимее к
людЯм надо относиться. Здесь же чайник вульгарис, сиречь абнакавенный. В
доку его послать надобно да в книжки. Не пойдёт - ремня. Пойдёт и начнёт
вопрошать осмысленно - знач будет толк.
Я б русский бы выучил только за то, что есть ibase.ru (с) Джим Старки
1: Для компилирования требуется уже установленный FB и VS 6 или 7. +bison и
sed.
2: А вот интересно, чиста из любопытства, на кой нужен уже готовый FB для
компиляции еще одного FB?
3: В 2-ке уже не нужен
4: Интересно. Чтобы создать сервер, нужно чтобы он уже был
5: ну люди тоже от людей рождаются, никто это странным не считает
4: А творцом первого сервера (серверного Адама) кто был? Borland всемогущий и
всемилостивый? Причем серверы, в отличие от людей, размножаются вегетативно
(почкованием). Второго сервера противоположного пола ведь не требуется.
5: у них странная какая-то любовь, методом дедукции получаем, что вторым
участником в процессе размножения является компилятор
1: Все понял. Большое спасибо.
2: Удивительно. А я вот после всех этих ответов только ещё больше
запутался...
1: Есть ли компонент способный проанализировав таблицу создать скрипт такого
вида: [...] Пробовал TIBExtract, не понравилось по причине старости оного
2: Ты его варить собрался?
1: Все остальные баги я пофиксил, так что завтра бери свежий билд и вперед.
Спасибо! Э вобще эти билды последние совместимы с третьей альфой? А то вдруг
вы там опять ODS сменили ещё раз
1: Если сможешь подключиться, значит совместимы. Иначе получишь еггог в лоб
3: <ТЛ>
Ещё одно детство, испорченное БЗ-34\МК-61 etc ;))
</ТЛ>
4: Или "Агат"ом (вроде был такой один из первых советских PC). Я на венгерском
мониторе Videoton какой-то наблюдал сообщение "IНЖАЛИД ДЕЖИЦЕ" (Invalid
device). RT-11.
1: gbak: restoring data for table TABLE_1
gbak: ERROR: arithmetic exception, numeric overflow, or string truncation
gbak: ERROR: Cannot transliterate character between character sets
gbak: ERROR: gds_$send failed
gbak: Exiting before completion due to errors
2: Мешанина версий серверов?
1: Хм... вроде IB 7.0.1.1 везде был. А как проверить можно?
2 Спросить у главбуха накладную. Там должно быть написано, какую именно версию
вам отгружали.
1: И почему в этом случае бэкап без сбора мусора (т.е. отделения актуальных
данных от мусора) прошел за 15 мин, а в случае с сборкой оччччень долго (ведь
sweep и есть отделение актуальных данных от мусора). Не порылась ли тут где
собака? Что есть процесс сборки мусора "изнутри"? Почему казалось бы такая
несложная операция на неахти каких больших объемах на ксеоне занимает ЧАСЫ?
2: Иногда, после хооорошей гулянки, легче снести хату и построит новую.
3: Есть свалка, слой мусора около метра, на поверхности которой разбросаны
100-рублёвые бумажки. Почему если я иду по ней и их собираю, то успеваю за 15
минут, а если собираю и выбрасываю в канаву мусор, а денюшку оставляю, то это
занимает ЧАСЫ, а то и СУТКИ?
1: А блок (EXECUTE BLOCK) внутри блока я вобще не могу вызвать?
2: Тут можно сказать только следующее: А накуя?
1: Пока ещё не придумал Но мало ли...
1: Странная ситуация. IBAnalyst с сайта скачивают тысячами,
а багрепорты идут от 1-2 человек (третий - я).
То ли багов нет, то ли люди вообще не понимают, как им
пользоваться.
2: Вот я смотрел на график. Долго смотрел. Потом мозг перегрелся.
И второй раз я запускать ее не стал.
1: занятно. тем более что там графиков нет
1: При закрытии базы (TIBDatabase) происходит взрыв в функции
2: У вас код работает ка часть АСУ ТП в атомной промышленности?
1: У вас такое случалось?
Да, сначала нужно доку читать. Но она появилась у меня позже, чем программа
была написана.
1: Книга Х. Борри "Firebird. Руководство разработчика баз данных" на
books.ru в бестселлерах на втором месте, и опередила новую книгу о
Гарри Поттере.
2: Осталось снять по ней фильм
1: Моя в восторге. Моя проснулась и готова снова убивать.
2: Ты лучше напиши свою статью, а то убивать да убивать.
1: Даже если предположить, что статья есть, то ты думаешь она кому-то
поможет??? Я в этом очень сильно сомневаюсь.
3: Пока не опубликуешь свою статью придется все убивать да убивать.
1: Я написал "снова готов убивать" не в отношении автора А в отношении своей
работы.
4: Киллером подрабатываешь в свободное от разработки время?
1: Нам, например, вообще сейчас этот .NET не нужен - у нас свой framework.
2: Читали на RSDN статью по разработке фреймвёка? Я просто вспомнил... Там
первое и самое важное правило для того кто разрабатывает фреймвёк: НИКОГДА НЕ
РАЗРАБАТЫВАЙТЕ ФРЕЙМВЁК
3: .Yes framefork ?
4: .nah frameworkи
1: Не-а, не читал! Хорошо, счас все бросим (то что 10 лет делаем)!
Кстати, а Билл Гейтс эту статью? Он-то че ломанулся разрабатывать этот
фреймворк?
2: Она на русском. Он наверное или не смог прочитать, или перевёл неправильно
1: Если имеется ввиду среда разработки - есть VS 2005 beta2.
2: Она уже 4 дня как не бета
1: тем более блин, что за профессия у нас такая проклятая - на неделю
забудешься, и ты уже устарел
1: сам вопрос звучит именно так: как идентифицировать подключение?
2: Сам ответ звучит так: НИКАК.
ЗЫ: допускаю, что опытные проктологи таки могут предложить
решение, подкупающее своей глубиной...
1: Отчет о Firebird Conference 2005
http://www.ibase.ru/fbconf2005/index.html
2: В статье есть один очень спорный момент, а именно, что цитрамон (можно
аспирин или даже анальгин), имхо, эффективнее принимать непосредственно
перед тем, как лечь спать, а не утром. Проверено электроникой (с) :)
1: ... короче тоска. пойти напиться что ли.
2: Наборот, у вас куча моментов для оптимизации - радоваться нужно ;)
1: У меня от этих "моментов" уже голова болит. Надо прекращать их нюхать :)
1: Шатдаун у виндовго классика усегда был не совсем shutdown
2: Не скажи, в 4.0 работал исправно - никогда проблем не замечал
1: Про 4-ку можно не вспоминать. После этого к коду приложились руки
"програмеров" из борланда.
1: Но ведь работало же!!! Значит можно!
Потом, неужели у Ann не осталось старых исходников?
3: переживших пожары и наводнения, на которых чья-то нетвердая рука цветным
карандашом написала слово... впрочем, не будем его произносить вслух, с
пробоинами от садовых граблей, шампуров и местами залитых маслом из
гидравлического домкрата, который был в них завернут, пожелтевших от
времени, солнца и других факторов, которые также не будем уточнять,
покоробленных ветрами и метелями, практически истлевших, забытых всеми на
свете, но все еще пробуждающих в людях надежду и веру во все самое лучшее
(ведь тогда все работало!) СТАРЫХ ИСХОДНИКОВ.
--~--~---------~--~----~------------~-------~--~----~
-~----------~----~----~----~------~----~------~--~---