FB 1.5.2 vs Linux абортится при простом запросе

Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать

Модераторы: kdv, dimitr

Ответить
ttyS
Сообщения: 6
Зарегистрирован: 03 июн 2005, 14:21

FB 1.5.2 vs Linux абортится при простом запросе

Сообщение ttyS » 03 июн 2005, 15:00

Есть сервак под линуксом
на нем вертится FB 1.5.2
при запросе SELECT поле1, cast( поле2 as varchar(512) ) as tt FROM <некая db> все хорошо;

при запросе SELECT поле1, cast( поле2 as varchar(512) ) as tt FROM <некая db> order by 2 все плохо (выходит по аборту); хотя в винде все хорошо (на винде 1.5 RC5);

при запросе SELECT поле1, cast( поле2 as varchar(256) ) as tt FROM <некая db> order by 2 все хорошо;

ГДЕ БЕДА КАК С ЭТИМ ЖИТЬ, НЕУЖТО ВИНДА ПОБОКУ ПРОПУСКАЕТ РАЗМЕР ИНДЕКСА А ЛИНУКС ПЕДАНТИЧЕН

При аборте выходит ругань ссылающаяся на lc_ascii line 615
в которой происходит проверка длины ключа и он равен 256
Последний раз редактировалось ttyS 03 июн 2005, 15:46, всего редактировалось 1 раз.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 03 июн 2005, 15:32

В диск на том компе где пЫнгвин, куда tmp настроен, ещё одну поверхность воткни и будет тебе щастье.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 03 июн 2005, 15:35

1. что за "поле2", какой тип
2. что значит "пропускает размер индекса" - ни о каком размере или индексе тут речь не идет.

ttyS
Сообщения: 6
Зарегистрирован: 03 июн 2005, 14:21

Сообщение ttyS » 03 июн 2005, 15:36

Merlin писал(а):В диск на том компе где пЫнгвин, куда tmp настроен, ещё одну поверхность воткни и будет тебе щастье.
Что-то не понял, если возможно поподробнее, у меня на tmp полный доступ пиши что хочешь и в конфиге тоже прописан ...

ttyS
Сообщения: 6
Зарегистрирован: 03 июн 2005, 14:21

Сообщение ttyS » 03 июн 2005, 15:38

kdv писал(а):1. что за "поле2", какой тип
varchar(100)
2. что значит "пропускает размер индекса" - ни о каком размере или индексе тут речь не идет.
Сори, размер ключа по которому он сортирует

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 03 июн 2005, 15:47

ttyS писал(а):
Merlin писал(а):В диск на том компе где пЫнгвин, куда tmp настроен, ещё одну поверхность воткни и будет тебе щастье.
Что-то не понял, если возможно поподробнее, у меня на tmp полный доступ пиши что хочешь и в конфиге тоже прописан ...
Доступ, гришь... При сортировке выборки (немалой, как я понимаю) по полю 256 символов доступа для tmp-файла хватает, а по вдвое большему не хватает, доступ кончается.

ttyS
Сообщения: 6
Зарегистрирован: 03 июн 2005, 14:21

Сообщение ttyS » 03 июн 2005, 15:50

Merlin писал(а):
ttyS писал(а):
Merlin писал(а):В диск на том компе где пЫнгвин, куда tmp настроен, ещё одну поверхность воткни и будет тебе щастье.
Что-то не понял, если возможно поподробнее, у меня на tmp полный доступ пиши что хочешь и в конфиге тоже прописан ...
Доступ, гришь... При сортировке выборки (немалой, как я понимаю) по полю 256 символов доступа для tmp-файла хватает, а по вдвое большему не хватает, доступ кончается.
При значении 257 беда таже, если вариант что нет места на диске то там 100G свободы 2G RAM, А ЗАПИСЕЙ 5 ШТУК

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 03 июн 2005, 16:01

Стук в подвале. LI-V1.5.1.4481 Firebird 1.5, LI-V1.5.2.4731 Firebird 1.5

SELECT code, cast( name as varchar(16000) ) as tt from classes order by 2

полёт нормальный. Кстати, индексы после Cast вообще не при деле, в этом случае сортируется натуралом.

ttyS
Сообщения: 6
Зарегистрирован: 03 июн 2005, 14:21

Сообщение ttyS » 03 июн 2005, 16:05

Merlin писал(а):Стук в подвале. LI-V1.5.1.4481 Firebird 1.5, LI-V1.5.2.4731 Firebird 1.5

SELECT code, cast( name as varchar(16000) ) as tt from classes order by 2

полёт нормальный. Кстати, индексы после Cast вообще не при деле, в этом случае сортируется натуралом.
Ты брал готовый или сборку, я собирал ...
тем не менее ругань
При аборте выходит ругань ссылающаяся на lc_ascii line 615
в которой происходит проверка длины ключа и он равен 256

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 03 июн 2005, 16:15

Какой чарсет
a) базы
b) поля
c) коннекта
?

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 03 июн 2005, 16:18

Да, в догонку - ты сам собирал DEBUG build.
Собери RELEASE и проверь

ttyS
Сообщения: 6
Зарегистрирован: 03 июн 2005, 14:21

Сообщение ttyS » 03 июн 2005, 16:45

hvlad писал(а):Да, в догонку - ты сам собирал DEBUG build.
Собери RELEASE и проверь
Сенкс спасло, странно конечно но факт ... в дебаге не работает а в релизе все ок ... интересно как они баги отлавливают ;)

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 04 июн 2005, 01:13

Ты нарвался на assert для которого я лично не вижу смысла. В release сборке он, естественно, превращается в пустую строку.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 06 июн 2005, 09:58

а зачем сам собирал? приключений охота?

Ответить