Блог посвящен технологической платформе Гедымин (Gedemin), предназначенной для быстрой разработки экономических приложений. Платформа создана компанией Golden Software of Belarus, Ltd и имеет открытый исходный код.
29 дек. 2010 г.
17 дек. 2010 г.
Сокращения на Yahoo!
Yahoo! закрывает delicious.com (и некоторые другие сервисы). Надеюсь они предоставят возможность слить ссылки. Обидно будет потерять все, что нажито непосильным трудом :(
PS: Привет Романчуку. Не всегда инвестор заинтересован в развитии и сохранении приобретенного предприятия. Бывает и так: поматросили и бросили.
PS: Привет Романчуку. Не всегда инвестор заинтересован в развитии и сохранении приобретенного предприятия. Бывает и так: поматросили и бросили.
13 дек. 2010 г.
По дороге к унифицированному парсеру SQL запросов
Создатели SQL похоже всерьез надеялись, что каждая кухарка со знанием английского будет писать запросы к реляционным базам. Чем еще объяснить такое буйство синтаксисов для некоторых функций? Все эти EXTRACT(year FROM date), DATEADD(month 5 TO date) и т.п. Странно, что для функции BIN_AND оставили синтаксис BIN_AND(a, b), а не придумали что-нибудь вроде BIN_AND(a AND b). Или возьмем синтаксическую избыточность многих конструкций и наличие необязательных зарезервированных слов. Например, SELECT [ALL] * FROM..., column [AS] alias... Простым разработчикам SQL парсеров от этого теперь одна головная боль.
2 дек. 2010 г.
Лечение поврежденной БД под Firebird 2.0
От клиентов пришла поврежденная база. Сервер Firebird 2.0. Внешне все ОК: gbak и gfix проходят без проблем, но некоторые хранимые процедуры не перекомпилируются (ALTER PROCEDURE) и не удаляются с сообщением:
Соответственно, невозможен процесс апгрейда базы с помощью утилиты FDBConvert.
Вылечить базу получилось следующим образом:
UPD: Конкретно в этой базе проблемы были с процедурами: MSG_P_GETCHILDCOUNT_BOX, MSG_P_EXPANDLIMIT_BOX, MSG_P_RESTRUCT_BOX.
This operation is not defined for system tables.
unsuccessful metadata update.
cannot delete.
COLUMN RDB$220.
there are 1 dependencies.
Соответственно, невозможен процесс апгрейда базы с помощью утилиты FDBConvert.
Вылечить базу получилось следующим образом:
- Определили список поврежденных процедур
- Для каждой из них сохранили исходный текст
- Удалили параметры процедуры с помощью запроса
DELETE FROM rdb$procedure_parameters WHERE rdb$procedure_name = 'name' - Удалили процедуру (DROP PROCEDURE)
UPD: Конкретно в этой базе проблемы были с процедурами: MSG_P_GETCHILDCOUNT_BOX, MSG_P_EXPANDLIMIT_BOX, MSG_P_RESTRUCT_BOX.