2023-11-06 babolo Уменьшение варнингов. 2023-10-29 babolo Удаление варнингов. 2016-02-26 babolo Приведение копилефтов к единому виду. 2014-09-26 babolo Сообщения программ о себе приведены к единому виду. 2008-05-04 babolo Версия 0.04 Реакция на изменение мажора mife с 2 на 3 :-) 2007-03-11 babolo Версия 0.03 Теоретически поддерживаются версии PosgtreSQL от 6.4 до 8.2, притом от 6.4 до 7.0 явно указывать версию -n -1. Разумнее сделан массив параметров типов PGsaDumpCollection. Появилась автоматика определения номера версии и размера блока. Теперь пороверяется условие PageIsNew. Теперь, если не задано обратное (флаг -E), кортежи, помеченные HEAP_HASEXTENDED, не выводятся. Теперь распечатка типов по флагам -123456 выводится теми же процедурами, которые выводят атрибуты соответствующего типа. Подсказка сделана подробнее. Номер версии был беззнаковым, стал со знаком. Добавлен новый тип атрибута - tid. 2007-03-10 babolo Версия 0.02 Из block.c выделены функции обработки типов в отдельный файл types.cc. Сделана поддержка версии PostgreSQL 7.2, для чего введен слой совместимости с описанием в compat.h. Сделан подробный вывод при ошибках в странице, кортеже, колонке на высоких уровнях болтливости. Для удобства grepанья структуры в typedef struct поименованы. Новые флаги -n (задает версию структуры файлов), -B (не останавливаться при ошибке в структуре блока), -p и -P: первый задает мультипликатор, для второго, вместе используется для сдвига нумерации при дампе многофайловых таблиц. Мелочи. 2007-03-09 babolo Версия 0.01 Добавлен мануал. Ликвидирован тип NumericDigit, который зависел от определения основания numeric во время трансляции, из-за чего не обрабатывался правильно тип numeric с другим, заданным во время исполнения, основанием. Переписаны другие макросы для возможности выбора основания numeric во время исполнения. Слегка уменьшена процедура вывода char без принципиальных изменений. Теперь работает вывод ipv6& Ликвидированы неиспользуемые связанные со временем макросы. Теперь timestamp выводится с явно заданным нулевым часовым поясом, что препятствует неправильному вводу отметки времени при произвольном подборе часового пояса процедурой ввода. Улочшение читаемости, форматирование. 2007-03-08 babolo В структуре PGsaDumpCollection_t у conv добавился новый параметр для передачи кода контекста, в котором будет работать процедура. Добавлена обработка numeric, timetz, reltime, abstime. В структуре PGsaDumpCtl добавился новый параметр nbase - влияет на вывод numeric, соответствует NBASE макросу в исходниках PostgreSQL. Добавлена возможность выбора NBASE ключами коменды. В pgsadump.c была путаница - last без знака. В block.h почищены лишние типы. Сделена строгая обработка массивов. Переделана полностью обработка char для учета контекста. Точнее обрабатываются ошибки при выводе времени. В inet не выводилась маска. Новый макрос MODULO(). Некоторые вспомогательные процедуры обработки времени, в которых нет обнаружения ошибок, стали void вместо int. Более не используется макрос HAVE_INT64_TIMESTAMP, полностью управляется флагом PGsaDumpTINT. Повышение наглядности текста. Общая подчистка, форматирование. 2007-03-05 babolo Из pgsadump.h вынесены определения от PostgreSQL в отдельный block.h. Из block.h определения для времен и интервалов вынесены в time.cc, туду же перенесены вспомогательные функции для работы с временем и интервалами. Переставлены процедуры распечатки колонок. Процедура выдачи inet теперь компактнее и без вспомогательных процедур, но с ipv6 она все еще не работает. Массовая замена типов на стандартные для C/Unix. Теперь проверяются ctid, LP_USED, LP_DELETE при обработке кортежей. Новые флаги PGsaDumpETID, PGsaDumpLNUS и PGsaDumpLDEL отключают проверку, управляются ключами -e, -l и -L соответственно. Убрана кучка макросов, которые не использовались или использовались только по одному разу и не документировали программу. Теперь PGsaDumpCTID управляет выводом сохраненного ctid вместо реального. Для вывода реального ctid используется новый флаг PGsaDumpRTID, управляется новым ключем 9. Теперь перед выводом колонки проверяется соответствие ее размера размеру кортежа. Процедура PGsaDumpBlock() слегка поменяла тип для того, что бы не засорять pgsadump.h определениями из внутренности PostgreSQL. 2007-03-02 babolo Добавлен вывод macaddr и time. 2007-03-02 babolo Добавлен флаг -c (PGsaDumpXCOL) - не останавливаться при ошибке вывода значения колонки. Добавлен флаг -t (PGsaDumpXTUP) - не останавливаться при ошибке компоновки кортежа. Сделана проверка битового значения. Теперь PGsaDumpCollection содержит typdelim. Сделан вывод массивов, пока без квотирования и экранирования. 2007-03-01 babolo Введен новый флаг PGsaDumpXATR. Комментарии к флагам. Возможность выбора кортежей для печати по t_infomask. Возможность выбора кортежей для печати по минимальному количеству полей. Флаг -A стал -X. При ошибке в inet теперь может выдаваться сообщение. Ограничен диапазон напрямую печатаемых символов текста. Отладочные сообщения на входе/выходе PGsaDumpBlock(). Переменная цикла по кортежам внутри блока теперь смещена на 1 - с 0. НРеправильно вычислялся IS NULL для полей кортежа. 2007-03-01 babolo В дистрибутив добавлен pgsadump.h так, что бы не устанавливался. 2007-03-01 babolo Проверено float8, bit, name, возможно, int4. Работает разнообразное управление. Не проверено inet. Нет numeric. Надо проверять.