Re[2]: Различия версий снапшотов
Привет! Да, правильно Еманов говорит: Никто README не читает. Он ещё при этом материся, наверняка. http://www.dqteam.com/fb2/README.TXT - сто лет там лежит. Что мне в about написать? Что это мои сборки и используете на свой страх и риск? По-моему это и так очевидно. Они собираются из публичных сорцов примерно раз в неделю или по просьбе тех, кому надо срочно. Ничем от обычных снапшотов не отличаются - разве что делаются реже. Я сам эти билды использую переодически - всплывающие проблемы рапортуются птицеводам. P.S. Специально для ворчунов - напишу, что мои сборки ничем от обычных не отличаются. -- Best regards, Sergeymailto:gebele...@gmail.com
offtopic - прога по недвижимости
Привет! Народ, если кто занимается прогами, связанными с недвижимостью (продажа/покупка/агенты) - свистните мне в мыло на serj собака dqteam ком - может что-нибудь вкусное всем перепадёт. -- Best regards, Sergey mailto:gebele...@gmail.com
Re: buffer overflow detected при вызове udf в isql
Привет! При попытке вызова udf в isql получаю сообщение *** buffer overflow detected ***: /usr/lib/firebird/2.1/bin/isql terminated Далее выводится Backtrace и Memory map В чем может быть дело? В udf, в системе, в настройках? Что может помочь? Ubuntu 10.04.3 Firebird CS 2.1.3.18185 Переполнение буффера, с 99.99% вероятностью проблема в UDF. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Не выйти из isql позле вызова UDF в Linux
Привет! Невнимательно прочитал. ИМХО все дело в птичке, я же писал, что вплоть до версии CS 2.1.3 под Линуксом все работало и работает. Скорее всего, всё дело в компиляторе. У меня некоторые UDF спокойно себе перекочевали с 1.5 потом на 2.0, потом на 2.1, потом на 2.5 и 32-бит на 64 вообще без переписывания. В функциях используются строки (достаточно злобно) и немного шифрования. Единственная разница с вашим случаем - всё на C/C++. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: перестают поступать события
Привет! Есть FB2.0 Нет такой версии А вот и есть! 2.0.3.12981 Это мягкий намёк, что оно старое и (почти) не поддерживается ;-) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Странная ошибка рестора БД с UDF под Linux
Привет! Проблема эта решилась только заменой сервера (Старый поработал до этого 6 лет, решили что пора менять - поменяли стало все нормально работать). Что для меня было не понятно - сервер был настоящий - с ECC памятью, и по моему с Intel RAiD U42. Так как за 6 лет работы сервер морально устарел эксперименты с ним больше проводить не стали. Эта слепая вера в ECC меня иногда убивает. У меня 2 раза был случай, когда проблема была именно в глючной планке памяти, белого (белее некуда в банке) сервера. Что самое интересное, стандартный линуховый мемтест позволяет отключить чип контроля целостности и анализировать работу памяти без корректировок. Тогда столько нового узнаёшь про производителей этой памяти... -- Best regards, Sergeymailto:gebele...@gmail.com
Re: Вопрос по встроенной функции HASH()
Привет! Там (насколько я помню) простой CRC48 или что-то похожее. Совпадения достаточно часто встречаются, если строки отличаются чётным количеством байт (по крайней мере у меня было именно так). Лучше всего использовать SHA1/MD5, благо все есть в исходниках и сделать UDF из них в простом случае - пол дня работы, ну пара дней, если вот прям все типы надо обрабатывать (хотя я бы всё свёл к варчару и блобу). -- Best regards, Sergeymailto:gebele...@gmail.com
Re: ИндексЫ
Привет! Подскажите можно сделать индекс не полю а например на основании udf, которая будет обрабатывать блоб? Можно сделать так что бы не все записи добавлялась в индекс? Ответ на вопрос зачем: например в таблице очень много записей и нужно искать только небольшое количество по специфичному индексу, если будет индекс построен по всей таблице, то он просто будет слишком большим и главное он такой совсем не нужен. Суть создания индекса как раз в уменьшении данных, с которыми приходится работать. Если у тебя индекс занимает столько же, сколько и сами данные - это плохой, негодный индекс ;-) Индексы по выражениям строить можно и очень часто они помогают. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Хранениетелеметрии
Привет! Единственная видимая пока грабля - предел номера транзакции, которая хотя вылезет через годы, но тоже неприятно. Если у тебя будет железо (с операционкой), которое вообще будет безостановочно работать ГОДЫ, то вопрос выбора БД тебя вообще волновать не будет. Хоть Терадату бери - её тебе наверняка дадут в подарок :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[6]: GBAK - Логирование ошибок при restore
Привет! Влад в приватной беседе посоветовал пожаловаться Трекеру По опыту могу сказать, что вменяемое требование или описание бага в трекере всегда либо внедряется, либо фиксится. А Влад что на нелегальном положении ? Я за него говорить правов не имею, но рискну предположить, что у него во-первых дел хватает, а во-вторых - устал он комментировать очевидные вещи. Ок, пожалуемсо Правда я никогда еще не жаловался трекеру. Надеюсь выйдет. Там всё просто :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[4]: GBAK - Логирование ошибок при restore
Привет! И мне показалось, что на будущее неплохо иметь такую инфу в конце лога. Я же не требую, никого не обвиняю, и так понял, что сам виноват. Нет так нет - приспособимся Но как никогда хотелось бы все же услышать начальника транспортного цеха (с) Влад в приватной беседе посоветовал пожаловаться Трекеру ;-) По опыту могу сказать, что вменяемое требование или описание бага в трекере всегда либо внедряется, либо фиксится. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: GBAK - Логирование ошибок при restore
Привет! А зачем? Если есть _хотя бы одна_ ошибка - с базой что-то не то. В таком случае надо просто послать уведомление админу и всё. И gbak честно возвращает ненулевой код ошибки тому процессу, который его вызвал. Удивлен. Есть gbak, консоль и админ за консолью, запускающий _штатный_ gbak. Админу было бы удобно в конце работы gbak видеть строку Error count: 0, сразу. Аааа, так тебе рюшечку хочется? Да, рюшечки иногда нужны, я согласен, что было бы хорошо иметь подобный визуальный отчёт в конце работы. Тем более, что цена вопроса не велика. Ну вот я не уверен, что время кого-нибудь из птицеводов стоит таратить на этот пустяк. Пусть лучше тру-смп допилят. Из того примера, который я приводил легко можно сделать обёртку, которая именно выдаст инфу, были ли ошибки при ресторе или нет :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: GBAK - Логирование ошибок при restore
Привет! Присоединяюсь. Хотя бы счетчик ошибок в конце лога. А зачем? Если есть _хотя бы одна_ ошибка - с базой что-то не то. В таком случае надо просто послать уведомление админу и всё. И gbak честно возвращает ненулевой код ошибки тому процессу, который его вызвал. -- Best regards, Sergeymailto:gebele...@gmail.com
Re: GBAK - Логирование ошибок при restore
Привет! В связи с этим у меня вопрос - это так и должно было быть и всегда было и я сам дурак или все же неплохо было бы выводить какие-то сообщения в конце лога в случае каких-либо ошибок ? В вопросе содержится ответ ;-) P.S. LI-V6.3.1.17910 Firebird 2.1 Classic, OS Linux Ubuntu 7.1 Server , Kernel 2.6.22-14-server I686 Вот уж кому-кому, а линуксоиду грех жаловаться на отсутствие средств проверки в таких случаях. (форматирование может поехать, скрипт древний, как кал мамонта, подобные трудятся везде у меня не первый год): Вот пример (AS IS) для создания резервной копии всех БД, перечисленных в файле aliases.conf: #/bin/bash #set -x # # # This script will backup all databases from firebird aliases.conf file # # NOTE: In case of error lock file will NOT be erased # # DB_USERNAME=username DB_USERPASS=password HOSTNAME=localhost: DBNAME=`cat /opt/fb20cs/aliases.conf |grep /var/db|grep -v #|grep -v cntldb|awk '{print $1;}'` BACKUPNAMEDATE=`date +_%Y_%m_%d_%H_%M_%S` FBK=.fbk20 TMP=/tmp/ BACKUPDIR=/var/www/db/ BZ2=.bz2 BACKUPLOCK=/tmp/dbbackuper20.lock BACKUPCMD=/opt/fb20cs/bin/gbak -B -g RESTORECMD=/opt/fb20cs/bin/gbak -C -REPLACE CONTROLDB=localhost:cntldb DELIMITER= -- BACKUPNAME=`date +_%d` #this function will send mail to administrator sendMail2Admin() { ( echo To: ad...@site.com echo From: FB database backup script echo Subject: Error during backup echo echo Please check logs - there are some errors during to database backup process. echo ) 21 | /usr/lib/sendmail -t } if [ -s $BACKUPLOCK ] ; then echo [BACKUP LOCK DETECTED at: `date` , EXITING] exit fi echo baclup lock$BACKUPLOCK for db in $DBNAME do echo $DELIMITER echo # generating database backup echo [DATABASE BACKUP START at: `date` FOR $db] $BACKUPCMD -user $DB_USERNAME -password $DB_USERPASS $HOSTNAME$db $TMP$db$BACKUPNAME$FBK resCode=$? #checking for error if [ $resCode -ne 0 ] then echo [DATABASE BACKUP PROBLEM at: `date` FOR $db] sendMail2Admin #exit fi echo [DATABASE BACKUP END at: `date` FOR $db] echo [DATABASE CONTROL RESTORE START at: `date` FOR $db] # doing control restore $RESTORECMD -user $DB_USERNAME -password $DB_USERPASS $TMP$db$BACKUPNAME$FBK $CONTROLDB resCode=$? #checking for error if [ $resCode -ne 0 ] then echo [CONTROL RESTORE PROBLEM at: `date` FOR $db] sendMail2Admin #exit fi echo [DATABASE CONTROL RESTORE END at: `date` FOR $db] # if ok, moving to database # if failed - mail to admin rm -rf $TMP$CONTROLDB mv $TMP$db$BACKUPNAME$FBK $BACKUPDIR rm -rf $BACKUPDIR$db$BACKUPNAME$FBK$BZ2 bzip2 -z -9 $BACKUPDIR$db$BACKUPNAME$FBK echo Backup name: $BACKUPDIR$db$BACKUPNAME$FBK echo $DELIMITER sync done rm -rf $BACKUPLOCK -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Железо сервера БД
Привет! Странно, почему никто не указывает варианта Ось+temp на обычный винт(ы), а под базу - SSD. Вполне себе бюджетный и скоростной вариант. Потому, что интенсивная работа с SSD означает базу Шрёдингера - рано или поздно умрёт, но когда именно - узнаешь в неопределённый момент времени. И будет очень неприятно, если узнаешь об этом за пару часов до начала отпуска. Хотя да, риальные поцаны могут себе позволить очень шустрое хранилище от Sun/Oracle на 2 Тб, сплошь на скоростной памяти. Я считал, кирпич из серебра аналогичного веса стоит дешевле. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Железо сервера БД
Привет! А что, кеш в 4 гига выставить для большой БД никак? А интересно, кто пробовал такое делать? Я, когда суперклассик ковырял. Работало, но сам суперклассик тогда сырой был, пришлось ставить классик. Сейчас потестить просто негде - всё в полёте :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Железо сервера БД
Привет! Классические рекомендации: - система - на отдельном винте - TEMP - на отдельном винте - база - на отдельном винте/рейде - если на этой машине будут бэкапы/перебэкапы - то для бэкапов отдельный винт, что бы база и бэкап не лежали на одном винте - кроме надежности влияет и на скорость. Рекомендации от экстремалов: 1) Система на SSD, своп нафиг. Взять 2 SSD и на втором держать отстающую копию системы (как сие сделать на винде - понятия не имею). 2) TEMP - 4-8 гигов в оперативке, второй темп - в любом месте. 3) База в зеркале, приоритет кэшу контроллера на чтение 4) Оперативки побольше и использовать классик/суперклассик пока не перейдёте на тройку :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Железо сервера БД
Привет! 1) Система на SSD, своп нафиг. Взять 2 SSD и на втором держать отстающую копию системы (как сие сделать на винде - понятия не имею). А смысл тут в SSD? На сервере чтение с системого диска не особо часто. Вот что делать со свопом? Если система ушла в своп - то где бы он не располагался - настаёт она самая - ж.о.п.а. Поэтому, пусть лучше памяти будет много. У меня есть ещё рекомендации, но это для тру-джедаев - базу в оперативку, а дельта-копии и бэкапы на винт. Будет быстро, но по секрету - если у ОС хватает оперативки закэшировать весь файл базы - то разница будет заметна только на интенсивной записи в БД. 4) Оперативки побольше и использовать классик/суперклассик пока не перейдёте на тройку :) Пока специфика нагрузки такова, что достаточно супера. А вот с IO - надо минимизировать. Тогда кэша страниц побольше, 64-битные сборки хорошо память жрать умеют :0) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Железо сервера БД
Привет! Если система ушла в своп - то где бы он не располагался - настаёт она самая - ж.о.п.а. Поэтому, пусть лучше памяти будет много. Своп вроде бы всегда используется виндой для своих нужд. Это у вас на венде. У Пингвинов немного не так: serj@auth:~$ free total used free sharedbuffers cached Mem: 16475204 104827605992444 0 1808887813916 -/+ buffers/cache:2487956 13987248 Swap: 31246264 0 31246264 Т.е. он как бы есть и его даже можно использовать, но в обычных обстоятельствах - память нынче дешёвая. Тогда кэша страниц побольше, 64-битные сборки хорошо память жрать умеют :0) Кстати, есть какая польза от 64-битного супера? Вроде максимальный размер кэша как то лимитирован. Влад говорил, что выставить можно 100к страниц и оно не подавится. Но это пусть лучше он прокомментирует. Я супер буду от тройки мучать, а с 1-2 как-то не особо сложилось, хотя для веб-приложений - самое то, там много мелких запросиков. Но мне хватает классика. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Железо сервера БД
Привет! Рекомендации от экстремалов: 1) Система на SSD, своп нафиг. Серега, своп нафиг уже давно не смешно. Не нужно его выключать, от этого один геморрой, и лучше не будет. Собственно, ОС на SSD это не экстрим, это просто выкидывание денег на ветер. Для ноутбуков - да, побыстрее загрузка. Ну про система на SSD я просто не стал человека пугать - некоторые вообще на флэшку пишут систему виртуализации (XEN/VMWARE) и грузят всё с винтов обычных потом. Позволяет не задумываться о конфигурации железа, если согласиться на 5% потерь производительности и на одну виртуалку на одной железке. Но на SSD грузится быстрее :) В остальном системе диск не особо нужен. Угу. По идее в винде тоже всё, что нужно система кэширует в оперативке - но на линуксах это проще контролировать (не холивару ради, самый короткий путь - тот, который ты знаешь). 2) TEMP - 4-8 гигов в оперативке, второй темп - в любом месте. опять же, экстрим по поводу TEMP в оперативке обусловлен незнанием факта, что IB/FB создают временные файлы как temporary, которые сама ОС распределяет в памяти по мере необходимости. Правильно. Но наличие временной папки в оперативке гарантирует минимальный iowait при работе с временными файлами в *никсах. Справедливо ли то же самое в винде - хз, там вроде нет штатной возможности делать RAM-диски. И выигрыша temp в RAM не дает никакого. Только глюки от таких виртуальных дисков. Это у вас, виндузятников, надо извращаться с RAM-дисками. У юниксятников оно искаропки и является штатным средством ;-). У меня есть система, которая пишет сырое видео в оперативку, конвертит его и складывает на винт. И весь софт уверен, что работает с обычными дисками. Только очень шустрыми. Вот на cтаром Xeon-е у немцев: root@auth:~# dd if=/dev/zero of=/dev/shm/zero bs=512M count=2 2+0 records in 2+0 records out 1073741824 bytes (1.1 GB) copied, 1.69637 s, 633 MB/s Или SOHO, но на Core i7 с трёхканальной памятью: root@adm-24hr:/home/developer# dd if=/dev/zero of=/dev/shm/zero bs=512M count=2 2+0 records in 2+0 records out 1073741824 bytes (1.1 GB) copied, 0.814282 s, 1.3 GB/s А вот у настоящих кульных пацанофф на белых и пушистых серверах с ECC: root@ms2:~# dd if=/dev/zero of=/dev/shm/zero bs=512M count=2 2+0 records in 2+0 records out 1073741824 bytes (1.1 GB) copied, 1.08713 s, 988 MB/s Ну какой винт даст такую скорость? ;-) -- Best regards, Sergeymailto:gebele...@gmail.com
Re: Удаление по сложному условию
Привет! Из большой таблички нужно удалить записи по сложному условию. План для условия вполне нормальный. Но когда включаешь его в delete выплывает NATURAL. А for select по условию без натурала с выборкой rdb$db_key и удалением по нему не спасает? Правда, позиционирование по rdb$db_key считается натуралом, но на это можно не обращать внимания :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re: backup restore
Привет! Чего-то меня переклинило. В процессе backup restore триггеры и процедуры перекомпилируются? Нет. Они же компилируются и так и хранятся. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: backup restore
Привет! Так и выходит. С одной стороны плохо, с другой стороны хорошо. А если переход с версии на версию сервера и есть несовместимость. Тогда что? Не востановиться? Получишь Invalid BLR at offset. При переходе обычно тестируют :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Порядок срабатывания ограничений сылочной целостности
Привет! системный триггер сработает раньше - тот, что на таблице В или тот, что на таблице Б? возможно, в порядке (прямом или обратном) создания триггеров, который не обязательно совпадает с порядком создания таблиц (но вероятно совпадает с порядком создания constraint foreign key) можешь через post message trigger-name + timestamp или insert into log values (t-n, ts) поиграться с разными порядками создания FK-триггеров и посмотреть зависят ли ? Да эт понятно, что могу, но меня интересует, регламентируется ли это как-то вообще? PS: а зачем ? м.б. нужные действия вытащить в триггер В.BeforeDelete и плевать в каком порядке будут вызываться и кто первым будет удалять? Из любопытства. Триггер - это решение, но мне интересно, как себя должны вести системные триггеры и регламентируется ли их поведение. :) -- Best regards, Sergeymailto:gebele...@gmail.com
Порядок срабатывания ограничений сылочной целостности
Привет! Есть таблица А, на которую в виде внешних ключей есть ссылки из таблиц Б и таблицы В. При этом в таблице В есть ссылка в виде внешнего ключа на таблицу Б. Все внешние ключи имеют пометку on delete cascade. Внимание, вопрос - при удалении записи из А, какой системный триггер сработает раньше - тот, что на таблице В или тот, что на таблице Б? Примечание: меня не интересует, является ли правильной такая конструкция или нет, если сервер позволяет - значит можно, особенно если логика решения задачи в этом случае упрощается . Интересует именно порядок срабатывания системных триггеров. З.Ы. Спрашиваю тут, а не напрямую у знающих людей, чтобы осталось в копилке знаний, просьба сильно не пинать за глупые вопросы :) -- Best regards, Sergey mailto:gebele...@gmail.com
Re[2]: Firebird-2.5.1.26240-0_Win32 CS кушает много памяти на Win2008 R2 SP1
Hello Короткий, Wednesday, March 23, 2011, 3:31:03 PM, you wrote: Vlad Khorsun hv...@optima.com.ua писал(а) в своём письме Wed, 23 Mar 2011 21:49:42 +0900: Ну так отрежь 2ГБ от планки памяти - она всё равно простаивает :) Отнюдь, эти два гига про запас ;) для тяжелых отчётов. Вот жадные, а? :) Вот, 64-битный классик под Линухом с активированным пулом коннектов: http://www.dqteam.com/munin/dqteam.com/agitar.dqteam.com/memory.html У виртуалки 4Г оперативки ;-) P/S Кстати, кому-нибудь надо такое: http://www.dqteam.com/munin/dqhorizons.com/auth.dqhorizons.com/index.html#firebirdsql т.е. стоит ли дошлифовать модуль для мунина и выложить общественности? -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Есть ли возможность корректно завершить процесс сервера?
Привет! Еще есть taskkill судя по тому, что у нее есть ключ /F - force, значит в обычном режиме она просто закрывает процессы. Но искать подтверждение лень ) Я не уверен насчёт виндовой версии, но прибивание процесса классика в релизе 2.5 под линухом первый раз в жизни дало мне битую базу (на одной записи, но часок-другой понервничать пришлось). Птицеводы в курсе, даже наверняка в 2.5.1 это дело пофиксили - но пусть лучше Влад или Дима порокомментируют. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Символы пробелов в полях Char, VarChar
Привет! В принципе меня не волнует как они хранятся. Просто мне нужно чтобы в справочнике отличались две строки - одна пустая строка '', а другая состоящая из 1 ' ' (или нескольких пробелов). Сейчас строки состоящие только из пробелов при сравнении равны друг другу, хотя по факту, одна например, состоит из 1 пробела, а другая из 100 пробелов. а) храни нуллы вместо пустых строк б) сравнивай не только содержимое, но и его длину, при совпадении в) дописывай не пробельный символ в конец строки и игнорируй его при извлечении г) пересмотри задачу, чтобы не было таких проблем Если товарищ хранит строки на Whitespace - http://en.wikipedia.org/wiki/Whitespace_%28programming_language%29 - то ему не очень сильно поможет твой совет. Я бы посоветовал ему обрамлять кавычками пустые строки - т.е. добавлять именно кавычки по краям как часть строки. А в проге их убирать. Но вообще - не могу себе представить задачу, где надо 5 пробелов отличать от 6 :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[4]: Символы пробелов в полях Char, VarChar
Привет! Если товарищ хранит строки на Whitespace - http://en.wikipedia.org/wiki/Whitespace_%28programming_language%29 - то ему не очень сильно поможет твой совет. Это ты специально такое выискивал ? %) Угу. Постановка задачи навела на мысль :) Я бы посоветовал ему обрамлять кавычками пустые строки - т.е. добавлять именно кавычки по краям как часть строки. А в проге их убирать. Чем это отличается от (в) ? Да кагбе ничем. Те же яйца, только в профиль. :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re: OFF: Дедом стал! Внук родился!!!
Привет! Не дожив до седин, в свои бодрые 36, стал дедом Внук родился! Поздравляю! :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Out of memory...
Привет! 2.1, хотя могу попробовать запустить под 2.5 А чем это поможет? Такое ощущение, что внутренние вызовы хранимок едят память. Смотри в сторону временных блобов. Хотя вроде фиксили, так что не уверен. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Переход 2.1 - 2.5
Привет! Но только не в этом случае. А зачем тогда вообще обновлять? работает - не трогай. Если очень хочется - тогда можно и автобэкапилку-ресторилку к инсталлятору прикрутить. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: FB 2.5 и C#
Привет! Он не Жири. Он Йиржи. Jiri Cincura. Юра, по-нашему. Какая разница, всё равно румын (с) :))) Нифига он не румын - в румынском алфавите буковок таких нету. И имя восе не румынское :P) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Ну шо, дождались?
Привет! З.Ы. Влад, а что, ту бяку с live-lock-ом решили так и оставить? Или мы про неё никому не скажем? Мы про неё думаем усиленно. В принципе, можно и в трекер её - потом всё равно придётся :) Занести мне или ты сам занесёшь? -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Анонсы докладов 3-й конференции по Firebird
Привет! Начал за здравие, кончил за упокой. Асинхронность ввода вывода как раз позволяет уменьшить количество потоков и избавится от кошмарной синхронизации. Было: первый поток работает с железом, второй работает в БД. Стало: один поток работает и с железом и с БД. rtfm event-driven programing Это у тебя всё в диск упирается, а у меня куча логики в БД - соответственно, мне асинхронность нафиг не нужна :) Минус в том, что в таком подходе усложняется код из за необходимости мыслить в терминах теории конечных автоматов и сложности с декомпозицией. Вот и я о том же. Асинхронность хороша, когда у тебя нет кучи ядер. А без многопоточности в эпоху мультиядерности оно нафиг никому не впилось. Это ты суперсервер так ловко подколол ? :) Я супер в его нынешнем виде не использую, бо воне не распараллеливаеццо. А вот правильный супер - очень даже буду. :) З.Ы. Если кому-то интересно моё мнение - то я считаю, что в крайнем случае можно реализовать HTTP-обёртку рядом со своим собственным демоном и делать всё, что душе заблагорассудится. Но если очень сильно припечёт - то можно и свой libfbclient написать. С блэкджеком и далее по тексту. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Анонсы докладов 3-й конференции по Firebird
Привет! Народ тупо не понимает что это такое. В оракле кстати есть асинхронность в API. Паззаны, скузе муа, что вмешиваюсь в вашу дуэль на канделябрах, но позвольте высказать своё мнение, сугубо как программера. Довелось мне работать с асинхронным API в бытность программинга IVR приложений для телекоммуникаций (для плат Dialogic, которых Интел купил в своё время). Так вот. Асинхронность, скажу я вам, штука зело вкусная, ежели её применять правильно. Особенно, когда у тебя работа с девайсом, у которого на борту 4 войсовых процессора и 30 войсовых каналов, которые ты в цикле опрашиваешь и вся работа с которыми - это работа с событиями на этих каналах. Но - как же без этого - есть у неё одна бааальшая ж%па при работе в многопоточной среде - в виде кошмара синхронизации тредов, запутанности и непонятности для простого человеческого процесса мышления. А без многопоточности в эпоху мультиядерности оно нафиг никому не впилось. Вот так вот, мои 0.02MDL как любят выражаться некоторые в кузнице :) -- Best regards, Sergeymailto:gebele...@gmail.com
Ну шо, дождались?
Привет! Поздравляю всех причастных! З.Ы. Влад, а что, ту бяку с live-lock-ом решили так и оставить? Или мы про неё никому не скажем? -- Best regards, Sergey mailto:gebele...@gmail.com
Re[2]: when any do - он что откатывает
Привет! Если нет WHEN, то отменены будут все. Иначе только сбойный. Тут все большие, так что Дим, ты уточняй, что сохранены они будут если не делать явной отмены транзакции, а просто подтверждать её. Но если анализировать ошибку снаружи вызова и делать откат - то волосы будут мягкими и шелковистыми. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: OFF VS 2008 standart
Привет! Нашел на Амазон Visual Studio 2008 Professional Edition and Standard Edition differ as follows: Ставится оно на экспресс, там что-то надо было поменять в конфиге и всё вставало. Не помню сейчас, давно это было. И даже вроде это была 2005 студия, а не 2008. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: FB 3
Привет! Комбинаторика подсказывает, что комбинаций A..Z 0..9 в 31 символе должно быть достаточно для этой вселенной. Знакомый в банке работает, там они каждый день разбираются что значит колонка agovk4xlcv4 в таблице dopo4lvc59bd9. Он так доволен такой работой, аж светится от радости. Особенно когда начальство просит быстренько сделать выборку по данным. Ну если взять за правило писать комментарии к полям - то проблем не возникает. :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[4]: FB 3
Привет! Комбинаторика подсказывает, что комбинаций A..Z 0..9 в 31 символе должно быть достаточно для этой вселенной. Знакомый в банке работает, там они каждый день разбираются что значит колонка agovk4xlcv4 в таблице dopo4lvc59bd9. Он так доволен такой работой, аж светится от радости. Особенно когда начальство просит быстренько сделать выборку по данным. Ну если взять за правило писать комментарии к полям - то проблем не возникает. я хотел оставить комментарии, но к сожалению размеры полей не позволили поместить их Если бы у Ферма был бы Птиц - то он бы не отмазался, 2 гига комментариев - очень трудно осилить было бы даже автору Войны и мира. ;-) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: FB 3
Привет! или предпринять ход конем. смогла же микрософт внедрить длинные имена файлов так, чтобы старые приложения наименее от этого пострадали. Я не представляю, как это можно сделать с текущим API - старые приложения не смогут различать Aaa...32..BB и Aaa...32..СС . Тут надо или смириться с тем, что ломается обратная совместимость или оставить всё, как есть. мне 32 символа хватает :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[4]: FB 3
Привет! Тут уже привели пример - Майкрософт. Т.е. старые приложения будут видеть AAA...3~1 и AAA...3~2 Нифига. Оно же всё _компиллиццо_ ! :) Лучше пусть SMP доделают и оптимизатор, 30 символов вполне себе хватает, Ларри с нами согласен :) Или вообще hash (long name) Ага. И огрести по самое нехочу на 2-х именах, у которых отличается одна-две буквы? Плавали, кололись, знаем. ...только им зачем ? Вот и я о том же. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Подключение к другому серверу
Привет! ясно, что небезопасно. зато существенно облегчает задачу подключения к базе в офисе из дому, например. не надо роуты прописывать или VPN настраивать. А голой задницей Птица в инет выставлять - некошерно! -- Best regards, Sergeymailto:gebele...@gmail.com
Re: Linux: Размер собранного FB2.5.0RC 3 удивил
Привет! Прикручивая FB 2.5.0 к FBDataGuard'у был приятно удивлен, что размер директория с птахом 2.5.0 RC3, который я собирал под линухом из исходов, составляет 499Мб! Ну тут кто-то плакался, что несурьёзно-с, вот у старших (вернее - младших) братиков типа Оракла всё большое, а у нас оно маленькое. Стыдно-с. Вот и прикупили увеличитель кода. Совсем дёшево. :) Эти файлы есть наследие релиз-кандидата или имеет место быть какой-то недочет в скрипте конфигурации, или я забыл опции какие при конфигурации поставить, или вовсе это все нормально и теперь так много всего и все такое большое? 1) По умолчанию все бинарники сразу после компиляции содержат отладочную информацию. Сдеай strip бинарнику и будешь приятно удивлён. Сам инсталлятор, когда готовит .tgz дистрибутив удаляет эту инфу - почему этого не делается при make - не знаю, я при сборке сразу после make делаю make dist - тут оно всё и урезается. 2) *_static как следует из названия являются ко всему прочему ещё и самодостаточными - все необходимые либы там находятся в самом бинарнике. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Linux: Размер собранного FB2.5. 0RC3 удивил
Привет! Попробовал и make dist, но почему-то получил... $make dist make: *** Нет правила для сборки цели `dist'. Останов. Вот как оно у меня собирается постоянно (скрипт древний, переделывать лень - работает и пусть себе работает, разумеется доступ к сорцам надо поменять на тот, который тебе нужен): s...@vortex:~$ cat /root/bin/build_fb_21.sh #!/bin/bash set -x export CVS_RSH=ssh STORAGE_ROOT=/root/ FBSRC_ROOT=/root/firebird2/ FBDIST_ROOT=/var/www/vhosts/dqteam.com/www/fb2/ WEB_PATH=/var/www/vhosts/dqteam.com/www/fb2/ #this function will send mail to administrator sendMail2Admin() { ( echo To: u...@hostname.com echo From: serj echo Subject: Error during FB2.1 build echo echo Please check logs - there are some errors during build. echo ) 21 | /usr/lib/sendmail -t } # getting sources for beta cd $STORAGE_ROOT cvs -z9 -d:ext:chang...@firebird.cvs.sourceforge.net:/cvsroot/firebird co -rB2_1_Release firebird2 resCode=$? #checking for error if [ $resCode -ne 0 ] then echo [GETTING CVS PROBLEM at: `date` ] sendMail2Admin exit fi #getting fresh copies of files cd $FBSRC_ROOT cvs -z9 update -C resCode=$? #checking for error if [ $resCode -ne 0 ] then echo [GETTING CVS -C PROBLEM at: `date` ] sendMail2Admin exit fi #building SS cd $FBSRC_ROOT ./autogen.sh --enable-superserver --prefix=/opt/fb21ss resCode=$? #checking for error if [ $resCode -ne 0 ] then echo [SS AUTOGEN PROBLEM at: `date` ] sendMail2Admin exit fi make resCode=$? #checking for error if [ $resCode -ne 0 ] then echo [SS MAKE PROBLEM at: `date` ] sendMail2Admin exit fi make dist resCode=$? #checking for error if [ $resCode -ne 0 ] then echo [SS MAKE DIST PROBLEM at: `date` ] sendMail2Admin exit fi cd gen #read -p Press any key to start scp CDIR=`pwd` mv $CDIR/*.amd64.tar.gz $FBDIST_ROOT mv $CDIR/*.amd64.rpm $FBDIST_ROOT rm -rf FirebirdSS* pwd echo $FBDIST_ROOT #exit cd .. make clean # making classic ./autogen.sh --prefix=/opt/fb21cs resCode=$? #checking for error if [ $resCode -ne 0 ] then echo [CS AUTOGEN PROBLEM at: `date` ] sendMail2Admin exit fi make resCode=$? #checking for error if [ $resCode -ne 0 ] then echo [CS MAKE PROBLEM at: `date` ] sendMail2Admin exit fi make dist resCode=$? #checking for error if [ $resCode -ne 0 ] then echo [CS MAKE DIST PROBLEM at: `date` ] sendMail2Admin exit fi cd gen mv $CDIR/*.amd64.tar.gz $FBDIST_ROOT mv $CDIR/*.amd64.rpm $FBDIST_ROOT rm -rf FirebirdCS* cd .. make clean # making classic #cleanup semaphores #for i in `ipcs -s|grep serj|grep 0x|awk '{print $2;}'`; do ipcrm -s $i; done #copy ChangeLog cd $FBSRC_ROOT cp ChangeLog ${FBDIST_ROOT}Changelog_21x.txt Для сборки под дебианы у Мариуса Попы есть в блоге инструкции. Но я ручками предпочитаю ставить, бо у меня зоопарк версий :) 2) *_static как следует из названия являются ко всему прочему ещё и самодостаточными - все необходимые либы там находятся в самом бинарнике. Угу, понятно. А зачем же они все-таки нужны?.. Чтобы в случае аварии на диске не заботиться о наличии библиотек где-то там не тут?.. А вот это уже Птицеводы появятся - ответят. Но раз звёзды зажигаются - значит кому-то это всё-таки нужно :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Linux: Размер собранного FB2.5. 0RC3 удивил
Привет! Почитав gen\Makefile - описанную там технологию сборки - я понял, для чего они нужны А, ну и для этого тоже - вернее, для этого в первую очередь. Борланд Паскаль компилился самим собой вроде. Тут тоже самое :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Ошибка при добавлении CHECK в таблицу
Привет! У тебя в системных таблицах какой-то ужас. Два разных чека на разных А подобные ужастики валидация всегда находит или-таки бывают случаи, когда пока не наступишь - не обнаружится? -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Переполнение триггера?
Привет! 78292294 стали вдруг 0. Номера генерятся триггером: ... Как исправить? Не присваивать 0 в insert'е Злой ты. А можно ещё и поменять триггер, который бы 0 приравнивал к NULL-у :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re: Функция hash
Привет! Подскажите, пожалуйста, какой алгоритм использует встроенная функция hash()? Очень плохой. Что-то типа crc64 (или 48?) - у меня была ситуация, когда сгенерированные _разные_ имена файлов имели одинаковый хеш. Настоящие джедаи используют md5 или sha1 :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re: Настройка сервера
Привет! Настраиваем сервер win2008. вопрос встал такой: За вынь не скажу, но уверен на 100%, что Для временных файлов что лучше использовать? оперативку :) Быстро, дёшево и сердито. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Настройка сервера
Привет! Для временных файлов что лучше использовать? оперативку :) Быстро, дёшево и сердито. А размер какой лучше? В отличае от других мифов - тут размер имеет значение ;-) Чем больше - тем лучше. Вроде в винде можно сделать RAM-диск - тут кто-то рассказывал про использование решения от Gigabyte (вроде) - платы, которая содержит 2-4 гига планок памяти и выдаёт себя за винт. В линухах проще - можно на выбор или хапнуть половину памяти под виртуальный диск или хапнуть нужное количество памяти и отформатировать в любую ФС. Кстати, забавное наблюдение - пока файл БД влезает в кэш ОС - особой разницы нет, находится БД на винте или на диске в памяти - скорость работы примерно одинаковая, но я не замерял на большом количестве соединений - наверняка разница где-нить проявится. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Windows7 Ultimate 64 and Firebird 2.5 64
Привет! я не помню, как выглядит инсталлятор ФБ, а прямо сейчас запустить его не могу. Там нет возможности установить только клиента? Есть, только сегодня 2.1 ставил в варианте только клиента. Всё работает :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Windows7 Ultimate 64 and Firebird 2.5 64
Привет! Вот это я пока могу предположить с трудом. то есть нельзя с 64 битного клиента подключится к 32 битному серверу? Можно. 64-битный gbak нормально по сетке лезет к 32-битному серверу и тянет с него бэкап. Я даже никогда такой проблемой не озадачивался - бо оно всегда работало (за исключением некоторых багов, кои были выявлены и должены куда следует и расстреляны ещё на заре цивилизации). -- Best regards, Sergeymailto:gebele...@gmail.com
Re: replace символ с 160 кодом симво лом с кодом 32
Привет! Как запросом получить строку в которой 160 код символа был заменен на 32? (вкрадчиво так) А ты уверен, что в коннекте твоего подключения к базе допускаются символы с таким кодом? -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Про одновременную работу FB 1.5 CS+FB 2.5 CS на Linux
Привет! Выложенный на firebirdsql.org скомпиллированный 2.5.0.RC3 для линуха завести вручную по предложенному мной плану не смог. install.sh запускать побоялся. Хоть и пять раз посмотрел в то, что он делает, все равно не решился. Дело, видимо, в том, что --prefix уже вбит при сборке один, а я птица в другой каталог засовывал. И msg-файл потому не находился. А для кого тут я писал, что если нужна сборка с другими путями - можно попросить тут? Правильно ДК и ДЕ и ВХ говорят - никто доку не читает :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Помогите настроить связку PHP5 и Firebird
Привет! Может недостаточно только переименовать fbclient.dll и положить в PHP директорию и подключить extension=php_interbase.dll предварительно указав PHP директорию extension_dir. Как я помню - простое переименование не всегда работает. Операционка Vista. Куча программ написанных на Builder C++ c использованием FibPlus работают, а вот, что нужно PHP 5.2.13 не понимаю. Посмотри dependency walker-ом, что подгружает php_interbase.dll. В висте ещё есть особенность, что разные пользователи могут видеть разные версии файлов, которые лежат не у пользователя в директории - админ видит одну версию, а пользователь - другую. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Не могу подключится к базе под linux
Привет! Error while trying to write to file Operation not supported Стандартные файловые утилиты (cp, nano, mc) никаких проблем там не имеют. Так что ошибка таки не самая внятная. Просто они, скорее всего, не используют тех же функций при работе с файлами - или опции этих функций другие - могу ошибаться, но Птиц не использует write с опциями по умолчанию. А драйвер NTFS этих наворотов попросту не реализует. Вот и всё и Птиц тут не причём. Нефиг юзать неродные ФС в системе :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re: Помогите настроить связку PHP5 и Firebird
Привет! Помогите настроить связку PHP5 и Firebird Тут тебе может виндузятники подскажут - в Линухе оно работает из коробки вообще без телодвижений лишних. 4. И неужели сервер FB должен на том же компе что и сервер Apache, как указано в тех рекомендациях по настройке которые нашел я. Бред. Сервер БД может быть где угодно. Правила безопасности - такие же, как и для всех остальных служб - не доверять лезть корявыми лапками в порт сервера кому попало. Сам я под вынь такую связку никогда не настраивал, но по логике, в пыхе (php.ini) надо указать, что ты используешь данное расширение (либу). А самой либе, разумеется требуется установленный птицевый клиент. При установке клиента можешь попросить установщик сгенерить тебе legaсy либу - он её положит, куда надо. -- Best regards, Sergeymailto:gebele...@gmail.com
Re: Помогите настроить связку PHP5 и Firebird
Привет! Fatal error: Call to undefined function ibase_connect() in D:\Site\kovsoft\www\index.php on line 3 Вот старшие товарищи подкинули ссылку: http://www.denwer.ru/packages/firebird.html -- Best regards, Sergeymailto:gebele...@gmail.com
Re: Firebird Web
Привет! Диоген вылез из бочки, зажег фонарь, и Ищем компанию, имеющую web-решение на Firebird, любое. Официальный сайт Республики Молдова: http://www.moldova.md/ Официальный сайт Министерства Юстиции РМ: http://justice.gov.md/ Официальный сайт Правительства РМ: http://www.gov.md/ и куча других использует FB. Только им хостинг не нужен, но ссылки можешь повесить :) Незаинтересованные лица могут сообщить на тот же адрес, почему им это НЕ надо (в т.ч. про отрицательный опыт). Из отрицательного опыта - только админы, которые умеют делать только рагу из дельфинов и поэтому не желают пробовать Птичку. Решается расстрелом с последующим закатыванием в асфальт :) -- Best regards, Sergeymailto:gebele...@gmail.com -- Subscription settings: http://groups.google.com/group/ru-firebird/subscribe?hl=ru
Re[2]: Firebird Web
Привет! это хорошо, спасибо, запишем. Но в конкретном предложении наш интерес - именно виртуалка, и показать нагрузочную способность. Почему я и упомянул помощь в оптимизации и раскрутке с нашей стороны. А, понятно. Если потребуется помощь по XEN-у - свистите, у меня есть пара проектов под ним - несколько даже довольно-таки злобных (на том же сайте местной фабрики звёзд - куча ползателей чего-то качают). Помогу советами :) На практике, большой разницы нет - виртуалка или нативное железо - у меня терялось около 5% на дисковых операциях и около 3% на процах. З.Ы. Суперклассик для веба как-то у меня пока не приживается - на продакшене вопит раз в неделю, что нет памяти и валится, а на тестовом - не воспроизводится. Мы с Алексом так и не разобрались, но возможно это просто билд старый был. -- Best regards, Sergeymailto:gebele...@gmail.com -- Subscription settings: http://groups.google.com/group/ru-firebird/subscribe?hl=ru
Re[2]: Подвисает птица :((
Превед! Из-за этого щас периодически огребаем проблем на сборочном сервере из-за антивируса, но терпим :( Хех, неиссякаема любовь мышей к кактусам... -- Best regards, Sergeymailto:gebele...@gmail.com -- To unsubscribe, reply using remove me as the subject.
Re[2]: FB 2.5 и C#
Привет! Я использую. Вернее играюсь с EntityFramework 4. Всё там работает абсолютно так же, как и с 2.1 Не работает-с, бага тама. Jiri подтвердил - только он её поймать не может. -- Best regards, Sergeymailto:gebele...@gmail.com To unsubscribe from this group, send email to ru-firebird+unsubscribegooglegroups.com or reply to this email with the words REMOVE ME as the subject.
Re[2]: FB 2.5 и C#
Привет! Может быть при определённой строке подключения. А так у меня ж работает то... Ну покажи свою строку :) У нас так: FbConnectionStringBuilder fbcsb = new FbConnectionStringBuilder(); fbcsb.DataSource = 192.168.2.221; fbcsb.Port = 3055; fbcsb.Database = ccalogger; fbcsb.Charset = UTF8; fbcsb.Dialect = 3; fbcsb.UserID = DQDEV; fbcsb.Password = dqdev; fbcsb.ServerType = FbServerType.Default; fbConnection = new FbConnection(fbcsb.ConnectionString); fbConnection.Open(); -- Best regards, Sergeymailto:gebele...@gmail.com To unsubscribe from this group, send email to ru-firebird+unsubscribegooglegroups.com or reply to this email with the words REMOVE ME as the subject.
FB 2.5 и C#
Привет! Народ, а никто не использует шарповский .NET для работы с версией 2.5? Чего-то оно не хочет цепляться к 2.5, хотя к 2.1 подключается нормально. Киньтесь в меня примером, плиз. -- Best regards, Sergey mailto:gebele...@gmail.com
Re: RAID
Привет! Собираемся менять RAID на птице-сервере, ибо старый похоже дохнет. Кто с какими моделями (из последних) работал? Интересуют положительные и отрицательные впечатления. RAID-ы разные бывают. Тебю зеркало или 5-й? Я долго выбирал себе контроллер только для зеркала - в результате остановился на ADAPTEC-е 2405. Единственное неудобство - тулзы для дебианов приходится из rpm-ок конвертить и жабу они используют. Но если особо извращаться не надо - то мне и коммандлайновских хватает посмотреть статус, там даже жаба не требуется. А в остальном (тьфу*3) - всё тип-топ. -- Best regards, Sergeymailto:gebele...@gmail.com
Re: Изменение имени сервера во время работы FB
Привет! Сервер OpenSuse Linux + FB 2.1 CS Во время работы пользователей c базой FB, через Webmin поменяли имя сервера (пользователи подключались по IP сервера) Пока всех выгнали из программы, для перезагрузки сервера, успели словить такую проблему - значения выдаваемые генераторами оказались не уникальными (в firebird.log ошибки семафоров). Не глюк ни разу, IMHO. Система локи и евенты (общую память) отображает в память по имени файла, которое строится на основании имени хоста. Я видел очень мало сервисов, которые адекватно переживают смену hostname. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Бить ногами? :)
Привет! то что в блоге - половина по делу, особенно про документацию. Надо уже что-то с этим делать. А остальное - фигня. Угу. Мне жутко стыдно - я как только решил выделить студента под написание доки - он тут же сбежал учиться в Германию. А потом ещё этот долбанный кризис прошлым летом. Пол Винкенок говорил, что дока по постгри у него вызывает приступы бешенной зависти. Я её посмотрел и вынужден согласиться. С другой стороны - есть тормоз в виде копирайтов на оригинальную доку и с этим приходится мириться. Как выйти из этой ситуации - я не представляю. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[5]: Aeou iiaaie? :)
Привет! SM Написать пульные компоненты для пыха - не сложно, было бы желание. Кул... Еще лучше - написать свой интерпретатор, который будет оптимально работать со всеми СУБД сразу. И свою СУБД впридачу. И все это сделать под свою ОСь, которая стоит на самопальном железе. Но я не фанат экстрима. Тут не в экстремизме дело. На практике, почти всё поколение пыховцев выросло из ваятелей сайтов на коленке. Где дикая смесь гипертекста, скрипта и прочего - нормальное дело. Отсюда и проблемы с правильной организацией - у них дичайший груз, который надо тащить в наследство, хотя в 5.3 и 6.0 уже сделаны шаги по избавлению от него. Когда некоторые товарищи по долгу службы анализировали наш код, первым вопросом у них было а где тут PHP? - для них вдиковинку было практически полное разделение именно кода логики и кода рисовалки (шаблонов). ADODB умеет работать со всеми базами сразу. Но толку от этого - мало, для серьёзных задач но местами нуждается в хороших танцах с бубном. Подождите месяц-другой - мы как только документируем свои нативные классы для работы с пыхом - отдадим их народу на помучать. Без-воз-мез-дно, то есть - даром. :) SM Судя по всему вы пытаестесь решить задачу высоконагруженных сайтов не SM тем путём, бо использование для этого _ЛЮБОЙ_ БД - архитектурно неправильный SM путь. Возможно. Фишка в том что изначально он не был таким высоконагруженным. Мне шаман уже предлагал варианты создания собственного хранилища данных, но я его не поддержал. Хотя бы потому, что с кодингом под линух слабо знаком. Самое лучшее хранилище - это уже готовая отрендеренная страница. Мы делали (и делаем) сайт местного новостного агенства - в сумме, у них около 5М хитов в месяц, около 22к уникальных ползателей в сутки. Нагрузка сисиемы - ~20%. FB 2.1. Но напрямую к ней запросы не делаются - она обслуживает только админку (кстати - транзакционный механизм нам очень сильно облегчил дело, мускуль бы тут не подошёл). Могу рассказать подробности, если интересно. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[7]: Aeou iiaaie? :)
Привет! Угу. Статичная. Не наш случай - у нас социалка. Есть нескольно архитектурных обзоров того же фейбука и линкедина. Графы связей у них в оперативке. И много чего приходится делать не так, как обычно и мириться с потерей некоторых данных в случае чего. Если с этим согласиться - то можно сициалку делать хоть на плоских файлах ;) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Бить ногами? :)
Привет! да я уже сказал как - тупо взять доку по IB 6, и поменять ее там и здесь. То есть ПЕРЕДРАТЬ. А зарубежные граждане пусть подумают, за что в таком случае и кого могут засудить. Ай-яй-яй :) А нынешние владельцы не дадут индульгенции, если у них вежливо попросить? Структурно все равно иначе ну никак не получится. Достаточно сравнить доку по 6.0 и нынешние language update по ФБ. На вид все это одинаково. Угу. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[3]: Aeou iiaaie? :)
Превед! Я тоже похоливарю, можно? Что касае6тся тюнинга - на боевом серваке часть табличек у мускуля в мемори (там отдельный тип для этого есть), одна из-за методики использования в InnoDB. Путем долгого шаманства удалось добиться: А слабо всю базу в оперативку запихнуть? А потом сравнивать? Не пробовал. Он дорогущий, никто его не оплатит. Да и в целом... Я 2.5 года работал чистым разработчиком PL/SQL. ИМХО - Оракл не для вэбсайтов. Маркетинг Оракла с тобой не согласен Ж) Доступ (поскольку эмулируем работу сервака) - из РНР-скриптов. Пул коннектов не используем, в связи с позицией админа. Хотя для мускула тестили - почти без разницы, но иногда остаются открытые (и, соответственно, заблокированные для других потоков) соединения. Написать пульные компоненты для пыха - не сложно, было бы желание. НО. Судя по всему вы пытаестесь решить задачу высоконагруженных сайтов не тем путём, бо использование для этого _ЛЮБОЙ_ БД - архитектурно неправильный путь. -- Best regards, Sergeymailto:gebele...@gmail.com
Re: Проблема с получением уникального номера документа
Привет! освобождает слишком много негативной энергии. Можно ли как воспользоваться SAVEPOINT, или еще каким ни будь механизмом что бы подбирать пропущенные номера документов? Низзя. Можно номер документа (видимый ползателю) делать в виде временной метки, типа 20100302164056123456 (тысячные и/или миллионные доли секунды на твоё усмотрение), а внутри (для системы) держать номер, который ты получил от генератора. А зоказчегу объяснить, чем может грозить получение бездырочной нумеротации - взять с него расписку, что он ознакомился с последствиями и претензий не будет иметь. Как правило, это решает вопрос. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Проблема с получением уникального номера докуме нта
Привет! А зоказчегу объяснить, чем может грозить получение бездырочной нумеротации - взять с него расписку, что он ознакомился с последствиями и претензий не будет иметь. Как правило, это решает вопрос. А чем оно грозит? Обломом (если есть PK/Uniq) при вставке получившегося дубликата. У нас с документами строгой отчётности налоговая пошла дальше - накладные имеют сразу отпечатанные номера. В память фараона Ибонеха :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Проблема с получением уникального номера докуме нта
Привет! А чем оно грозит? Обломом (если есть PK/Uniq) при вставке получившегося дубликата. А откуда там дубликаты? Как откуда? Т1 старт находим дырку Т2 старт Находим дырку Т1 коммит Т2 - коммит с обломом. Ы? У нас с документами строгой отчётности налоговая пошла дальше - накладные имеют сразу отпечатанные номера. В память фараона Ибонеха :) У нас то же самое. И ведь никто с налоговой не спорит по этому поводу, правда? ;-) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Разница между таблицами и ГИГАНТСКИМИ таблицами
Привет! Я уже говорил, что видел базы в 200мб, у которых TIP занимал 160 мегабайт. Разумеется, если там все застряло, то проверка такого TIP при первом монопольном подключении займет некоторое время. После чего уже и после перезагрузки компа коннект будет мгновенным. Я тестил один вариант работы с базой, где много-много обновлений одного и того же поля (симулировал изменение координат объекта). За сутки база из 1000 записей разрасталась до 80М - при анализе (не помню, с кем именно обсуждал - кажется, с Димой Емановым) оказалось, что почти всё место занимает именно TIP. Было это в период беты двойки (которая 2.0). Тогда тоже коннект заниал какое-то время, но работа с самой базой была шустрой (она на RAM-диске жила). Надо бы сейчас потестить. З.Ы. Дим, я тут Владу сказал - у меня есть возможность помучать ~7TB массив (телевизионщики про него забыли) - если есть идеи - свисти :) -- Best regards, Sergeymailto:gebele...@gmail.com
Справочники, FK и танцы с ними
Привет! У меня вопрос. Только смеяться после того, как ответите по теме. Есть ОченьТолстыйСправочник (таблица). И есть куча других таблиц, которые на этот самый справочник ссылаются. И хочет заказчик видеть, есть ли ссылки на эту конкретную запись или нет. В данный текущий момент. Тупо пытаться грохнуть запись и потом откатывать транзакцию мне не нравится. Можно ли каким-нибудь запросом из системных таблиц проверить, есть ли ссылки на данную запись или нет? -- Best regards, Sergey mailto:gebele...@gmail.com
Re[2]: (куча кракозябров)
Бревед! Юрий, вы специально маску тролля надели? Вас же быстро в игнор запишут По идее, для параметров командной строки есть некий стандарт, который реализует getopt. gbak(и прочие fb утилиты) на это дело кладут болтъ. В результате стандартный юникс-вейный подход к ним дает сбой, после чего сисадмин приобретает к этому делу стойкую нелюбовь. Да, gbak старр, как кал мамонта. И действительно он ложит на все правила, которые, кстати, нифига не правила. Просто потому, что он старше. И, судя, по всему, его функционал всех удовлетворяет. Это опенсурс - не нравится - пишем сами, в чём вопрос? вот, Николаю Самофатову (ну или его клиенту, не суть важно) захотелось свой бэкап со своими рюшечками и мигалками - взял и сделал, вместо того, чтобы ныть по поводу некошерности функционала. А самому слабо? :P) Ну, а бинарный формат файлов и отсутствие функций частичного бэкапа/ восстановления (по моему мнению, однозначно полезных) - это уже из другой категории проблем. Да-до-до. Найдите знакомого ораклиста. Предложите ему поднять бэкап, где пара-тройка страниц похерено произвольным образом. Гигов эдак на 30-40. Расскажите нам тут все новые матерные выражения, которые от него услышите. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Вопрос по сравнению производительности LINUX an d WINDOW
Привет! не в рекомендациях дело. Хотя, на деле выходит именно так. Берем один комп, ставим винду и линукс, и опа, оказывается что линукс надо как-то крутить, и вообще че-то не алле, но ты наш линукс не трожь своими виндузятными руками, потому что он хороший, и т.д. Дим, дело в том, что винда - она одна. А Linux - это скорее собирательное название систем. И именно поэтому все производители железа делают список *нихов, где их железо протестировано и не выпендривается - бо ядро-ядру рознь и никто не гарантирует наличия нужного модуля в произвольном дистрибутиве. У меня Debian Lenny из коробки на супермикровском сервере нормально завёлся и подхватил адаптековский адаптер. Тестировать буду на следующей неделе, как в серверную отнесём, бо шумный он очень. Вот ей-богу, не хочу склонять Ивана, но на скруле он повел себя почему-то именно таким образом. Это не я, честно-честно. Общие впечатления складываются именно такие, уж извините те, у кого свой линукс работает замечательно и без проблем. Извиняю :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[6]: Вопрос по сравнению производительности LINUX an d WINDOW
Привет! Зачем? Пользователи базы != пользователям в системе, разве что у вас DC и требуются прелести Trusted Auth. Винда с базовым пакетом лицензий может обслуживать хоть 1000 ползателей Птица. Вот это очень полезная инфа. Я правда не искал пока условий лицензирования. Посмотри ещё вариант веб-лицензии - я не в курсе, но есть что-то такое у микрософта, когда сервер используется только для веб-приложений. Если у тебя тот случай - то там ещё дешевле получается. Ты мне сразу кучу времени сэкономил. Форумы и существуют для обмена опытом ;-) Будешь в Николаеве заходи на водоканал. Пиво с меня. Буду иметь ввиду :) Да вот интересно откуда эти специалисты набрались то. Оттуда же, откуда и все люди. Но опыта набраться можно только что-то делая - хотя иногда, когда проект надо сдавать вчера - времени набраться опыта попросту нет. Если тут не тот случай и есть в запасе несколько месяцев - то в интернете всего навалом. Даже пошаговое описание самосборного ядра - можно выиграть 3-5% производительности. Че бы и мне не стать специалистом. Правильный подход. Ну ядро то свежее. Я после установки новейшего опенСУСЕ 11.2 еще и заапдейтился. Ну лично мне суся не понравилась в своё время. Но на практике - особой разницы нет, только к менеджерам пакетов привыкнуть надо. Он все диски спокойно увидел и обычные и РЕЙДОВСКИЙ. Увидело как - как /dev/sd* или как-то по-другому? Увидело именно контроллер, как диск или именно диск(и), который(е) подключен(ы) к контроллеру? Если оно увидело их как /dev/mapper/* - то обманули тебя, контроллер полу-хардварный и для него-таки нужен драйвер, которого нет в ядре по умолчанию. Обычно, аппаратные контроллеры видятся как диски, но сами диски _за_ контроллером увидеть можно только при помощи специального драйвера - так называемого generic SCSI - оно в /dev/sg/* лежит и доступно для работы с тулзами по мониторингу дисков, но - только на чтение, обычно. Но вот скорость ресторе дало разную. Я кстати счас отключил диски с рейд и провожу тест на одном диске. Хочу максимально уменьшить количество побочных факторов. Просто dd /dev/zero файла размером больше кэша контроллера / оперативки на винт - какую скорость показывает? -- Best regards, Sergeymailto:gebele...@gmail.com
Re: Вопрос по сравнению производительности LINUX and W INDOW
Привет! Вопрос по сравнению производительности LINUX and WINDOW На новом сервере решил протестировать РЕСТОРЕ своей 11 гигабатной базы (откладывая холиварный тапочек) Я тебе _ОЧЕНЬ_ рекомендую использовать то, что знаешь. Знаешь винду - используй её и будешь спать спокойно. Ну получишь ты тут кучу рекомендаций, и что? Кто из форумчан прибежит к тебе среди ночи поднимать сервер если что-нибудь случится? З.Ы. Я добрый, но про MegaRaid слышал много-много мата. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Вопрос по сравнению производительности LINUX an d WINDOW
Привет! Данн?е в базе дороже стоят. У мелкомягких есть довольно-таки приемлемое решение, если процессоров в сервере не сильно много. Мы себе w2k3 SB брали в OEM-варианте примерно за 1к долларов. Ваша база стоит дешевле? З.Ы. Я добрый, но про MegaRaid слышал много-много мата. Черт его знает. Поставщик похвалил. Я хотел интелевский. Так как плата интелевская. Это из разряда мифов о Delphi и Interbase :) Но в интеле были только со скоростью обмена 3 гига. А этот 6 гигов. Его и SEAGATE рекомендует для CHEETAH Один мой знакомый админ начинает шарить в поисках тяжёлого предмета, когда слышит от собеседника слово Сигейт. Ему в прошлом году пришлось перепрошивать 100 терабайтных винтов этой компании. Приятного мало. З.Ы. У нас все проекты на Linux-е. Просто потому, что мы его варить умеем и при необходимости можем собрать нужные пакеты. Не было бы специалистов - пользовались бы вендой. Самый короткий путь - тот, который ты знаешь. -- Best regards, Sergeymailto:gebele...@gmail.com
про trace - resend
Всем привет! (Пардон за предыдущее письмо - случайно нажал F2) Хочу совета у коллективного разума - особенно у тех, кто использует фичу fbtrace в 2.5. Сразу оговорюсь, что потери производительности меня в настоящий момент не интересуют вообще - мне просто надо понять, что бы такое подкрутить в большой и толстой системе - т.е. найти самые долгоиграющие места, которые на реальных данных появляются на, казалось бы, ровном месте. Насколько я понял документацию (FB 2.5 RN jn 22.07.2009), есть 2 варианта трассирования и аудита - системный и пользовательский. Системный мне и нужен, так как мне надо включить трассирование всего и вся, помучать систему, а потом разбираться, что там и как. Для этого я прописал значение соответствующей переменной в firebird.conf AuditTraceConfigFile = fbtrace.conf а в самом fbtrace.conf были модифицированы нужные переменные (комментарии я грохнул для читабельности): database enabled true log_filename e:\\fbtrace.log max_log_size 0 include_filter %(INSERT|UPDATE|DELETE|SELECT)% log_connections true connection_id 0 log_transactions true log_statement_prepare true log_statement_free false log_statement_start true log_statement_finish true log_procedure_start true log_procedure_finish true log_trigger_start true log_trigger_finish true print_plan true print_perf true log_blr_requests false print_blr false log_dyn_requests false print_dyn false time_threshold 0 max_sql_length 1024 max_blr_length 500 max_dyn_length 500 max_arg_length 80 max_arg_count 30 /database Ну и для конкретной базы (название базы любое, эта просто под руку подвернулась): database %[\\/]neuron.fdb enabled true log_filename e:\\neuron.log /database Так вот - нон ничего не трассирует. Насколько я понимаю, явно что-то запускать надо для пользовательской трассировки, так? З.Ы. Да, я задаюиногда глупые вопросы и этого не стесняюсь. З.Ы. Влад, лучше прояснить тут, глядишь - не только мне полезно будет ;-) -- Best regards, Sergey mailto:gebele...@gmail.com
Re: про trace - resend
Ыышо раз всем ку! Проблема оказалась в висте с её виртуальным хранилищем - конфиги для разных ползателей были разными, всё прекрасно работает. З.Ы. Гмана решила проверить, жив лия и потребовала валидировать письмо - вот оно и валялось в очереди. -- Best regards, Sergeymailto:gebele...@gmail.com
Re: UDF и UTF8
Привет! Перехожу на FB 2.5 и на UTF8 ... И шас немогу понять - там шас мне надо както по иному всё програмировать чтоб UDF возврошало стринги в UTF8 кодировке. UDF-и делаю на Delphi 2009. Мож гдето про ето написано ? Ну не знаю, что в Дельфи имеется ввиду под UTF-8, но с точки зрения сишного кода, ээто обычные массивы байт, только размер БУКВЫ там имеет переменное количество байт - от 4-й до 4-х (на самом деле, до 6-ти, но где-то в недрах птица (???) я видел комментарий, что больше 4-х не поддерживается). Могу примеры выложить, но честно предупреждаю - оно на С/С++ и использовать на свой страх и риск. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: UDF и UTF8
Привет! Нашёл примеры (freeadhocudf) - со стороны базы вроде всё тож самое, но сам dll на C написан, и от туда xрен разберусь как на дельфе правилно сделать :( Так как у меня все примеры на сях - не буду тебя сбивать с толку сишным кодом - мне облегчило дело то, что удалось вырезать часть кода прям из исходников Птица для работы (конвертации) со строками. Но тебе это вряд ли поможет. Главное - запомни, что: 1) Если база в UTF-8 - то все объявления, как обычно, но физически все строки в байтах в 4 раза длиннее. Нулевых байтов нет, они только в конце строки (если ты используешь CSTRING-объявления). 2) Со стороны клиента тоже нет никаких проблем, если помнить, что физически 1 буква - это 4 байта в памяти максимум, но лучше сразу конвертировать строки из UTF-8 во что-нибудь удобоваримое - типа wchar_t (или как оно там в дельфях) - так будет удобнее оперировать с буквами. 3) Птицевый SUBSTRING работает с БУКВАМИ (если все кодировки - базы и подключения - кошерные). 4) Блобы (как и строки) транслитерируются только если они текстовые. ВНИМАНИЕ: есть засада - не все буквы в UTF-8 могут быть преобразованы в кодировку подключения, отличную от UTF-8 - например, маленькая греческая буква микро НЕ транслитерируется при подключении в win-1251. Сервер матерится на это дело своим стандартным заклинанием Can not transliterate between character sets. Я давным-давно обсуждал эту бяку с Птицеводами, в результате (кажется Дима Еманов - поправьте, если вру), решили, что это не бага, а фича, ибо нельзя впихнуть невпихуемое. Точно нету у кого небудь какоито сампл на дельфе 2009 где UDF возврошает стринг в UTF8 кодировке ??? Плз :) Звиняйте, по-моему Дельфи умер - мелкомягкие тоже постарались всех на шарп перетащить. -- Best regards, Sergeymailto:gebele...@gmail.com
про trace
Всем привет! Хочу совета у коллективного разума - особенно у тех, кто использует фичу fbtrace в 2.5. Сразу оговорюсь, что потери производительности меня в настоящий момент не интересуют вообще - мне просто надо понять, что бы такое подкрутить в большой и толстой системе - т.е. найти самые долгоиграющие места, которые на реальных данных появляются на, казалось бы, ровном месте. Насколько я понял документацию (FB 2.5 RN jn 22.07.2009), есть 2 варианта трассирования и аудита - системный и пользовательский. Системный мне и нужен, так как мне надо включить трассирование всего и вся, помучать систему, а потом разбираться, что там и как. Для этого я прописал значение соответствующей переменной в firebird.conf AuditTraceConfigFile = fbtrace.conf а в самом fbtrace.conf были модифицированы нужные переменные (комментарии я грохнул для читабельности): database enabled true log_filename e:\\fbtrace.log max_log_size 0 include_filter %(INSERT|UPDATE|DELETE|SELECT)% log_connections true connection_id 0 log_transactions true log_statement_prepare true log_statement_free false log_statement_start true log_statement_finish true log_procedure_start true log_procedure_finish true log_trigger_start true log_trigger_finish true print_plan true print_perf true log_blr_requests false print_blr false log_dyn_requests false print_dyn false time_threshold 0 # Maximum length of SQL string logged # Beware when adjusting max_xxx parameters! Maximum length of log record # for one event should never exceed 64K. max_sql_length 1024 # Maximum length of blr request logged max_blr_length 500 # Maximum length of dyn request logged max_dyn_length 500 # Maximum length of individual string argument we log max_arg_length 80 # Maximum number of query arguments to put in log max_arg_count 30 /database -- Best regards, Sergey mailto:gebele...@gmail.com
Re[2]: про trace
Привет! Хочу совета у коллективного разума - особенно у тех, кто использует фичу fbtrace в 2.5. А где вопрос - то ? :) Чего-то гмыл проглючил и я второго письма не вижу. Вопрос был в том, как врубать-то системный трейс. PS После RC1 были исправления ошибок, бери свежий снапшот. Ты меня за кого держишь? ;-) -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Грабли с кэшем данных
Превед! --- Предлагаю крайним сделать сервер - пусть создает стабильные курсоры. EUSUS. Вот мои 0.02 MDL - это проблемы клиента. Если клиент такой умный - пусть делает вставку в отдельной транзакции с returning rdb$db_key - и тогда уже выполняет манипуляции со своим собственным кэшем, как ему вздумается. Я думаю, что ничего страшного в данном поведении нет - это скорее фича кэша эксперта, чем его бага - но лучше спросить у Хвастунова, он точно скажет. А сервер тут не причём :P) P/S С новым годом всех! -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Нетбук за бета-тестирование
Привет! тут мне подсказывают, что в нынешнем дистре DG Java уже есть. так что ничего дополнительно не надо. Обычно делают 2 варианта - с JRE и без. Как ОО, например. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: FB 2.5 RC1
Привет! если использовать FB как хранилище и только линейные запросы, то нет проблем. Если логика сложнее, то в 1.0 довольно тесно. Большенство бизнес логики и визуализация на клиенте. Поэтому различные фигурные приседания в sql запросах и процедурах не нужны. Не в обиду, но при использовании бизнес-логики на клиенте при наличии полноценного инструмента - это как использование микроскопа для забивания гвоздей. Согласен, что задача-задаче рознь, но в большинстве случаев, где я видел универсальные системы, работающие с Ораклом, Мускулем, Постгри и кучей остальных (иногда - и с Птицем) - использовали СУБД именно как хранилище данных без ХП/Триггеров. З.Ы. Да-да, вот такой я маньяк. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: ~Re: SuperClassic
Превед! Интересно насколько параллельно. Как я помню по FB1.0 банальный yacc выдавал нереентабельный парсер. Reentrant - если уж использовать кальку - то реентрабельный или - потокобезопасный. Ы? -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: FB Classic
Привет! подкрутить кэш в конфиге. для SS и CS очень разные значения. тут как раз не хватает правтических знаний. Если я правильно понял, то Classic будет использовать все камни. Да? Какие рекомендации по кешу? Для Супера я расчитываю так, чтобы влезало 80% базы туда, но мне памяти не жалко. Для Классика и Суперклассика - лучше всего, чтобы размер кэша был равен усреднённому размеру того, что требуется твоим запросам. Разумеется, всё зависит от случая к случаю и требует проверки на практике. -- Best regards, Sergeymailto:gebele...@gmail.com
Re: Подключение c Windows к IB4.0 на unix'e
Превед! База на IB4.0 на legacy unix system. ODS 8.0. Подключаются к ней под системным аккаунтом юникса (root) Насколько я помню - в 4-ке понятия супера не было как такогвого. посему оно запускается супердемоном. Могу врать, но некоторые старые супердемоны не умели запускать приложения от имени другого пользователя - сменить рабочего пользователя предлагалось самим приложениям. В любом случае сепердемон (скорее всего - старый inetd - запускает процесс от рута). 1. Говорят, что типа существующие клиенты FB не могут подключаться к ней - I was able to attach to the database but firebird clients don't support ODS version 8 which is what is announcing the database Скорее всего пробовали подключиться напрямую к файлу - понятное дело, что нынешний сервер пошлёт нах такого подключателя - слишком старая версия ODS. У меня на XPSP2 стоит IB4.0 (и ODS 8.0). Клиент от FB2.5 коннектится к ней без проблем. Может там какая специфика у юникс-версии есть? Насколько я помню - нет там ничего специфического - по крайней мере я без проблем переполз с 4-ки на 6-ку, которую борманы в опенсурс отдали, а потом Дед меня к Птицу подтолкнул и понеслось. 2. У IB4.0 на юниксе есть своя база с логинами/паролями? Или он только системные аккаунты юзает? Есть своя, как обычно, но при локальном подключении - к файлу, а не через localhost - будет требовать правов того ползателя, которому принадлежит база - скорее всего, рута. У виндовой версии isc4.gdb, ясный пень, есть. В юнихах то же самое - оно же портировано на венду, а не наоборот. А то озадачивающий тупит с вопросом - как с виндовс подключиться к этой базе под root-ом? Никак - с какими правами супердемон стартует процесс сервера - с такими и будет. Может нафиг ROOT-а? Создать другого нормального юзера и под ним и коннектиться? Кажись не прокатит - там сигналы раздавать надо, а я не помню, как оно там работало - там были танцы с бубном в районе лока семафоров и доставки сигналов другим процессам от лок-манагера. Сейчас в Птице всё это дело кошерно более-менее, а раньше там свинья в лепесинах где только не рылась - это тебе птицеводы лучше расскажут. Ежеле шо - свисти в скайп greendq, но лучше уболтай переползать на что-нить поновее. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: Подключение c Windows к IB4.0 на unix'e
Привет! Спасиб... А с кем это ты разговаривал ? :) Ну не перечитал письмо перед отправкой - чаю хотел, торопилси... И йа так и не понял - там можно завести обычного database-юзера (не системного) и коннектится к серверу с винды под ним? Разумеется. Root - он же SYSDBA - он же Царь и Бог - может завести другого ползателя. По идее там и politically/correct должон быть ;-) SYSDBA/masterkey там же есть? Ja-Ja, кемска волост. См. выше. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: IN vs CONTAINING
Привет! Нет конечно. Разве что встроенную ф-цию UNLIST, возвращающую резалтсет. Встроенная функция UNLIST конечно замечательно, особенно теперь, когда есть встроенная LIST Но это же костыли голимые - гонять данные через строки... Ты уверен, что это намного хуже, чем гонять массивы в параметрах ? А вот когда вы разрешите писать функци на PSQL - подобные вопросы отвалятся сами собой :) -- Best regards, Sergeymailto:gebele...@gmail.com
Re: День Рождения у Дмитрия Кузьменко!
Привет! Счастья, здоровья, удачи в бизнесе и на личном фронте! Присоединяюсь, всего-всего и побольше! Печень береги! -- Best regards, Sergeymailto:gebele...@gmail.com
Re: сколько может стоить
Привет! Арифметику, ты, что ли, не учил в своём дворце? ;-) Очень просто. Берешь ТЗ (за разработку ТЗ деньги брать надо отдельно). По нему узнаёшь количество человеко-часов. Добавляешь 25-30% - это на шлифовку. Умножаешь на стоимость твоего часа. Опционально - добавляешь НДС (если его нет в стоимости твоего часа). Получаешь сумму. Всё. -- Best regards, Sergeymailto:gebele...@gmail.com
Re[2]: сколько может стоить
Привет! А подоходный, ФСЗН(социалка) и прочая ересь?:) А это от страны зависит. Бо у нас в стоимости мифического человеко-часа это учтено. На практике - работа через фирму = 3*зп_наруки. Это чтобы всё красиво было и комар носу не подточил и фирме было на что жить. Но, кстати, составление ТЗ на такую систему может стоить чуть ли не больше, чем собственно разработка. Если мы хотим получить ТЗ по которому можно работать, а не набор абстрактных фраз и вечную доработку по требованиям заказчика в будущем. Угу. Бо ТЗ - это такая вещь, которую можно дать ДРУГОМУ разработчику и получим на выходе примерно тот же самый продукт. А доработка - за отдельную оплату. По крайней мере у нас. -- Best regards, Sergeymailto:gebele...@gmail.com