исправили перекодировку BLOB?

2007-05-21 Thread Alexandr Kochmin
Вот смотрю CORE-1277 это ж исправили перекодировку, о которой так долго мечтали, и теперь ibexpert будет нормально русские буквы в SP сохранять? -- С уважением Кочмин Александр Firebird Foundation associate member #257

Re: исправили перекодировку BLOB?

2007-05-22 Thread Vlad Horsun
"Alexandr Kochmin" ... > > Вот смотрю CORE-1277 > это ж исправили перекодировку, о которой так долго мечтали, Проверь ;) > и теперь ibexpert будет нормально русские буквы в SP сохранять? Читать ! -- Хорсун Влад

Re: исправили перекодировку BLOB?

2007-05-22 Thread Alexandr Kochmin
VH> VH> "Alexandr Kochmin" ... VH>> VH>> Вот смотрю CORE-1277 VH>> это ж исправили перекодировку, о которой так долго мечтали, VH> VH> Проверь ;) а разве уже есть в снапшоте? они ж даже не каждый день обновлялись. Прийдется ждать. VH> VH>> и теперь ibexpert будет нормально русские буквы в S

Re: исправили перекодировку BLOB?

2007-05-22 Thread Андрій Жук
Ничего не работает SET TERM ^ ; create procedure New_Procedure2 returns ( varchar(10)) as begin = 'Працює!'; suspend; end ^ SET TERM ; ^ переподключаемся CREATE PROCEDURE NEW_PROCEDURE2 RETURNS ( VARCHAR(10)) AS (Blob)

Re: исправили перекодировку BLOB?

2007-05-22 Thread Андрій Жук
Хотя вот select cast(RDB$PROCEDURE_SOURCE as varchar(1024)) from rdb$procedures возвращает верно перекодированный текст а вот select RDB$PROCEDURE_SOURCE from rdb$procedures наглухо убивает Эксперт

Re: исправили перекодировку BLOB?

2007-05-22 Thread Vlad Horsun
"Андрій Жук" ... > > Хотя вот > select cast(RDB$PROCEDURE_SOURCE as varchar(1024)) from rdb$procedures > > возвращает верно перекодированный текст > а вот select RDB$PROCEDURE_SOURCE from rdb$procedures наглухо убивает > Эксперт Потому что isc_blob_info возвращает длину юникодного блоба, а чт

Re: исправили перекодировку BLOB?

2007-05-22 Thread Kovalenko Dmitry
> Потому что isc_blob_info возвращает длину юникодного блоба, а чтение из > транслитерированного блоба заканчивается раньше. И кое-кто не умеет > обрабатывать isc_segstr_eof (IBX тоже не умеет, тьфу на них) А я ведь знал, я знал - с этим isc_blob_info будет засада :) Что же вы творите! Демон

Re: исправили перекодировку BLOB?

2007-05-22 Thread Vlad Horsun
"Kovalenko Dmitry" ... > > > Потому что isc_blob_info возвращает длину юникодного блоба, а чтение из > > транслитерированного блоба заканчивается раньше. И кое-кто не умеет > > обрабатывать isc_segstr_eof (IBX тоже не умеет, тьфу на них) > > А я ведь знал, я знал - с этим isc_blob_info будет з

Re: исправили перекодировку BLOB?

2007-05-22 Thread Kovalenko Dmitry
> На всякий случай объясню - IBX всегда читает блоб целиком в память. Оно > определяет р-р блоба с помощью isc_blob_info, выделяет память этого р-ра > и читает туда блоб. Причём читает именно то кол-во байт, которое вернул > isc_blob_info, > > Что же вы творите! Демоны! > > А мы-то тута п

Re: исправили перекодировку BLOB?

2007-05-22 Thread Roman Rokytskyy
На всякий случай объясню - IBX всегда читает блоб целиком в память. Оно определяет р-р блоба с помощью isc_blob_info, выделяет память этого р-ра и читает туда блоб. Причём читает именно то кол-во байт, которое вернул isc_blob_info, Провайдер не свалится. Это точно на 99.9. Я на такие вещи

Re: исправили перекодировку BLOB?

2007-05-22 Thread Vlad Horsun
"Kovalenko Dmitry" ... > > > На всякий случай объясню - IBX всегда читает блоб целиком в память. Оно > > определяет р-р блоба с помощью isc_blob_info, выделяет память этого р-ра > > и читает туда блоб. Причём читает именно то кол-во байт, которое вернул > > isc_blob_info, > > > > Что же вы тво

Re: исправили перекодировку BLOB?

2007-05-22 Thread Oleg LOA
"Vlad Horsun" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > > "Kovalenko Dmitry" ... >> >> > На всякий случай объясню - IBX всегда читает блоб целиком в память. Оно >> > определяет р-р блоба с помощью isc_blob_info, выделяет память этого р-ра >> > и читает туда блоб. Причём чи

Re: исправили перекодировку BLOB?

2007-05-22 Thread Vlad Horsun
"Oleg LOA" ... > > "Vlad Horsun" ... > > > > "Kovalenko Dmitry" ... > >> > >> > На всякий случай объясню - IBX всегда читает блоб целиком в память. > >> > Оно > >> > определяет р-р блоба с помощью isc_blob_info, выделяет память этого р-ра > >> > и читает туда блоб. Причём читает именно то кол

Re: исправили перекодировку BLOB?

2007-05-23 Thread Vlad Horsun
"Oleg LOA" ... > "Vlad Horsun" ... > >Вот здесь. Ибо возвращается isc_segstr_eof (он пытается прочитать больше, > > чем есть) и BytesRead == 0 > > > > Так он просто исключение выбросит но не упадёт по AV Да, я имел в виду не AV конечно. Но легче от этого вряд ли... -- Хорсун Влад

Re: исправили перекодировку BLOB?

2007-05-23 Thread Vlad Horsun
"Oleg LOA" ... > "Vlad Horsun" ... > >Да, я имел в виду не AV конечно. Но легче от этого вряд ли... > > А я просто не понял чего тогда IBExpert вешается, думал там в IBX "Полный Пэ" У него по разному - иногда редактор блобов просто не показывается, иногда ошибками сыпет, пока не снимешь (

Re: исправили перекодировку BLOB?

2007-05-23 Thread Андрій Жук
Oleg LOA wrote: "Vlad Horsun" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] Да, я имел в виду не AV конечно. Но легче от этого вряд ли... А я просто не понял чего тогда IBExpert вешается, думал там в IBX "Полный Пэ" Да он там не совсем вешается, просто ошибка выскакивает беск

Re: исправили перекодировку BLOB?

2007-05-23 Thread Андрій Жук
Кстати, вот как сделано в UIB procedure TSQLResult.ReadBlob(const Index: Word; Stream: TStream); var BlobData: PBlobData; begin CheckRange(Index); if not FFetchBlobs then raise Exception.Create(EUIB_FETCHBLOBNOTSET); BlobData := GetDataQuadOffset(Index); Stream.Seek(0

Re: исправили перекодировку BLOB?

2007-05-23 Thread Vlad Horsun
"Андрій Жук" ... > > Кстати, вот как сделано в UIB > >procedure TSQLResult.ReadBlob(const Index: Word; Stream: TStream); >var BlobData: PBlobData; >begin > CheckRange(Index); > if not FFetchBlobs then >raise Exception.Create(EUIB_FETCHBLOBNOTSET); > BlobData := G

Re: исправили перекодировку BLOB?

2007-05-23 Thread Андрій Жук
function TUIBLibrary.BlobGetSegment(var BlobHandle: IscBlobHandle; out length: Word; BufferLength: Cardinal; Buffer: PChar): boolean; var AStatus: ISCStatus; begin if BufferLength > High(Word) then BufferLength := High(Word); {$IFDEF UIBTHREADSAFE} FLIBCritSec.Enter;