Re: Почему мне FB 2.1 не отдает?
"Boris Loboda" ... Попробуй снапшот http://www.firebirdsql.org/download/snapshot_builds/win/ -- Хорсун Влад
Re: Почему мне FB 2.1 не отдает?
VH> VH> "Boris Loboda" ... VH> VH> Попробуй снапшот VH> VH> http://www.firebirdsql.org/download/snapshot_builds/win/ скажите когда исправят тот баг когда при изменении в IBExpert процедуры или descriptions русский буквы заменяются на крякозябры уникодовые. Этот печальный момент не дает тестировать Firebird 2.1 Еманов сказал по этому поводу так "это известная несовместимость. Хвастунов в курсе. В сервере тоже не все слава богу, будут доработки." Уже скоро бета вроде. А этот момент все портит. :( -- С уважением Кочмин Александр Firebird Foundation associate member #257
Re: Почему мне FB 2.1 не отдает?
Alexandr Kochmin wrote: скажите когда исправят тот баг когда при изменении в IBExpert процедуры или descriptions русский буквы заменяются на крякозябры уникодовые Вопрос не совсем по адресу. IBE докручивать придется по-любому, независимо от наших шагов. Еманов сказал по этому поводу так "это известная несовместимость. Хвастунов в курсе. В сервере тоже не все слава богу, будут доработки." Пока наша позиция в том, что софт придется адаптировать под FB. У меня была на этот счет переписка с Буззом и Хвастуновым, но к общему знаменателю мы не пришли. Им не нравится как стало, а нам - как было. Я допускаю изменения и в сервере, однако пока этот вопрос не решен. И вряд ли решится ранее беты. -- Дмитрий Еманов
Re: Почему мне FB 2.1 не отдает?
DY> Вопрос не совсем по адресу. IBE докручивать придется по-любому, DY> независимо от наших шагов. Да это я понимаю. DY> Пока наша позиция в том, что софт придется адаптировать под FB. У меня DY> была на этот счет переписка с Буззом и Хвастуновым, но к общему DY> знаменателю мы не пришли. Им не нравится как стало, а нам - как было. Я DY> допускаю изменения и в сервере, однако пока этот вопрос не решен. И DY> вряд ли решится ранее беты. Так вроде как бета уже намечается? Хотелось бы побыстрее уж решить этот вопрос. Мне всеравно, хоть адаптировать хоть нет, но надо как-то уж договориться. А то это сейчас очень серьезное препятствие. -- С уважением Кочмин Александр Firebird Foundation associate member #257
Re: Почему мне FB 2.1 не отдает?
Alexandr Kochmin пишет: скажите когда исправят тот баг когда при изменении в IBExpert процедуры или descriptions русский буквы заменяются на крякозябры уникодовые. Пока могу посоветовать в компарере включать обновление описаний через system tables, а не через comment (опция там есть).
Re: Почему мне FB 2.1 не отдает?
К> BL>> Пока могу посоветовать в компарере включать обновление описаний через BL>> system tables, а не через comment (опция там есть). К> К> Это не решает проблем с коментами ВНУТРИ процедуры :( и не только с коментами, прошу заметить, а и с русскими строками вцелом. Так что совсем не катит. -- С уважением Кочмин Александр Firebird Foundation associate member #257
Re: Почему мне FB 2.1 не отдает?
Alexandr Kochmin пишет: BL>> Пока могу посоветовать в компарере включать обновление описаний через BL>> system tables, а не через comment (опция там есть). К> К> Это не решает проблем с коментами ВНУТРИ процедуры :( и не только с коментами, прошу заметить, а и с русскими строками вцелом. Так что совсем не катит. С 2.1 еще и это свалилось к нам на шею? Как много интересного я пропустил...
Re: Почему мне FB 2.1 не отдает?
> > Еманов сказал по этому поводу так > > "это известная несовместимость. Хвастунов в курсе. В сервере тоже не все > > слава богу, будут доработки." > > Пока наша позиция в том, что софт придется адаптировать под FB. У меня > была на этот счет переписка с Буззом и Хвастуновым, но к общему > знаменателю мы не пришли. Им не нравится как стало, а нам - как было. Я > допускаю изменения и в сервере, однако пока этот вопрос не решен. И вряд > ли решится ранее беты. Дим, если сейчас сервер (2.1) действительно стал возвращать кодовую страницу блоба - то оставляйте как есть. Жаль, конечно, что такая хрень не была сделана изначально - прийдется делать очередной адаптер для определения кодовой страницы блоба под конкретную версию сервера. Главное, что бы и для параметров это тоже возвращалось. Коваленко Дмитрий.
Re: Почему мне FB 2.1 не отдает?
Kovalenko Dmitry wrote: Дим, если сейчас сервер (2.1) действительно стал возвращать кодовую страницу блоба - то оставляйте как есть. Дело немного не в этом. Ответь на вопрос - ты при чтении/записи текстовых блобов чарсет (коннекта) в BPB всегда указываешь? Вся проблема пошла оттого, что в 2.1 сервер стал конвертировать *строки* из *чарсета коннекта* в UNICODE при занесении данных в RDB$SOURCE и RDB$DESCRIPTION. Т.е. теперь предполагается, что русские буквы в DDL (например, комментарии в процедуре) будут в чарсете коннекта. Этим гарантируется, что в поле будет именно UNICODE, а не хрен знает что, как раньше (там обычно лежал ANSI-текст). Для чего это надо? А для того, чтобы можно было нормально (т.е. не бинарно) с ними работать, как и с обычными строками (upper/lower/substring и т.п.) Побочный эффект - если RDB$SOURCE/DESCRIPTION блобы читать без указания чарсета в BPB, то получишь юникодовскую белиберду вместо русского текста. Именно это визуально наблюдается в IBE и компарере. ISQL же указывает чарсет коннекта в BPB при чтении системных блобов, так что она извлекает данные нормально. -- Дмитрий Еманов
Re: Почему мне FB 2.1 не отдает?
> > Дим, если сейчас сервер (2.1) действительно стал возвращать кодовую > > страницу блоба - то оставляйте как есть. > Дело немного не в этом. Ответь на вопрос - ты при чтении/записи > текстовых блобов чарсет (коннекта) в BPB всегда указываешь? Я туда передаю нули. То есть BPB не заполняю в принципе. Я как-то очень давно курил этот вопрос и решил отказаться от этой заморочки. То бишь я закладываюсь на то, что все блобы имеют кодовую страницу _подключения_. Потому что определить чарсет блобовой колонки, в общем случае, очень напряжно. > Вся проблема пошла оттого, что в 2.1 сервер стал конвертировать *строки* > из *чарсета коннекта* в UNICODE при занесении данных в RDB$SOURCE и > RDB$DESCRIPTION. Т.е. теперь предполагается, что русские буквы в DDL > (например, комментарии в процедуре) будут в чарсете коннекта. И это есть ГУД! > Этим гарантируется, что в поле будет именно UNICODE, а не хрен знает > что, как раньше (там обычно лежал ANSI-текст). Для чего это надо? А для > того, чтобы можно было нормально (т.е. не бинарно) с ними работать, как > и с обычными строками (upper/lower/substring и т.п.) Понятно > Побочный эффект - если RDB$SOURCE/DESCRIPTION блобы читать без указания > чарсета в BPB, то получишь юникодовскую белиберду вместо русского > текста. Именно это визуально наблюдается в IBE и компарере. ISQL же > указывает чарсет коннекта в BPB при чтении системных блобов, так что она > извлекает данные нормально. Не понятно. Если при записи блоба вы его перекодируете из чарсета_подключения в чарсет_колонки, то почему тогда вы его при чтении обратно не перекодируете в чарсет_подключения ... Хотя, наверное, есть какие-то побочные эффекты. Типа несоответствия длины полученной через isc_blob_info и фактических данных. В целом - Дим, как сделаете так и адаптируем :) Коваленко Дмитрий.
Re: Почему мне FB 2.1 не отдает?
"Dmitry Yemanov" скажите когда исправят тот баг когда при изменении в IBExpert процедуры или descriptions русский буквы заменяются на крякозябры уникодовые Вопрос не совсем по адресу. IBE докручивать придется по-любому, независимо от наших шагов. Еманов сказал по этому поводу так "это известная несовместимость. Хвастунов в курсе. В сервере тоже не все слава богу, будут доработки." Пока наша позиция в том, что софт придется адаптировать под FB. У меня была на этот счет переписка с Буззом и Хвастуновым, но к общему знаменателю мы не пришли. Им не нравится как стало, а нам - как было. Я допускаю изменения и в сервере, однако пока этот вопрос не решен. И вряд ли решится ранее беты. WI-T6.3.0.15152 Firebird 2.1 Alpha 1 в чем собственно проблема? проверил комменты (comment on ...) - все русские, показываются по-русски тексты процедур - с русскими константами/комментариями корректно отображаются в IBE, в генерилке доки - тоже все прекрасно -- Булычев Алексей http://www.stella-npf.ru
Re: Почему мне FB 2.1 не отдает?
Boulitchev Aleksey wrote: в чем собственно проблема? проверил комменты (comment on ...) - все русские, показываются по-русски Чарсет коннекта какой? тексты процедур - с русскими константами/комментариями корректно отображаются в IBE, в генерилке доки - тоже все прекрасно После ALTER-а/COMMENT-а средствами 2.1 тоже прекрасно? -- Дмитрий Еманов
Re: Почему мне FB 2.1 не отдает?
Kovalenko Dmitry wrote: Я туда передаю нули. То есть BPB не заполняю в принципе. Я как-то очень давно курил этот вопрос и решил отказаться от этой заморочки. То бишь я закладываюсь на то, что все блобы имеют кодовую страницу _подключения_. Фигово. Т.к. кодировка подключения обычно WIN1251, и в UNICODE-поле у тебя пишутся однобайтовые русские символы (до 2.1 перекодировки не было). Что обработать никак низзя и что мы как раз пытаемся улучшить. Потому что определить чарсет блобовой колонки, в общем случае, очень напряжно. Угу. Но в 2.1 с этим проще. Вся проблема пошла оттого, что в 2.1 сервер стал конвертировать *строки* из *чарсета коннекта* в UNICODE при занесении данных в RDB$SOURCE и RDB$DESCRIPTION. Т.е. теперь предполагается, что русские буквы в DDL (например, комментарии в процедуре) будут в чарсете коннекта. И это есть ГУД! Все зависит от тех, кто работает с UTF-ным чарсетом коннекта. Есть подозрение, что могие из них пихают SQL-текст (в API-вызовы) как ANSI вместо UTF8. Побочный эффект - если RDB$SOURCE/DESCRIPTION блобы читать без указания чарсета в BPB, то получишь юникодовскую белиберду вместо русского текста. Именно это визуально наблюдается в IBE и компарере. ISQL же указывает чарсет коннекта в BPB при чтении системных блобов, так что она извлекает данные нормально. Не понятно. Если при записи блоба вы его перекодируете из чарсета_подключения в чарсет_колонки, то почему тогда вы его при чтении обратно не перекодируете в чарсет_подключения ... Я выше специально отметил - перекодировка идет *строк* (DDL-текст, комментарии) в UNICODE. Т.к. кодировка строк определяется чарсетом коннекта. А вот кодировка блобов определяется ихним BPB. Так уж заложено в нашем API. И если там пусто, то никакой перекодировки не будет. Т.к. мало кто пишет именно *блобы* в RDB$SOURCE (обычно все же строки), то это не проблема (если только с RDB$DESCRIPTION некоторые тулзы так работают, в худшем случае). Но вот все читают блобы именно как блоб, не указывая чарсет. Отчего и огребают в 2.1. Выход - всегда указывать чарсет при работе с блобами, как это делает ISQL. -- Дмитрий Еманов
Re: Почему мне FB 2.1 не отдает?
в чем собственно проблема? проверил комменты (comment on ...) - все русские, показываются по-русски Чарсет коннекта какой? WIN1251 тексты процедур - с русскими константами/комментариями корректно отображаются в IBE, в генерилке доки - тоже все прекрасно После ALTER-а/COMMENT-а средствами 2.1 тоже прекрасно? исключительно прекрасно в 2.0 появилась разница в COMMENT on и через апдейт RDB$DESRCIPTION, но один товарищ убедил меня и я внял PS возвращаясь к старой теме: какие префиксы схем (кроме RDB$ и MON$) будут зарезервированы за сервером? -- Булычев Алексей http://www.stella-npf.ru
Re: Почему мне FB 2.1 не отдает?
Boulitchev Aleksey wrote: WIN1251 исключительно прекрасно Подозрительно... Или у тебя уже исправленный IBE :-) PS возвращаясь к старой теме: какие префиксы схем (кроме RDB$ и MON$) будут зарезервированы за сервером? Понятия не имею. Надеюсь, что никаких. Однако, LOG$ и DBG$ я бы не стал использовать... :-D -- Дмитрий Еманов
Re: Почему мне FB 2.1 не отдает?
А вот кодировка блобов определяется ихним BPB. Так уж заложено в нашем API. И если там пусто, то никакой перекодировки не будет. А что будет если я для чтения бинарных данных (например, BLR) укажу кодировку? Перекодирует? Проигнорирует? Или ошибка? Роман
Re: Почему мне FB 2.1 не отдает?
Привет, Roman! Вы пишешь 03 мая 2007: >> А вот кодировка блобов определяется ихним BPB. Так уж заложено >> в нашем API. И если там пусто, то никакой перекодировки не будет. RR> А что будет если я для чтения бинарных данных (например, BLR) укажу RR> кодировку? Перекодирует? Проигнорирует? Или ошибка? Голосую за ворнинг! ;о) -- With best regards, Alex Cherednichenko.
Re: Почему мне FB 2.1 не отдает?
исключительно прекрасно Подозрительно... Или у тебя уже исправленный IBE :-) 2005.06.07 правлю, правда, запросами :) мышке не обучены-с PS возвращаясь к старой теме: какие префиксы схем (кроме RDB$ и MON$) будут зарезервированы за сервером? Понятия не имею. Надеюсь, что никаких. Однако, LOG$ и DBG$ я бы не стал использовать... :-D эта фигня уже упакована в ZLS$ -- Булычев Алексей http://www.stella-npf.ru
Re: Почему мне FB 2.1 не отдает?
PS возвращаясь к старой теме: какие префиксы схем (кроме RDB$ и MON$) будут зарезервированы за сервером? Понятия не имею. Надеюсь, что никаких. Однако, LOG$ и DBG$ я бы не стал использовать... :-D Слушай, а значение RDB$SYSTEM_FLAG для MON$ таблиц тоже 1, или что-то другое? Роман
Re: Почему мне FB 2.1 не отдает?
Roman Rokytskyy wrote: А что будет если я для чтения бинарных данных (например, BLR) укажу кодировку? Перекодирует? Проигнорирует? Или ошибка? Должно проигнорировать. Перекодировка работает только для текстовых блобов с чарсетом, отличным от OCTETS и NONE. -- Дмитрий Еманов
Re: Почему мне FB 2.1 не отдает?
Roman Rokytskyy wrote: Слушай, а значение RDB$SYSTEM_FLAG для MON$ таблиц тоже 1, или что-то другое? Тоже 1. -- Дмитрий Еманов
Re: Почему мне FB 2.1 не отдает?
> > Я туда передаю нули. То есть BPB не заполняю в принципе. Я как-то > > очень давно курил этот вопрос и решил отказаться от этой заморочки. То > > бишь я закладываюсь на то, что все блобы имеют кодовую страницу > > _подключения_. > > Фигово. Т.к. кодировка подключения обычно WIN1251, и в UNICODE-поле у > тебя пишутся однобайтовые русские символы (до 2.1 перекодировки не > было). Что обработать никак низзя и что мы как раз пытаемся улучшить. Ну да. И об этом я и написал в статье на ibase - единственный работоспособный вариант это для всех текстовых полей и блобов использовать единую кодовую страницу. В двойке вы исправили проблему связанную с обычными строками. Теперь, в 2.1, доводите до ума блобы. > > И это есть ГУД! > > Все зависит от тех, кто работает с UTF-ным чарсетом коннекта. Есть > подозрение, что могие из них пихают SQL-текст (в API-вызовы) как ANSI > вместо UTF8. Дим, ну дык это. В той же статье я написал - SQL текст тоже должен приводиться к кодовой странице подключения! Это уже сто лет назад было описано. > Я выше специально отметил - перекодировка идет *строк* (DDL-текст, > комментарии) в UNICODE. Т.к. кодировка строк определяется чарсетом > коннекта. Это понятно. > А вот кодировка блобов определяется ихним BPB. Так уж заложено > в нашем API. И если там пусто, то никакой перекодировки не будет. Т.к. > мало кто пишет именно *блобы* в RDB$SOURCE (обычно все же строки), то > это не проблема (если только с RDB$DESCRIPTION некоторые тулзы так > работают, в худшем случае). Ну я именно так и пишу текстовые блобы. То есть предполагаю - сервер ничего делать не будет. На уровне провайдера я перекодирую данные текстового блоба в чарсер_подключения и запихиваю в блоб без указания чарсета_передаваемых_данных > Но вот все читают блобы именно как блоб, не > указывая чарсет. Отчего и огребают в 2.1. Понятно. > Выход - всегда указывать > чарсет при работе с блобами, как это делает ISQL. Понятно. Раз уж вы там все ломаете в этом направлении - сделайте так, что бы имя чарсета передаваемого блоба можно было указывать в символьном виде. Или, что лучше, сделайте поддержку со стороны API, для получения имени чарсета (и этого, как его - коллэйта) из его идентификатора и наоборот. Коваленко Дмитрий.
Re: Почему мне FB 2.1 не отдает?
Kovalenko Dmitry wrote: Или, что лучше, сделайте поддержку со стороны API, для получения имени чарсета (и этого, как его - коллэйта) из его идентификатора и наоборот. Не вижу особого смысла оборачивать примитивный селект в новый API-вызов. -- Дмитрий Еманов
Re: Почему мне FB 2.1 не отдает?
Дим, ну дык это. В той же статье я написал - SQL текст тоже должен приводиться к кодовой странице подключения! Это уже сто лет назад было описано. Так он и будет приводится, если ты его через CAST(RDB$SOURCE AS VARCHAR(32765)) сделаешь и данные через isc_dsql_fetch получаешь. Но isc_get_blob_segment - это совсем другой вызов и здесь возможны альтернативные трактовки. Так что нам с тобой придется приспосабливатся - передавать charset в BPB (что совсем не сложно). Или, что лучше, сделайте поддержку со стороны API, для получения имени чарсета (и этого, как его - коллэйта) из его идентификатора и наоборот. Это, конечно, идея. Можно добавить новый blob info параметр и получать charset через isc_blob_info. Роман
Re: Почему мне FB 2.1 не отдает?
Roman Rokytskyy wrote: Дим, ну дык это. В той же статье я написал - SQL текст тоже должен приводиться к кодовой странице подключения! Это уже сто лет назад было описано. Так он и будет приводится, если ты его через CAST(RDB$SOURCE AS VARCHAR(32765)) сделаешь и данные через isc_dsql_fetch получаешь. Дима вроде про входной SQL текст. Это, конечно, идея. Можно добавить новый blob info параметр и получать charset через isc_blob_info. А смысл? Он ведь в SQLVAR уже есть. -- Дмитрий Еманов
Re: Почему мне FB 2.1 не отдает?
Дим, ну дык это. В той же статье я написал - SQL текст тоже должен приводиться к кодовой странице подключения! Это уже сто лет назад было описано. Так он и будет приводится, если ты его через CAST(RDB$SOURCE AS VARCHAR(32765)) сделаешь и данные через isc_dsql_fetch получаешь. Дима вроде про входной SQL текст. Тады ой! и полностью с ним согласен. Это, конечно, идея. Можно добавить новый blob info параметр и получать charset через isc_blob_info. А смысл? Он ведь в SQLVAR уже есть. Хммм... вроде сегодня не пятница... может я на солнце перегрелся... все, пора домой! :) Роман
Re: Почему мне FB 2.1 не отдает?
Hello, Dmitry! You wrote on Thu, 03 May 2007 14:50:19 +0400: >> PS возвращаясь к старой теме: какие префиксы схем (кроме RDB$ и MON$) >> будут зарезервированы за сервером? DY> Понятия не имею. Надеюсь, что никаких. Однако, LOG$ и DBG$ я бы не стал DY> использовать... :-D Интересно, а сколько осталось жить крамольному(в теории) SYS$ ? -- -=Каждый самурай сам себе самурай, если рядом нет других самураев=- With best regards, Nikolay Ponomarenko
Re: Почему мне FB 2.1 не отдает?
>> PS возвращаясь к старой теме: какие префиксы схем (кроме RDB$ и MON$) >> будут зарезервированы за сервером? DY> Понятия не имею. Надеюсь, что никаких. Однако, LOG$ и DBG$ я бы не стал DY> использовать... :-D Интересно, а сколько осталось жить крамольному(в теории) SYS$ ? если большевики победят, то вечно -- Булычев Алексей http://www.stella-npf.ru