Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать
Модераторы: kdv, dimitr
-
xpg
- Сообщения: 4
- Зарегистрирован: 10 мар 2005, 12:14
Сообщение
xpg » 10 мар 2005, 12:18
Вот сегодня вдруг выскочила ошибка на запросе, который всегда работал на FB1.0: number of page buffers for cache required
В чем причина? Поискал в инете, вроде проблема с group by какая-то, но уж сильно системной звучит ошибка, и не понятно что собственно не так. Поясните пожалуйста.
Вот запрос:
Код: Выделить всё
SELECT
nom.ID,
nom.TYPE_FIRM,
nom.GOOD_MODEL,
cast(sum(gbp."Quantity") as integer) as "Quantity",
avg(gbp."LocationPrice"*gbp."CurrencyValue") as "LocationPrice",
max(gv."vvInteger") as "VATRate",
avg(gbp."CurrencyValue") as "CurrencyValue",
roundto(avg(gbp."LocationPrice"*gbp."CurrencyValue")*sum(gbp."Quantity"), 2) as "LineTotalWithVAT",
roundto((avg(gbp."LocationPrice"*gbp."CurrencyValue")*sum(gbp."Quantity"))/(1+100/max(gv."vvInteger")), 2) as "VATValue",
roundto((100/(cast(max(gv."vvInteger") as float)+100))*(avg(gbp."LocationPrice"*gbp."CurrencyValue")*sum(gbp."Quantity")),2) as "LineTotalWOVAT",
nom.COUNTRY,
nom.GTD,
d."Name" as "DepartmentName",
st."BuchName"
FROM
"GoodsByParty" gbp
INNER JOIN "Nomenclature" nom ON (nom.ID=gbp."RefNomenclatureID")
INNER JOIN "GetGlobalVar"('VATRate', NULL) gv ON (1=1)
INNER JOIN "Departments" d ON (d.ID=gbp."RefLocationDepID")
INNER JOIN "STBD" st ON (st.ID=nom."RefStbdID")
WHERE
(gbp."Quantity">0) and
(d."GlobalType"=1) and
d."ParentsHash" starting (select "ParentsHash" from "Departments" where ID=:DepID)
GROUP BY
d."Name",
nom.TYPE_FIRM,
nom.GOOD_MODEL,
nom.COUNTRY,
nom.GTD,
nom.ID
ORDER BY
nom."RefStbdID",
nom.TYPE_FIRM,
nom.GOOD_MODEL
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 10 мар 2005, 12:54
скорее всего firebird.msg "не той системы". то есть, клиентская часть по номеру сообщения вытаскивает не тот текст.
а чего мешанина-то такая? разве нельзя
(select "ParentsHash" from "Departments" where ID=:DepID)
воткнуть в вышестоящий join? я просто вижу, что сначала запрос делался в "генераторе", а потом дорабатывался драчевым напильником...
-
dimitr
- Разработчик Firebird
- Сообщения: 888
- Зарегистрирован: 26 окт 2004, 16:20
Сообщение
dimitr » 10 мар 2005, 13:39
1) Обнови firebird.msg на клиенте
2) Нельзя сортировать по полям, отсутствующим в группировке
-
xpg
- Сообщения: 4
- Зарегистрирован: 10 мар 2005, 12:14
Сообщение
xpg » 10 мар 2005, 13:45
kdv писал(а):скорее всего firebird.msg "не той системы". то есть, клиентская часть по номеру сообщения вытаскивает не тот текст.
да, спасибо, оказалось что клиентская часть старая
kdv писал(а):
а чего мешанина-то такая? разве нельзя
(select "ParentsHash" from "Departments" where ID=:DepID)
воткнуть в вышестоящий join? я просто вижу, что сначала запрос делался в "генераторе", а потом дорабатывался драчевым напильником...
нууу...

на самом деле никакие генераторы никогда не пользовались, все запросы пишутся ручками в спецуевой проге... вот такие дела.