17 дек. 2009 г.

Следующая версия будет 2.5

На сегодняшний день имеем такую ситуацию:
  • StarTeam — текущая версия Гедымина с более-менее проверенными изменениями. Именно из исходников из StarTeam ежедневно компилируется и выкладывается на сайт новейший gedemin.exe.
  • Trunk в SubVersion является урезанной копией исходников их StarTeam. Отсутствует FastReport 4, по причине авторских прав, архив Obsolete, рабочие версии документации, вспомогательные каталоги Test, Utility и т.п.
  • Периодически состояние Trunk фиксируется тэгами. Из коментария к тэгу должно быть понятно для чего он создавался. Судя по тэгам, номер текущей версии — 1.5.2.
  • Ветвь branches/gedemin-1.x содержит исходники Гедымина, без использования особенностей сервера Firebird 2.5. Я вручную перекидываю сюда некоторые правки из StarTeam.
  • Ветвь branches/gedemin-2.5 — экспериментальная разработка. Скомпилированный отсюда экзешник не будет работать с сервером версии меньше 2.5 (а временами, и вообще не будет работать :). В ближайшем будущем, после тестирования и доводки, ветвь будет объединена с Trunk.
Следующая версия Гедымина будет иметь номер 2.5 и будет работать только с сервером Firebird 2.5 или выше.

После 2.5 будет принято решение по целесообразности дальнейшего использования StarTeam. Скорее всего, откажемся от него в пользу SubVersion.

14 дек. 2009 г.

MSSQL и урезание лога транзакций

StarTeam, который мы используем для контроля за версиями исходников Гедымина, хранит данные в базе MSSQL. Каждые два года лог транзакций MSSQL начинает резко увеличиваться в размерах, пожирая все свободное пространство на диске. Решить эту проблему изнутри StarTeam невозможно. Каждые два года приходится лазить по компьютерным форумам в поисках магической последовательности команд:

isql -S (local)\STARTEAM -U GEDEMIN
1> backup log GEDEMIN with NO_LOG
2> go
1> backup log GEDEMIN with TRUNCATE_ONLY
2> go
1> DBCC SHRINKDATABASE(GEDEMIN)
2> go
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Как выяснилось, именно гигантский (в десятки Гб) лог и был причиной того, что сервис StarTeam перестал стартовать при запуске ОС. Очевидно, не успевал проверить свой лог в отведенное время и винда его просто срубала раньше времени.

То ли дело Firebird -- ни логов транзакций, ни проблем с ними связанных...

11 дек. 2009 г.

DUnit testing framework

Outlook of gedemin.exe compiled with DUNIT_TEST conditional symbol defined.

They are only first steps and only few tests exist, but more are coming.

9 дек. 2009 г.

Группа на январь 2010

Скорее всего, если удастся согласовать расписание работы учебного центра, следующая группа будет в двадцатых числах января 2010 г. Следите за объявлениями на сайте!

Gedemin 64 bit

TgsStream64 из модуля gsMMFStream позволяет работать с огромными объемами данных.
    ...
    function Seek(Offset: Int64; Origin: Word): Int64;

    property Position: Int64 read GetPosition
      write SetPosition;
    property Size: Int64 read FStreamSize;
    ...


В качестве нижележащего механизма хранения используется Memory Mapped File. В настоящий момент TgsStream64 используется в окне с логом операций, которое видит пользователь при загрузке настройки или данных из потока.