Re: Вопрос по функции HASH

2007-11-28 Пенетрантность Vlad Khorsun
sasha ... Уже догадался. Щас гляну что .NET выдаст... Мда... Там всё умнее - функции на вхоже массив байт принимают и ничто иное :-) Зато ещё один неочевидный сразу момент выплыл: EXECUTE BLOCK RETURNS ( HASH1 BIGINT, HASH2 BIGINT) AS DECLARE Value1 VARCHAR(10) CHARACTER SET WIN1251

Re: Вопрос по функции HASH

2007-11-28 Пенетрантность sasha
Почитай сегодняшний топик в fb-devel ;) Не пойму я, Адриано вещает что хэш применяется к строке. А вот майкрософт считает что к массиву байт. У меня задача такая: я задумал написать очень абстрактную систему, работающую с разнородными объектами. Объекты имеют атрибуты. Я придумал 8

Re: Вопрос по функции HASH

2007-11-28 Пенетрантность sasha
А вот Пешков написал: Hash() should: - always return same results for same values Ну так для меня как раз что 15, что 15.0, что 15.00 - это всё одно и то же значение. Какие из его фразы выводы следуют?

Re: Вопрос по функции HASH

2007-11-28 Пенетрантность sasha
И заодно '15', да? Так у вас щас так и работает, т.е. хэш 15 = '15' :)

Re[2]: Вопрос по функции HASH

2007-11-28 Пенетрантность Sergey Mereutsa
Привет! Так у вас щас так и работает, т.е. хэш 15 = '15' :) Неправильно оно у них работает чичазз :) З.Ы. Про транслитерацию только я один вспомнил или кто-то догадывался про грабельки? ;-) -- Best regards, Sergeymailto:[EMAIL PROTECTED]

Re: Вопрос по функции HASH

2007-11-28 Пенетрантность sasha
А вот у МС есть SqlVariant. Что ты об этом думаешь? :-)

Re: Вопрос по функции HASH

2007-11-28 Пенетрантность sasha
З.Ы. Про транслитерацию только я один вспомнил или кто-то догадывался про грабельки? ;-) Надо всё внутри в юникоде хранить как жаба и нэт делают :)

Re: Вопрос по функции HASH

2007-11-28 Пенетрантность sasha
делай как мы - канонический документ функция получения набора данных по идентификатору (у нас - документа)- преобразуется в XML, по нему хеш У меня там не документ, а просто набор атрибутов. Например цена там может лежать и надо среднее будет посчитать - что тогда? Вот в серверах где

Re: Вопрос по функции HASH

2007-11-28 Пенетрантность Boulitchev Aleksey
У меня задача такая: я задумал написать очень абстрактную систему, работающую с разнородными объектами. Объекты имеют атрибуты. Я придумал 8 разных типов атрибутов, каждый из которых отображается на свой тип в БД. Но, за неимением SqlVriant, мне надо было или хранить все атрибуты в

Re: Вопрос по функции HASH

2007-11-28 Пенетрантность Dmitry Yemanov
sasha wrote: Надо всё внутри в юникоде хранить как жаба и нэт делают :) Ну дык храни. UTF-8 тебе в руки. -- Дмитрий Еманов

Re: Вопрос по функции HASH

2007-11-28 Пенетрантность Kovalenko Dmitry
Надо всё внутри в юникоде хранить как жаба и нэт делают :) Ну дык храни. UTF-8 тебе в руки. UTF8 - это юникод для бедных :))) Коваленко Дмитрий.

Re[2]: Вопрос по функции HASH

2007-11-28 Пенетрантность Sergey Mereutsa
Привет! Надо всё внутри в юникоде хранить как жаба и нэт делают :) Ну дык храни. UTF-8 тебе в руки. UTF8 - это юникод для бедных :))) Бугага! Как раз наоборот - для богатых. То ли дело, знать, что у тебя символ - 4 байта. А в UTF-8 - сначала поди и посчитай! :)) -- Best regards, Sergey

Вопрос по функции HASH

2007-11-27 Пенетрантность sasha
Вот, собственно, пример: EXECUTE BLOCK ( Value BLOB SUB_TYPE TEXT = ?VALUE ) -- 10 RETURNS ( Type VARCHAR(20), Hash BIGINT ) AS BEGIN Type = 'BLOB TEXT'; Hash = HASH(CAST(Value AS BLOB SUB_TYPE TEXT)); SUSPEND; Type = 'INT'; Hash = HASH(CAST(Value AS INT)); SUSPEND; Type =

Re: Вопрос по функции HASH

2007-11-27 Пенетрантность Vlad Khorsun
sasha ... Вот, собственно, пример: EXECUTE BLOCK ( Value BLOB SUB_TYPE TEXT = ?VALUE ) -- 10 RETURNS ( Type VARCHAR(20), Hash BIGINT ) AS BEGIN Type = 'BLOB TEXT'; Hash = HASH(CAST(Value AS BLOB SUB_TYPE TEXT)); SUSPEND; Type = 'INT'; Hash = HASH(CAST(Value AS INT));

Re: Вопрос по функции HASH

2007-11-27 Пенетрантность sasha
А что ты ожидал ? Аргумент HASH приводится внутри к строке и уже она хешируется. Уж не знаю хорошо это или где... Меня бы вполне устроило если бы он приводил к строке, ноон то приводит, то не приводит. Вот полный вариант: EXECUTE BLOCK ( Value BLOB SUB_TYPE TEXT = ?VALUE ) RETURNS

Re: Вопрос по функции HASH

2007-11-27 Пенетрантность sasha
А можно еще результаты полного варианта опубликовать? Не у всех ведь 2.1 стоит... Так у кого она не стоит, тому это пожалуй ине нужно? :-) Результаты такие: TypeHash BLOB TEXT 49 BIGINT 49 INT 49 SMALLINT