2023-11-06 babolo Унификация копилефтов. 2023-11-06 babolo Уменьшение варнингов. 2022-11-20 babolo Доки. 2022-02-26 babolo Продолжение замены BUILDINCLUDEDIR на CIPAINCLUDEDIR. 2020-07-29 babolo Изменение названия babolo-pglib. 2018-09-15 babolo Убран ROOTID. Стиль. 2018-09-12 babolo Исправлено форматирование. 2016-06-13 babolo Добавлена сщвместимость с современными babolo-libmake и mife. 2014-10-10 babolo Добавлена библиотека babolo-libmake. Переход на EXTENSIONы. 2010-07-01 babolo Добавлены README TODO в дистрибутив. 2010-05-05 babolo Учтен сдвиг номеров колонок при множественном наследовании. Стиль. 2010-04-28 babolo Описание в README. Оформлен PRIMARY KEY для SQLite таблицы input для правильной работы REPLACE. Исправлен макрос ANY_NUMID. Новые макросы для отбора параметров ANY и ANY_BOOL. 2010-04-27 babolo В макрос REGA() добавлен параметр для описания вывода значения. Описание макроса REGP() в README. Форматирование, комментарии. 2010-04-26 babolo Ликвидирована SQLite таблица pg_attr. Права на SEQUENCE теперь дается не только исходя из прав таблицы, от которой SEQUENCE порожден, но добавляются и права от таблиц потомков. Исправлен макрос ANY_LOWID - не позволял однобуквенные идентификаторы. Добавлен макрос ANY_LATID для идентификаторов латиницей. Добавлены макросы IN_NOW() и IN_NOW1(), у последнего неверный 2й параметр. Комментарии, форматирование. 2010-04-22 babolo Добавлен макрос REGP() для описания методов ввода. Добавлен макрос ANY_DATIM для ограничения ввода форматом датавремя. Макрос ANY_DATE теперь ограничивает ввод до даты. В таблицу "cipa save" добавлены методы ввода для "c ai" и "c ao" В README добавлены описания макросов. 2010-04-21 babolo Добавлен макрос LOG_VALID_INTERV аналогичный LOG_VALID_INTERVAL, но для неквоченных контекстов. 2010-04-11 babolo Перенесены сюда из cipa-dripa макросы ANY_NUMID, ANY_LOWID, NUM_CHAR. 2010-04-05 babolo Макрос IN_TIME() стал IN_TIME1(), а макрос IN_TIME() теперь обслуживает список параметров. 2010-03-29 babolo Долгожившая ошибка - несопоставление индексов. Лишний PGNM() в REGF(). 2010-03-29 babolo В основном Makefile цель postinstall лишняя, ее работу сейчас выполняет cipa init cipa. В таблицы class и attr добавлены ограничения на неповторяемость имен. Для "cipa guide" и "cipa save" индексы 9P, 9F и 0F заменены на 99P, 99F и 90F для меньшего влияния на остальные таблицы. Во избежание пропусков в нумерации колонок при заполнении attr из INHERITANCE используется временный триггер g. Заполнение attr из INHERITANCE теперь с алиасом для attr. Теперь разрешено переопределять индексы. 2010-03-22 babolo Макрос IN_TIME() был определен неверно. 2010-03-21 babolo Новый макрос IN_TIME(). 2010-03-16 babolo Изменилось преобразование в макросе SHEMANAME(). Выявлены неаккуратные использования имени схемы. 2010-03-15 babolo Процедура "cipa get credent"() - мелкие неточности. Новая функция "cipa get user"("cipa credent"). Макрос REGG() не имел своего #perform. 2010-03-15 babolo Ликвидированы процедуры "cipa exec varbit(int4)"() и "cipa exec int4"(). В "cipa credenter" теперь содержится regclass вместо процедур, процедуры теперь привязаны с своим таблицам авторизации - детям "cipa credent". Постулировано наличие процедур "cipa get credent"(), "cipa get user"() и "cipa get rights"() в детях "cipa credent". Ликвидированы процедуры, которыми заполнялись поля "cipa credenter". Восстановлен порядок в CIPA_7. 2010-03-11 babolo Макросы VSFX, QSFX, QIFX для суффиксов VIEW и SEQUENSE и для инфикса SEQUENSE в названиях. 2010-03-09 babolo Теперь "cipa guide"."c ji" NOT NULL. Суффикс VIEW вынесен из под PGNM(). Не восстанавливался "cipa key session". Теперь INITSERIAL заполняет dflt в месте написания для наследования. Теперь VIEW оформляются с RULE для R и Q таблиц. Не выполнялись в pgsql (отправлялись в 0) ALTER TABLE ... SET NOT NULL, CREATE INDEX ..., CREATE UNIQUE INDEX ... Форматирование. 2010-03-03 babolo В связи с шатаниями между sqlite2, sqlite3.5 и sqlite3.6 по возможности и необходимости замена JOIN ... USING(...) на , ... WHERE ... Где не существует варианта с или без квалификатора таблицы при имени колонки во всех вариантах sqlite, там квалификатор ставится в зависимости от используемой sqlite версии. Где не работают алиасы таблиц на всех вариантах sqlite, там сделан (SELECT * FROM ...) с именем. 2010-03-02 babolo Разрешен INSERT в "cipa jrnal" оператору. Теперь правильно порождаются таблицы с только наследуемыми полями. 2010-02-24 babolo Перемещена сборка VIEW из PRE5 в PRE2. 2010-02-24 babolo Стадия 2 перенесена - теперь после 3 и 4. Параметры SEQUENCE теперь внесены в таблицу attr. Обзавелась своим SEQUENCE таблица "cipa jrnal". Теперь "cipa guide" родитель для "cipa save". Инициализация переделана под изменение порядка стадий, но еще не работает. Макрос INITSERIAL() тепрь только заполняет таблицу attr, перенесены из 5й стадии в 1ю. Отработка serial и SET DEFAULT теперь в PRE2 стадии. 2010-02-23 babolo Пересекались ном ера индексов после распространения по наследникам. 2010-02-23 babolo Потерянные переключения с 0го на 4й регистр DB. Путаница с 1м параметром макросов GETENV(), GETARG(), GETPROC(), 1й параметр теперь имя колонки, 3й - регистр IO. 2010-02-21 babolo Отремонтирован restore. 2010-02-21 babolo Очень массовые изменения. Поменялся макрос для комментария ________(). Макросы REGT(), REGI(), REGA(), REGF(), CIPA5(), INITSERIAL() сами по необходимости применяют макросы PGNM() и PGAT(). Теперь cipa dump складывает в таблицу SEQUENCE значения всех SEQUENCE. Для SEQUENCE делаются GRANT внутри INITSERIAL() в соответствии с правами на соответствующую таблицу. Сокращены названия полей во временных таблицах до 2х символов. Теперь временные идентификаторы должны быть 1 или 2 символа, постоянные длиннее, что бы гарантированно избежать пересечения при переименовании. Макрос INITSERIAL() может иметь 5й параметр для ALTER после создания. Теперь индексы должны распространяться из родительских таблиц (но, похоже, еще не). Недокавыченное. Недотегированные имена таблиц и атрибутов. Комментарии, форматирование. 2010-02-20 babolo Поменялся порядок "cipa guide" и "cipa save". Возможно, "cipa guide" станет родительской для "cipa save". Отметки для SQLite таблиц в CIPA_1. Недокавыченное. Недотегированные имена таблиц и атрибутов. Комментарии, форматирование. 2010-02-20 babolo Основательная переработка. Переход на SQLite3. В связи с этим исправление JOINов с субSELECTами до понимаего SQLite3 вида. Добавлена стадия 8 - особое послеудаление. С 0го регистра основное подключение к PostgreSQL базе cipa перенесено на 4й регистр. Недоотловленные ранее маркировки атрибутов. Недоотловленные ранее кавычки вокруг атрибутов. Исправлен список для 7й стадии. Заработало действие drop. Форматирование. 2010-02-17 babolo Макросы SQAT() и PGAT() для тегирования имен полей в базах SQLite и PostgreSQL соответственно. Многие (не все еще) имена полей тэгированы, кроме временных и локальных. Поле "cipa right".rightid стало "cipa right".right. 2010-02-16 babolo Добавлен еще один тип журналирования - только для INSERT. 2010-02-16 babolo Форматирование после массовых изменений в предыдущем коммите. Громоздкие определения VIEW и RULE переписаны с использованием сокращенных алиасов. Унификация сокращенных алиасов. Тегированы пропущенные в прошлом коммите имена. Взяты в кавычки незакавыченные имена. 2010-02-16 babolo Макросы SQNM() и PGNM() для тегирования имен таблиц в базах SQLite и PostgreSQL соответственно. Многие (возможно, не все еще) имена таблиц тэгированы, кроме временных и локальных. Макрос SHEMANAME терерь может использоваться для тегирования, когда с параметром. Многие (возможно, не все еще) имена схем тэгированы. 2010-01-31 babolo Из INITSERIAL убрано ONLY. Из SET_NOTNULL убрано ONLY. При установке NOT NULL из описания убрано ONLY. При установке PRIMARY KEY из описания убрано ONLY. В INITSERIAL(), где использовался 4й параметр исключительно из-за ONLY, этот параметр удален. Были нечаянно закоментарены CONSTRAINTы в "cipa log" и "cipa jrnal". Переименован CONSTRAINT в "cipa pgcredent". 2010-01-25 babolo Копилефт в CIPA_3. Типизирован параметр в cipa/drop. 2010-01-21 babolo Макрос ________ для замены комментария --------, что бы можно было в комментарии использовать макросы. Замена имени схемы "cipa cipa" на "SHEMANAME". Новая функция "cipa loget"() для массовых INSERT. Расставлены недостающие "SHEMANAME". 2009-12-17 babolo Новая функция "cipa cipa"."cipa logad"(toid regclass, link int4, mess text) обеспечивает массовые INSERTы. 2009-12-10 babolo В неправильном месте стояло присвоение OIDов описаниям отношений в class. В макросе REGI() можно теперь пропустить 1й параметр (схема), будет использоваться текущая схема. 2009-12-09 babolo При SELECT из LEFT JOIN надо учитывать возможность NULL в WHERE. 2009-12-09 babolo Теперь все поля "cipa cipa"."cipa save" EMPTY, если предлагается ''. Дополнено описание макроса REGA(). 2009-11-27 babolo Новое поле "cipa cipa"."cipa key".logl. Теперь при restore "cipa cipa"."cipa key" частично (life, logl) восстанавливается, а salt генерируется заново. У "cipa cipa"."cipa session" появились значения по умолчанию. Комментарии. 2009-11-23 babolo Добавлены таблицы для параметров сессий и для хранения сессий. Параметры сессий пока юбез восстановления при restore. Новая роль "cipa face" для прав интерфейса. Функция "cipa cipa"."cipa loget"() теперь протирает и совместимые локи при add. 2009-11-20 babolo В описании атрибута на место DEFAULT помещается сам default. Новое слово в описании атрибута - EMPTY. Обозначает, что пустое значение исключает атрибут из операций. Теперь VIEW при INSERT принимает не только табличную блокировку, но и строчные. Замечание: тут смысловая инверсия - строчные блокировки сильнее табличных. Как бы доки. 2009-11-19 babolo Вторая фаза редактирования работаает для edit, остальные режимы пока не сделаны. Функции "cipa cipa"."cipa get credent"() и "cipa cipa"."cipa get rights"(int4)нужны раньше, чем в 5й стадии, потому перенесены внутрь пре5 стадии. Несколько нарушает стройность всего, но поскольку функции принадлежат базовому модулю вместе со всем механизмом построения, то неприятностей не жду. Для VIEW объявляются те же DEFAULTы, что и для подлежащих таблиц. Во временной таблице a, по которой строются RULE для VIEW, сокращены неиспользуемые поля. Интервал действия блокировок отсчитывался от restore(!) базы. Использовалась функция "cipa cipa"."f credent"() для получения авторизации, следы standalone отладки. Сейчас используется полная функция "cipa cipa"."cipa get credent"(). В RULE в UPDATE и DELETE использованы переименования длинных и переменных названий. В INSERT переименования не разрешены :-( Макрос inTESTed теперь берет параметр в кавычки. Поправлен regex для датавремя. 2009-11-17 babolo Подчищены определения схемы базы. 2009-11-16 babolo Теперь OID таблицы из pgsql заполныется в class. 2009-11-14 babolo В привязке индексов учтено еще одно ограничение - ссылка и ссылаемое должны быть в разных таблицах. Не указывать таблицу в ссылке - опасно. Указаны. 2009-11-12 babolo Был неправильный регистр базы при инициализации дампа. 2009-11-12 babolo Доперенесен на 3й регистр перебор баз для restore. Не хватало одного #untrap при переборе баз для restore. Заработал restore. 2009-11-11 babolo Замена define на builtin(define, ...), ifdef на builtin(ifdef, ...) и include на builtin(include, ...). Введены условия при операциях над одним модулем - имя модуля в регистре 1 и использование регистра с параметрами через макрос iFrEg. Аккуратно расставлены DROPы временных таблиц. Удаление из "cipa cipa"."cipa dep" и "cipa cipa"."cipa ver" сделано в блоке, что бы при неудаче оставить все. Комментарии, форматирование. 2009-11-11 babolo В class добавлены поля для обозначения базы и модуля источника. Из cipa/def.m4 убрана отладочная выдача. Ликвидирован макрос CIPA_PREAMBLE(). 2009-11-11 babolo Права (GRANT) распределены между таблицами и VIEW. 2009-11-11 babolo Теперь все CIPA_* всех модулей в restore и dump и заказанного модуля в init и drop инклудятся вместо вызова. Не работает drop основоного модуля и init всех модулей, кроме основного, впрочем, init и до этого коммита не работал. Инициализация сделана с рассчетом на UNIQUE INDEX ("c ji") в будущем. Удалены лишние точки с запятой после INITSERIAL(). Новые макросы ERROR() и ENNOL(), теперь неправильности запуска объясняются подробно. Некоторые номера регистров посдвигались ближе к началу. 2009-11-10 babolo Поднято требование к pgoblin до 2.36. 2009-11-10 babolo Добавлен макрос ANY_INUM для описания ввода целого числа (возможно, отрицательного). Добавлено создание команды CREATE UNIQUE INDEX ON...(oid) для всех таблиц WITH OIDS. 2009-11-10 babolo Зачистка мусора за dnl. 2009-11-10 babolo Макросы для проверки вводимого текста в поля таблиц. Проставлены функции проверки значений во вводимые поля "cipa cipa"."cipa log" и "cipa cipa"."cipa save". 2009-11-09 babolo Работает привязка внешних индексов к внутренним по 4 и 7 вариантам (помечены датой проверки). Мелкое изменение в формате вывода "индекс не найден". Вместо явного перечисления символов индексовы используются макросы. Отдельный макрос LOCAL_LETTERS для списка символов внутренних индексов. 2009-11-08 babolo Теперь stdout у CIPA_* не отправляется в /dev/null. Уточнена сборка индексов. 2009-11-06 babolo Права перенесены в DBcipa. Замена define на builtin(define, ...). Исправлена ошибка в REGISTRY_VERSION()/REGISTRY_DEPEND(). Макрос REGISTERED() удален за ненадобностью. Форматирование. 2009-11-02 babolo В описание таблицы DBcipa.class введен бит kindr для отметки о том, что таблица регистрируемая. Оценка регистрируемости стала много проще и макрос -+==+- удален за ненадобностью. Форматирование. 2009-11-02 babolo В первом приближении заработали правила для видов регистрируемых таблиц. GRANT роль для роли вынесены из под #trap. У "cipa cipa"."cipa credent" поле credent таки объявлено первичным ключом. Новый вид ссылки L - ссылка на не UNIQUE индекс. Суффикс для UNIQUE индексов теперь _ux. Погашены NOTICE на консоли. Теперь суффикс для вида в макросе WIEW_SUFFIX. Теперь время действия разрешения в макросе LOG_VALID_INTERVAL. Макрос -+==+- неправильно определял регистрируемые таблицы. Он, правда, и сейчас некоторые не определяет, которые не через прямое наследование. Теперь DEFAULT, REGEX и ZSUBST могут быть выражениями, в частности, константами в кавычках. Форматирование. 2009-11-01 babolo Величина indxl однозначно задает индекс, class указывать при этом необязательно. 2009-10-31 babolo Активно используется pgoblin 2.33. В README описания флагов таблиц и полей. Изменилась структура таблиц в DBcipa, описывающая индексы и ссылки, и разделен сбор участвующих имен и заполнение таблиц, описывающих внешние ключи. В таблицу индексов введено поле, указывающее тип индекса (это буква из флага поля), и внешние ссылки теперь выглядят как индексы F. Введен новый выд индексов T - для нерегистрируемой таблицы не отличается от I, в регистрируемой в начале индекса добавляется двумерное время. Нумерация индексов стала абсолютной. Есть сложности с индексами в родительских таблицах, надо подумать над описанием. Возможно, придумал относительно одобное форматирование в m4, опробвано в cipa/def.m4 и include/cipa.m4. Параметры макросов теперь вводятся через #echo и UPDATE с параметром из #echo, потому теперь не надо заморачиваться с квотированием - параметры указываются в своем натуральном виде. Теперь обработка всех индексов вынесена из CIPA_* файлов. Форматирование, комментарии. 2009-10-22 babolo Макрос DBMS поделился - текущий формат стал cDBMS, формат локальной базы со схемой глобальной базы в том виде, как она хранится, стал cipaDBMS, по умолчанию cDBMS устанавливается в cipaDBMS, в принципе по ходу может переустанавливаться, но сейчас установлена в начале на все. Сделано для возможно разного формата локальных баз. Макрос cipaDBMS теперь экспортируется из include/cipa. Устанавливается NOT NULL в эмуляции PRIMARY KEY регистрируемых таблиц. Подготовка к эмуляции PRIMARY KEY регистрируемых таблиц. Форматирование. 2009-10-22 babolo Теперь ссылки устанавливаются после всех индексов, потому циклическая ссылка в "cipa cipa"."cipa jrnal" стала обрабатываемой. ADD PRIMARY KEY, SET NOTNULL, CREATE [UNIQUE] INDEX, SET DEFAULT теперь для нерегистрируемых таблиц берутся из описаний, для регистрируемых из описаний берутся только SET NOTNULL и CREATE INDEX. На 5й стадии ликвидированы GRANT на таблицы - они есть в 1й стадии. Макрос REGISTERED() деактивирован. Обозначена зависимость от pgoblin-2.29. Форматирование. 2009-10-21 babolo Учет -+==+- и -+==+- перенесен из макропроцессора в SQLite. Макрос -+==+- для облегчения записи вычисления текущего класса по имени. Теперь REGF без атрибутов заполняет соответствующую строку indxf. Форматирование. 2009-10-20 babolo Общая таблица ключей indxs поделена на таблицу индексов indxc и таблицу внешних ссылок indxs. Из таблицы описания индексов indxo ликвидировано поле uniq, теперь его роль играет инверсия от младшего разряда номера индекса. Новая функция "cipa cipa"."cipa error"() для отказов в RULE. В описаниях полей (макрос REGA()) ликвидированы флаги U (по другой версии Q), вместо них флаг P с префиксным номером. Ошибка в описании "cipa cipa"."cipa save", второй индекс был помечен P1 вместо правильного 1P. В INSERT TO иногда не указывался список колонок. В виртуальных таблицах RULE для защиты от изменений тепрь в макросе. Участие полей в ключах теперь вносится в cipa базу. Комментарии, форматирование. 2009-10-19 babolo Теперь вносим индексы и ссылки в локальную базу cipa. Дополнен макрос REGA(). Новые поля notnl и dflt у cipa.attr. Новые локальные таблицы cipa.indxo, cipa.indxf, cipa.indxs. В локальной таблице cipa.input создан индекс. В описания полей REGA() добавлены флаги и DEFAULT, пока флаги не работают. В инициализацию включено заполнения "cipa cipa"."cipa pgcredent". Форматирование, комментарии. 2009-10-18 babolo Из-за внедрения двумерного времени усложнились конструкции схемы базы, потому пришлось переходить на типа язык описания схемы, пока на m4. Изменился состав полей у локальной таблицы cipa.class. Появилась новая локальная таблица cipa.inher. Лучше прописаны ограничения (комментарии в SQLite) таблицы cipa.attr. Вместо макроса описания таблицы REG0() сделан REGT(). Новые макросы REGI(), REGA() описывают INHERITANCE и атрибут таблицы. Новый макрос CIPA1 для создания таблицы в CIPA_1. Прямые CREATE TABLE, COMMENT ON TABLE, COMMENT ON COLUMN заменены на вызовы CIPA1 после соответствующего описания. Комментарии, форматирование. 2009-10-17 babolo Завершение перестановок. 2009-10-16 babolo Внедрение двумерного времени. "cipa cipa"."cipa credent" теперь регистрируемая, как и наследники. Перетасован родитель для регистрируемых в двумерном времени таблиц "cipa cipa"."cipa save". Поскольку ограничения требуется накладывать на все порождаемые тааблицы, если наложены на родительскую, но не наследуются автоматом, новый макрос REGISTERED(TABLE) для установки ограничений на регистрируемые таблицы. Родительские таблицы пока оставлены без ограничений (поскольку пустые). Вместо нормальных индексов в двумерном времени начато внедрение специализированных функций проверки связей. Из-за сложных циклических зависимостей пришлось сделать еще одну перестановку. Создание базы теперь проискодит только в cipa/CIPA_1 этого модуля, а не при где попало, как раньше. Локальная база cipa теперь подключается в каждом CIPA_* на 2й регистр. Вместо cipa.pg_class и cipa.pg_attr (которые порождаются из глобальной базы) постепенно вводятся cipa.class, cipa.attr, cipa.input, которые сами будут источниками для глобальной базы. pg_class и pg_attr пока в cipa сохраняются до изменения потребителей. Достаточно абстрактные и независимые функции "cipa cipa"."cipa exec varbit(int4)"(regprocedure, int4) и "cipa cipa"."cipa exec int4()"(regprocedure) вынесены ближе к началу. В таблицы регистрации версий добавлена длинна номера минора. В таблицах регистрации версий номера версий теперь int2 вместо int4. В "cipa cipa"."cipa credenter" теперь явно внесена строка для прямого подключения к базе. Соответственно поменялись функции из "cipa cipa"."cipa credenter". Функция "cipa cipa"."cipa loget"() теперь параметр credent берет из "cipa cipa"."cipa credenter". Из-за заполнения "cipa cipa"."cipa credenter" новые файлы CIPA_2 и CIPA_6. 2009-10-12 babolo Исправлен синтаксис комментариев. Большие комментарии перенесены в отдельные литералы, надо будет ввести в pgoblin команду #- комментарий на этапе трансляции. Добавлены таблицы "cipa cipa"."cipa jrnal" и виртуальная "cipa cipa"."cipa save". Было назначение прав "cipa cipa"."cipa in" вместо "cipa cipa"."cipa out". Макрос INITSERIAL() исправлен и дополнен, по умолчанию теперь устанавливается из ONLY таблицы, не пропускает номер при restore, появился необязательный параметр для задания FROM. Теперь к таблице "cipa cipa"."cipa credent" придана функция "cipa cipa"."valid credent"(credent int4), которая используется для имитации внешнего ключа. В "cipa cipa"."cipa exec int4()"(regprocedure) и "cipa cipa"."cipa exec varbit(int4)"(regprocedure, int4) неправильно конструировался вызов regprocedure. Есть сомнения, как должна выдавать ненайденные права процедура "cipa cipa"."cipa get rights"(credent int4), пока закоментировал. SEQUENCE "cipa cipa"."cipa in plid seq" переписан на макрос INITSERIAL(). Теперь NOTIFY при UPDATE "cipa cipa"."cipa in" посылается через RULE вместо триггера, надо проверить порядок, может, зря. 2009-10-12 babolo Перед изменением инфраструктуры по предложению almalysh делаем необходимые перестановки, которые не меняют ничего принципиально, но порождают большие diffы. Заодно меняем форматирование и добавляем комментарии. В TABLE "cipa cipa"."cipa log" порядок полей (link, mess, credent) поменялся на (credent, link, mess). 2009-10-01 babolo Ликвидирована таблица pg_nsp и реорганизована pg_class. В стадии 7 была пропущена FUNCTION "cipa cipa"."cipa loget"(int4, regclass, oid, tid). 2009-09-28 babolo Изменилось место SQLite копии схемы PostgreSQL базы - стало /var/db/sqlite/pg. Таблицы оттуда добавлены в список, но не дампятся - надо дальше разбираться. Назначены права "cipa cipa"."cipa credent credent seq". Поправлена зависимость от pgoblin - версия 2.27. 2009-09-26 babolo Планы из README перенесены в TODO. Добавлена SQLite база, в которой хранится PostgreSQL схема. В редактируемые таблицы добавлены OIDS. Добавлены права на "cipa cipa"."cipa log", наверное, надо их спрятать? "cipa cipa"."cipa log".log стал первичным ключом. Добавлена функция "cipa cipa"."cipa loget"(credent, toid, roid, coid), которая захватывает нужный для редактирования кортеж. 2009-08-06 babolo При обходе CIPA_N модулей ошибка при вызове прекращала обход. Теперь все действия (init, dump, restore, drop) создают базу, если отсутствовала. 2009-08-03 babolo Еще 2 обхода несуществующих файлов для стадий restore. Исправлен макрос SHEMANAME. 2009-08-03 babolo Аккуратные реакции на отсутствие CIPA_3, CIPA_7 и SQLite базы. 2009-07-31 babolo Как бы команда #error расписана правильной последовательностью команд. Макрос делать?.. 2009-07-31 babolo Необходимая версия pgoblin приподнята из-за исправленной ошибки в нем. Теперь cipa/dump при необходимости создает каталог, куда дампиться. Извращенное использование awk в cipa/dump прекращено, из-за чего тепрь зохраняются правильные имена файлов у SQLite дампов. В cipa/restore был неправильный порядок restore. В cipa/restore добавлена возможность ресторить SQLite. 2009-07-31 babolo cipa/drop и cipa/dump теперь обслуживают и SQLite объекты. Из cipa/def.m4 в include/cipa.m4 перенесены макросы SET_NOTNULL(), INCLUDE_MODULE(), REGISTRY_VERSION() с изменениями от cipa-dripa. Форматирование. 2009-07-30 babolo В drop и restore предполагалась схема public. 2009-07-29 babolo Начат постапенный отказ от pgocgi.m4 в составе babolo-libmake, с этой целью добавлен include/cipa.m4 с нужным здесь из состава pgocgi.m4. Стандартная преамбула CIPA_* теперь макрос CIPA_PREAMBLE. Объекты по большей части переместились из схемы "public" в схему "cipa cipa". Для установки SEQUENCE на заданные колонки сделан макрос INITSERIAL. Новый макрос SHEMANAME с именем схемы для этого модуля, может определять схему автоматом из имени модуля. Функция "cipa exec varbit()" стала "cipa exec varbit(int4)" и имеет теперь второй параметр - credent. Функция "cipa get rights" теперь получила параметр credent. 2009-07-28 babolo Для "cipa credent".credent не был прописан DEFAULT. По наследству от "cipa credent".credent DEFAULT и NOT NULL не распространяются. 2009-07-28 babolo В комплекте теперь есть основы авторизации. Теперь создаются необходимые роли при отсутствии. В таблице "cipa log" whom name заменено на credent int4. Форматирование. 2009-07-07 babolo Добавлен механизм drop со стадиями 6 и 7, стадия 7 здесь присутствует. Управление переведено на sqlite2. Макрос REGEX() подставляет нужную запись операции сравнения по образцу в зависимости от действующей СУБД управления. Регистрация теперь на стадии 5. Исправлены имена SEQUENCE. У #exec stdin и stdout направлен на /dev/null. В cipa/dump уменьшено количество перегонов таблиц между базами. Копилефт у def.m4 и (лишние) ;. 2009-07-03 babolo Недокомментировал предыдущий коммит: изменения в демоне. При запуске логи начинаются с даты. pid состоит только из цифр, не сноит его quote_copy(). Список pidов из плянов не попадал в нужную трубу. Сообщения о вычищаемых и оставшихся в планах процессах. Добавлено сообщение о конце бесконечного процесса. Общение бесконечного процесса с постгресом перенесено 1й регистр. 2009-07-03 babolo Удален вариант add, вместо него работает init. init сейчас можно только по одному модулю. cipa/restore потерял второе значение (init), init выписан отдельно. Не работало заведение юзера и группы в Makefile. Многострочные сообщения из SELECT в Makefile пришлось убрать из-за сложностей с концами строк. Теперь скрипты CIPA_[1245] запускаются только и строго с именем базы первым параметром, ниоткуда более имя базы не берется, если его нет, то ошибка. Скрипт CIPA_4 запускается с dump каталогом в качестве второго параметра. Параметр обязательный. Все параметры от init и restore более к CIPA_* не передаются, только нужные. Определение макроса DBMS перенесено из всех файлов в cipa/def.m4. Из CIPA_* убран #job 0000E за ненадобностью. Изменено определение языка plpgsql, вариант с обратной совместимостью не придуман. Нет модуля misc_utils. Оставлено дурацкое сочетание #job local -z и #trap на результат, пока не сделано лучше. Переименование колонок prog в modulename. Теперь вместо вызова createdb исполняется CREATE DATABASE. Стиль, комментарии и прочие мелочи. 2008-06-10 babolo Демон cipa использует sqlite3 при старте. В демоне использовалась поделка вместо quote_literal() в селекте для запуска плана. Комментарии и форматирование. 2008-06-08 babolo Прежняя конструкция, но переписано заново, используя pgoblin-2.14 (фактически другой язык относительно используемого ранее). Поправлены зависимости. Поправлена ошибка при установке, когда порождался лишний симлинк в каталоге модулей. Комментарии, форматирование. 2008-01-22 babolo Отлажено, работает. Комментарии, лицензии, права. Расставлены quote_*() где положено. Для вычисления SEQUENCE для plid нужно использовать не только "cipa in", но и "cipa out". Имена SEQUENCE с пробелами не работают. Новая команда cipa add модуль. В библиотечных каталогах делается линк общего названия на устанавливаемую версию. 2008-01-20 babolo Вторая часть набора.