FB1.5: number of page buffers for cache required

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

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

Ответить
xpg
Сообщения: 4
Зарегистрирован: 10 мар 2005, 12:14

FB1.5: number of page buffers for cache required

Сообщение 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? я просто вижу, что сначала запрос делался в "генераторе", а потом дорабатывался драчевым напильником...
нууу... :) на самом деле никакие генераторы никогда не пользовались, все запросы пишутся ручками в спецуевой проге... вот такие дела.

Ответить