Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать
Модераторы: kdv, dimitr
-
Mechanic
- Сообщения: 6
- Зарегистрирован: 23 авг 2006, 17:00
Сообщение
Mechanic » 07 сен 2007, 16:02
Всем привет! FireBird 1.5
У меня не работают простейшие запросы типа SELECT DISTINCT * FROM Трали-Вали... Причем, Трали-Вали таблица имеет 280 полей внутри. С пятьюдесятью полями запросы отрабатывались нормально всегда... Может ограничение на DISTINCT какое-нибудь есть? Дело не в данных это точно. Я на пустой таблице даже пробывал... Кстати ошибка так выглядит у меня:
invalid request BLR at offset 1518.
BLR syntax error: expected record selection expression clause at offset 1518, encountered 24.
Заранее спасибо!
-
WildSery
- Заслуженный разработчик
- Сообщения: 1738
- Зарегистрирован: 05 июн 2006, 16:19
Сообщение
WildSery » 07 сен 2007, 16:08
Простейшие запросы с дистинктом по 280 полям? Уже страшно.
Чего ж ты там столько набрал-то?
А вот почему не работает - не скажу. Вроде ограничений никаких не припоминается. Птицеводы подойдут, просветят, если захочут.
-
dimitr
- Разработчик Firebird
- Сообщения: 888
- Зарегистрирован: 26 окт 2004, 16:20
Сообщение
dimitr » 08 сен 2007, 08:41
1) DISTINCT выполняется сортировкой, длина записи которой ограничена 64К.
2) Приведенная ошибка к DISTINCT отношение вряд ли имеет.
-
Mechanic
- Сообщения: 6
- Зарегистрирован: 23 авг 2006, 17:00
Сообщение
Mechanic » 10 сен 2007, 12:40
dimitr писал(а):1) DISTINCT выполняется сортировкой, длина записи которой ограничена 64К.
2) Приведенная ошибка к DISTINCT отношение вряд ли имеет.
Как это не имеет отношения когда простой запрос select distinct * from table не выполняется, а select * выполняется...
"длина записи которой ограничена 64К"... Не совсем понял что здесь за длина записи имеется ввиду.
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 10 сен 2007, 13:29
что здесь за длина записи имеется ввиду
distinct * приводит к сортировке записи по максимальной длине столбцов. и если 280 столбцов по данным граничат с 64к, то возможно отсортировать такую запись нельзя, т.к. она в сортированном виде будет чуть больше 64к.
-
Mechanic
- Сообщения: 6
- Зарегистрирован: 23 авг 2006, 17:00
Сообщение
Mechanic » 10 сен 2007, 13:38
kdv писал(а):что здесь за длина записи имеется ввиду
distinct * приводит к сортировке записи по максимальной длине столбцов. и если 280 столбцов по данным граничат с 64к, то возможно отсортировать такую запись нельзя, т.к. она в сортированном виде будет чуть больше 64к.
О... Вот, он и ответ наверное...
Спасибо!