Доброго времени суток!

Andrew Holubovski wrote:
На DelphiPlus опубликована 1-я часть статьи Владимира Сергеева "Firebird 2.0
на полную катушку" - "Создание перекрестных запросов (Cross-Tab)".

Не буду ругать автора за
Один знакомый автора, тоже занимающийся разработкой СУБД на основе InterBase, нашел следующий выход: в рамках одной транзакции создавалась хранимая процедура, делалась выборка данных из хранимой процедуры, строился отчет, а затем транзакции делался откат. В результате хранимай процедура "не сохранялась". Кстати, его система работает уже несколько лет, объем данных - около 1Гб. (Эй, кто там говорил, что в InterBase нельзя играться метаданными "на лету" ?).
поскольку сам этим никогда не занимался и не помню, в чем там грабли.

На мой непросвещенный взгляд автор заслуживает порицания за откат читающей транзакции
if trRead.InTransaction then trRead.Rollback;

и прежде всего за фрагмент кода
  if not trRead.InTransaction then
    trRead.StartTransaction;
  try
    IBQuery.Open;
  except
  end;

В FibPlus вроде бы транзакции по умолчанию стартуют с read_committed - что несколько не подходит для формирования отчетности.

Несколько непонятно, для чего в двухмегабайтный source.zip обязательно было включать мегабайтную БД (не backup!) вместе со скриптом для ее формирования

С уважением, Евгений.

Ответить