Re: Почему мне FB 2.1 не отдает?

2007-05-02 Thread Vlad Horsun

"Boris Loboda" ...

Попробуй снапшот

http://www.firebirdsql.org/download/snapshot_builds/win/

--
Хорсун Влад




Re: Почему мне FB 2.1 не отдает?

2007-05-02 Thread Alexandr Kochmin


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 не отдает?

2007-05-02 Thread Dmitry Yemanov


Alexandr Kochmin wrote:


скажите когда исправят тот баг когда при изменении в IBExpert процедуры 
или descriptions русский буквы заменяются на крякозябры уникодовые


Вопрос не совсем по адресу. IBE докручивать придется по-любому, 
независимо от наших шагов.



Еманов сказал по этому поводу так
"это известная несовместимость. Хвастунов в курсе. В сервере тоже не все 
слава богу, будут доработки."


Пока наша позиция в том, что софт придется адаптировать под FB. У меня 
была на этот счет переписка с Буззом и Хвастуновым, но к общему 
знаменателю мы не пришли. Им не нравится как стало, а нам - как было. Я 
допускаю изменения и в сервере, однако пока этот вопрос не решен. И вряд 
ли решится ранее беты.



--
Дмитрий Еманов



Re: Почему мне FB 2.1 не отдает?

2007-05-02 Thread Alexandr Kochmin


DY> Вопрос не совсем по адресу. IBE докручивать придется по-любому,
DY> независимо от наших шагов.

Да это я понимаю.

DY> Пока наша позиция в том, что софт придется адаптировать под FB. У меня
DY> была на этот счет переписка с Буззом и Хвастуновым, но к общему
DY> знаменателю мы не пришли. Им не нравится как стало, а нам - как было. Я
DY> допускаю изменения и в сервере, однако пока этот вопрос не решен. И
DY> вряд ли решится ранее беты.

Так вроде как бета уже намечается? Хотелось бы побыстрее уж решить этот вопрос.
Мне всеравно, хоть адаптировать хоть нет, но надо как-то уж договориться.
А то это сейчас очень серьезное препятствие.

--
С уважением
Кочмин Александр
Firebird Foundation associate member #257 





Re: Почему мне FB 2.1 не отдает?

2007-05-02 Thread Boris Loboda


Alexandr Kochmin пишет:


скажите когда исправят тот баг когда при изменении в IBExpert процедуры 
или descriptions русский буквы заменяются на крякозябры уникодовые.


Пока могу посоветовать в компарере включать обновление описаний через 
system tables, а не через comment (опция там есть).




Re: Почему мне FB 2.1 не отдает?

2007-05-02 Thread Alexandr Kochmin


К>
BL>> Пока могу посоветовать в компарере включать обновление описаний через
BL>> system tables, а не через comment (опция там есть).
К>
К> Это не решает проблем с коментами ВНУТРИ процедуры :(

и не только с коментами, прошу заметить, а и с русскими строками вцелом.
Так что совсем не катит.

--
С уважением
Кочмин Александр
Firebird Foundation associate member #257 





Re: Почему мне FB 2.1 не отдает?

2007-05-02 Thread Boris Loboda


Alexandr Kochmin пишет:

BL>> Пока могу посоветовать в компарере включать обновление описаний через
BL>> system tables, а не через comment (опция там есть).
К>
К> Это не решает проблем с коментами ВНУТРИ процедуры :(

и не только с коментами, прошу заметить, а и с русскими строками вцелом.
Так что совсем не катит.


С 2.1 еще и это свалилось к нам на шею? Как много интересного я пропустил...



Re: Почему мне FB 2.1 не отдает?

2007-05-03 Thread Kovalenko Dmitry

> > Еманов сказал по этому поводу так
> > "это известная несовместимость. Хвастунов в курсе. В сервере тоже не все
> > слава богу, будут доработки."
>
> Пока наша позиция в том, что софт придется адаптировать под FB. У меня
> была на этот счет переписка с Буззом и Хвастуновым, но к общему
> знаменателю мы не пришли. Им не нравится как стало, а нам - как было. Я
> допускаю изменения и в сервере, однако пока этот вопрос не решен. И вряд
> ли решится ранее беты.

Дим, если сейчас сервер (2.1) действительно стал возвращать кодовую
страницу блоба - то оставляйте как есть. Жаль, конечно, что такая
хрень не была сделана изначально - прийдется делать очередной адаптер
для определения кодовой страницы блоба под конкретную версию сервера.

Главное, что бы и для параметров это тоже возвращалось.

Коваленко Дмитрий.



Re: Почему мне FB 2.1 не отдает?

2007-05-03 Thread Dmitry Yemanov


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 не отдает?

2007-05-03 Thread Kovalenko Dmitry

> > Дим, если сейчас сервер (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 не отдает?

2007-05-03 Thread Boulitchev Aleksey


"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 не отдает?

2007-05-03 Thread Dmitry Yemanov


Boulitchev Aleksey wrote:


в чем собственно проблема?
проверил комменты (comment on ...) - все русские, показываются по-русски


Чарсет коннекта какой?

тексты процедур - с русскими константами/комментариями корректно 
отображаются в IBE, в генерилке доки - тоже все прекрасно


После ALTER-а/COMMENT-а средствами 2.1 тоже прекрасно?



--
Дмитрий Еманов



Re: Почему мне FB 2.1 не отдает?

2007-05-03 Thread Dmitry Yemanov


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 не отдает?

2007-05-03 Thread Boulitchev Aleksey



в чем собственно проблема?
проверил комменты (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 не отдает?

2007-05-03 Thread Dmitry Yemanov


Boulitchev Aleksey wrote:


WIN1251
исключительно прекрасно


Подозрительно... Или у тебя уже исправленный IBE :-)

PS возвращаясь к старой теме: какие префиксы схем (кроме RDB$ и MON$) 
будут зарезервированы за сервером?


Понятия не имею. Надеюсь, что никаких. Однако, LOG$ и DBG$ я бы не стал 
использовать... :-D



--
Дмитрий Еманов



Re: Почему мне FB 2.1 не отдает?

2007-05-03 Thread Roman Rokytskyy


А вот кодировка блобов определяется ихним BPB. Так уж заложено 
в нашем API. И если там пусто, то никакой перекодировки не будет. 


А что будет если я для чтения бинарных данных (например, BLR) укажу 
кодировку? Перекодирует? Проигнорирует? Или ошибка?


Роман



Re: Почему мне FB 2.1 не отдает?

2007-05-03 Thread Alex Cherednichenko

Привет, Roman!
Вы пишешь  03 мая 2007:

 >> А вот кодировка блобов определяется ихним BPB. Так уж заложено 
 >> в нашем API. И если там пусто, то никакой перекодировки не будет. 

 RR> А что будет если я для чтения бинарных данных (например, BLR) укажу 
 RR> кодировку? Перекодирует? Проигнорирует? Или ошибка?

Голосую за ворнинг! ;о)

--
With best regards, Alex Cherednichenko.




Re: Почему мне FB 2.1 не отдает?

2007-05-03 Thread Boulitchev Aleksey



исключительно прекрасно


Подозрительно... Или у тебя уже исправленный IBE :-)


2005.06.07

правлю, правда, запросами :) мышке не обучены-с

PS возвращаясь к старой теме: какие префиксы схем (кроме RDB$ и MON$) 
будут зарезервированы за сервером?


Понятия не имею. Надеюсь, что никаких. Однако, LOG$ и DBG$ я бы не стал 
использовать... :-D


эта фигня уже упакована в ZLS$

--
Булычев Алексей
http://www.stella-npf.ru




Re: Почему мне FB 2.1 не отдает?

2007-05-03 Thread Roman Rokytskyy


PS возвращаясь к старой теме: какие префиксы схем (кроме RDB$ и MON$) 
будут зарезервированы за сервером?


Понятия не имею. Надеюсь, что никаких. Однако, LOG$ и DBG$ я бы не стал 
использовать... :-D


Слушай, а значение RDB$SYSTEM_FLAG для MON$ таблиц тоже 1, или что-то 
другое?


Роман



Re: Почему мне FB 2.1 не отдает?

2007-05-03 Thread Dmitry Yemanov


Roman Rokytskyy wrote:


А что будет если я для чтения бинарных данных (например, BLR) укажу 
кодировку? Перекодирует? Проигнорирует? Или ошибка?


Должно проигнорировать. Перекодировка работает только для текстовых 
блобов с чарсетом, отличным от OCTETS и NONE.



--
Дмитрий Еманов



Re: Почему мне FB 2.1 не отдает?

2007-05-03 Thread Dmitry Yemanov


Roman Rokytskyy wrote:


Слушай, а значение RDB$SYSTEM_FLAG для MON$ таблиц тоже 1, или что-то 
другое?


Тоже 1.


--
Дмитрий Еманов



Re: Почему мне FB 2.1 не отдает?

2007-05-03 Thread Kovalenko Dmitry

> > Я туда передаю нули. То есть 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 не отдает?

2007-05-03 Thread Dmitry Yemanov


Kovalenko Dmitry wrote:


Или, что лучше, сделайте поддержку со стороны API, для получения имени
чарсета (и этого, как его - коллэйта) из его идентификатора и
наоборот.


Не вижу особого смысла оборачивать примитивный селект в новый API-вызов.


--
Дмитрий Еманов



Re: Почему мне FB 2.1 не отдает?

2007-05-03 Thread Roman Rokytskyy



Дим, ну дык это. В той же статье я написал - 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 не отдает?

2007-05-03 Thread Dmitry Yemanov


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 не отдает?

2007-05-03 Thread Roman Rokytskyy



Дим, ну дык это. В той же статье я написал - SQL текст тоже должен
приводиться к кодовой странице подключения! Это уже сто лет назад было
описано.


Так он и будет приводится, если ты его через CAST(RDB$SOURCE AS 
VARCHAR(32765)) сделаешь и данные через isc_dsql_fetch получаешь.


Дима вроде про входной SQL текст.


Тады ой! и полностью с ним согласен.

Это, конечно, идея. Можно добавить новый blob info параметр и получать 
charset через isc_blob_info.


А смысл? Он ведь в SQLVAR уже есть.


Хммм... вроде сегодня не пятница... может я на солнце перегрелся... все, 
пора домой! :)


Роман



Re: Почему мне FB 2.1 не отдает?

2007-05-03 Thread Николай Пономаренко

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 не отдает?

2007-05-03 Thread Boulitchev Aleksey



>> PS возвращаясь к старой теме: какие префиксы схем (кроме RDB$ и MON$)
>> будут зарезервированы за сервером?
DY> Понятия не имею. Надеюсь, что никаких. Однако, LOG$ и DBG$ я бы не 
стал

DY> использовать... :-D

Интересно, а сколько осталось жить крамольному(в теории) SYS$ ?


если большевики победят, то вечно
--
Булычев Алексей
http://www.stella-npf.ru