Re: Как работать с UTF8
Привет алл. Кому интересно - багa сдалась и уничтожена, ждите новости на Devrace или следуюшую версию фибов. Поскольку Сергей не был замечен в склонностях мучать исходники сервера, смею предположить - бага была в самих Фибах? Что-то спефицическое? [Не выспавшийся] Коваленко Дмитрий.
Re: Справочник по управляющим последовательностям ODBC для Firebird и Interbase
Конкатенация в MS SQL: SELECT (first_name + ' ' + last_name) as name FROM employee Конкатенация в Oracle и Firebird: SELECT (first_name || ' ' || last_name) FROM employee Как в оракле было уже забил, но Firebird и Interbase ... ето шутка или я чтото недопонемаю А небыло на абарот ? Бес попутал... Спасибо. :)
Re: Как работать с UTF8
бага была в самих Фибах? Что-то спефицическое? Кокаято мелоч связаная с уникодами. Чё ето было невникал, но за оперативность суппорта я в восторге :) Regards Janex
Re: rdb$triggers
Hello, Nikolay! You wrote on Tue, 4 Dec 2007 14:55:58 +0200: N В таблице rdb$triggers есть поле тип триггера. Значения от 0 до 6 я N знаю, а что означают значения после 6 ? У кого перечень есть? Подозреваю, что это те, которые на несколько действий. Проверять лень. N именно. Нужен конкретный список вот конкретный код генерации текста на паскаль переводить лень :-) local Type := DataSet(DataSet, doGetFieldAs,'Type_', AsInteger)+1, i := 0 local cType := if(Type and 1, 'A', 'B'), cTypes := {'I','U','D'} local lType := if(Type and 1, 'after', 'before'), lTypes := {'insert','update','delete'} Type := Type div 2 while Type 0 cType += cTypes[Type and 3] lType += if(i++ = 1,' ',' or ') + lTypes[Type and 3] Type := Type div 4 end DataSet(DataSet, doSetField, 'Type_', cType) Text := Format('create or alter trigger %s for %s%s %s %s',\ {DataSet(DataSet, doGetField, 'rdb$trigger_name')\ ,DataSet(DataSet, doGetField, 'rdb$relation_name')\ ,if(DataSet(DataSet, doGetField, 'rdb$trigger_inactive', 0)=1,' inactive','')\ ,lType\ ,if((Pos:=DataSet(DataSet, doGetField, 'rdb$trigger_sequence'))0,Format('position %d', {Pos}),'')}) Text += crlf + DataSet(DataSet, doGetField, 'Text', '') DataSet(DataSet, doSetField, 'Text', Text) DataSet(DataSet,doNext) Фёдоров Евгений. ЗАО Трест-М. Екатеринбург.
Re: Удалить процедуру
Юрий Рыболовлев пишет: При детальном исследовании выяснилось следующее если создать две зависимые процедуры одна собирает значения из второй на версии 200 процедуры по которым прошел селект сервер не дает удалять в версии 202 и 203 что-то подкрутили процедуры стали удаляться, но в лог сервер зачем-то пишет сообщения. А оно надо. Предлагаю это не писать ). HOMER (Server) Thu Dec 06 15:25:22 2007 Deleting procedure PTMP90533$FILTER_ID which is currently in use by active user requests Надо освобождать ресурсы. Недостаточно закрыть запрос, надо еще хэндл его высвободить. Alex Cherednichenko выше писал же про это... А в логе - правильно все. Ничего убирать не надо оттуда. Чем больше в нем информации, тем лучше. Сервер тебе только там говорит о своих проблемах, а проблема ЕСТЬ. И надо сделать так, чтоб эта ошибка в логе перестала появляться. -- Regards, Ovchinnikov Vasily ova at tkvc ru
Re: Справочник по управляющим последовательностям ODBC для Firebird и Interbase
Hello, Andrew! Merkulov Andrew wrote: Бес попутал... Спасибо. :) кавычки еще везде поправьте. а то у ms sql в примере конкатенации не кавычки а апострофы. -- Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34
Re: FieldOrigin с Group By
Dmitriy A. Beloshistov пишет: FB 1.5.x и FB 2.0.x отрабатывает нормально и возвращает все что надо. Приложение на IBO. Не совсем понял, что именно возвращает все что надо? Сейчас попробовал на IBO 4.7.5 выполнить запрос select A.RDB$RELATION_ID BB from RDB$DATABASE A group by A.RDB$RELATION_ID После его открытия Cur.Fields[0].FullSQLName = 'пусто', а если убрать из запроса группировку, то Cur.Fields[0].FullSQLName = 'RDB$DATABASE.RDB$RELATION_ID' Cur - это TIB_Cursor Марат.
мониторинг в 2.1
День добрый! Заметил такую особенность(точнее сказать неправильность): любой обычный пользователь видит в таблице MON$ATTACHMENTS только одну запись в таблице, прчём это запись с наименьшим MON$ATTACHMENT_ID т.е. если подключались последовательно User_1, User_2 и User_3, то User_2 и User_3 видят информацию о User_1, а не о себе соответственно запрос SELECT M1.MON$REMOTE_PROCESS, M1.MON$REMOTE_PID FROM MON$ATTACHMENTS M1 WHERE M1.MON$ATTACHMENT_ID = CURRENT_CONNECTION возвращает NULL-ы Firebird 2.1 Beta 2 (клиенты родные) проверялось на версиях WI-T2.1.0.17453 WI-T2.1.0.17176 -- С уважением Александр Карпейкин
Re: мониторинг в 2.1
Карпейкин Александр wrote: Заметил такую особенность(точнее сказать неправильность): Спасибо, разберемся. -- Дмитрий Еманов
Re: Как работать с UTF8
Kovalenko Dmitry пишет: Привет алл. Кому интересно - багa сдалась и уничтожена, ждите новости на Devrace или следуюшую версию фибов. Поскольку Сергей не был замечен в склонностях мучать исходники сервера, смею предположить - бага была в самих Фибах? Да. В некоторых случаях на сервер проскакивал не конвертированный текст сиквела. Кстати теперь я задумался, насколько правильно вообще его конвертировать в утф. Т.е. возможны тексты которые вообще конвертировать противопоказано, и возможны тексты, которые надо конвертировать частично. Похоже придется вводить доп опции чтоб девелопер мог разруливать эти ситуации.
RE: FieldOrigin с Group By
Не совсем понял, что именно возвращает все что надо? Сервер: FB 2.0: Запрос: select A.RDB$DESCRIPTION AA, A.RDB$RELATION_ID BB from RDB$DATABASE A group by A.RDB$DESCRIPTION, A.RDB$RELATION_ID Возврат: AA=blob BB=136 Клиент: IBO v4.5.B (могу и на 4.7.х попробовать) Сейчас попробовал на IBO 4.7.5 выполнить запрос Для запроса: select A.RDB$RELATION_ID BB from RDB$DATABASE A group by A.RDB$RELATION_ID Возврат: BB=136 (что в принципе и ожидаемо;) WBR,Dmitry Beloshistov AKA [-=BDS=-]
Re: FieldOrigin с Group By
Dmitriy A. Beloshistov пишет: Для запроса: select A.RDB$RELATION_ID BB from RDB$DATABASE A group by A.RDB$RELATION_ID Возврат: BB=136 (что в принципе и ожидаемо;) Один про Фому, другой про Ерему.
RE: FieldOrigin с Group By
Один про Фому, другой про Ерему. Опс... Прогнал ;) WBR,Dmitry Beloshistov AKA [-=BDS=-]
Re: FieldOrigin с Group By
Dmitriy A. Beloshistov пишет: Сейчас попробовал на IBO 4.7.5 выполнить запрос Для запроса: select A.RDB$RELATION_ID BB from RDB$DATABASE A group by A.RDB$RELATION_ID Возврат: BB=136 (что в принципе и ожидаемо;) Дык проблема не в том, что этот запрос вернет, а в том, что когда компоненты доступа дергают с сервера инфу о полях, участвующих в запросе (уж точно не знаю что они там получают), то в итоге в запросе с группировкой для поля ВВ нельзя сказать, что это поле - суть A.RDB$RELATION_ID (не возвращает сервер такой инфы). Т.е. в ФИБах после открытия запроса с группировкой DataSet.GetFieldOrigin(DataSet.Fields[0]) = пусто, а без группировки DataSet.GetFieldOrigin(DataSet.Fields[0]) = 'A.RDB$RELATION_ID' Марат.
Re: Как работать с UTF8
Kovalenko Dmitry wrote: Да. В некоторых случаях на сервер проскакивал не конвертированный текст сиквела. Кстати теперь я задумался, насколько правильно вообще его конвертировать в утф. Т.е. возможны тексты которые вообще конвертировать противопоказано, и возможны тексты, которые надо конвертировать частично. К примеру? Ага, и мне пожалуйста примерчик! :) Похоже придется вводить доп опции чтоб девелопер мог разруливать эти ситуации. Гы-гы. К меня такое с самого рождения поддержки UNICODE есть :) Х... а примеры можно? А то у меня тут в Java все конвертится в чарсет соединения (хотя с другой стороны в Java внутри все Unicode, там проще)... Роман
Re: мониторинг в 2.1
PEAKTOP wrote: Вопрос: Виртуальная таблица MON$ATTACHMENTS на момент старта транзакции, в рамках которой выполняется [SELECT ... FROM MON $ATTACHMENTS ...], видит всех ? Момент старта транзакции тут не причем. Она видит всех на момент первого к ней обращения. Но, в зависимости от прав пользователя, лишняя инфа отфильтровывается (должна по крайней мере :-). -- Дмитрий Еманов
Re: Как работать с UTF8
Kovalenko Dmitry пишет: Да. В некоторых случаях на сервер проскакивал не конвертированный текст сиквела. Кстати теперь я задумался, насколько правильно вообще его конвертировать в утф. Т.е. возможны тексты которые вообще конвертировать противопоказано, и возможны тексты, которые надо конвертировать частично. К примеру? Да к примеру тот же янексовский... коннект уникода SELECT _WIN1257 'латышские_буквы','другие латышские_буквы' FROM TABLE_NAME WHERE BLABLA = :MAS_BLABLA Ну и че с ним делать? Первое поле конвертировать в уникоду нельзя, второе надо. Ну и плюс поля с чарсетами NONE,OCTETS: UPDATE TABLE_NAME SET NONE_FIELD='фыва',WIN1251_FIELD='фыва' Второе поле нужно конвертануть, первое ни в коем разе. Автоматом эти случаи не разрулить. Треба чтоб девелопер сам мог с такими сиквелами разобраться. Похоже придется вводить доп опции чтоб девелопер мог разруливать эти ситуации. Гы-гы. К меня такое с самого рождения поддержки UNICODE есть :) Ну ты у нас весьма предусмотрительный. :)) Удачи