Моя перзистентная система

Обсуждаются как существующие проекты (перевод документации, информационная система и т.п.), так и создание новых.

Модератор: Модераторы

Ваше мнение:

Мне как раз такой и не хватало!
2
8%
Полезная вещь.
11
44%
Для меня, увы, неприменима.
10
40%
Бесполезна.
2
8%
 
Всего голосов : 25

Re: Моя перзистентная система

Сообщение Cheb » 13.05.2008 13:00:37

Почитал кой какие статьи в Инете...

Это что же, получается - я Object Database Management System для Паскаля создал? :shock:

Вот всю жизнь так. Сначала изобрету что-нибудь, и только потом узнаю, что у этого научное название есть. Вроде того, как я под ДОСом на Турбо Паскале + ASM многопоточный игровой движок наклепал. С переключением потоков через прерывание таймера и полноценной поддержкой критических секций - и это даже слова такого, "критическая секция", не зная.

Идеи какие-нибудь есть, чего моему творению не хватает до полноценной базы данных? Возможность обходить всё дерево объектов и сохранять только выбранные по маске - уже в планах стоит.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: Моя перзистентная система

Сообщение v-t-l » 13.05.2008 13:45:42

Cheb писал(а):Это что же, получается - я Object Database Management System для Паскаля создал? :shock:

Следующий шаг - Object Query Language http://en.wikipedia.org/wiki/Object_Query_Language или XQuery http://en.wikipedia.org/wiki/XQuery :)
v-t-l
энтузиаст
 
Сообщения: 735
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Re: Моя перзистентная система

Сообщение *vmr » 13.05.2008 14:36:27

Cheb писал(а):Идеи какие-нибудь есть, чего моему творению не хватает до полноценной базы данных? Возможность обходить всё дерево объектов и сохранять только выбранные по маске - уже в планах стоит.

Не обижайся, но твоему творению не хватает нормального API и документации... :? Честно скажу, три раза пытался "вьехать", но так и не получилось...
Так что пошел голосовать за третий пункт.

ЗЫ: А лисапед под названием Object Database Management System я уже изобрел давно :). Сейчас активно его юзаю. Настолько активно, что он стал заменой TDataSet'а :)

Добавлено спустя 1 минуту 27 секунд:
ооопс. А "голосовалка" зафризина :)
Аватара пользователя
*vmr
постоялец
 
Сообщения: 168
Зарегистрирован: 08.01.2007 01:46:07
Откуда: Киев

Re: Моя перзистентная система

Сообщение Cheb » 14.05.2008 02:00:40

Не обижайся, но твоему творению не хватает нормального API и документации...

Так что ж раньше то никто не сказал?!!

Документацию переделаю с нуля, а то действительно каша какая-то.
АПИ тоже улучшу, чтобы борщ отдельно, тараканы отдельно.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: Моя перзистентная система

Сообщение Cheb » 17.05.2008 21:31:44

Короче, перекраиваю полным ходом. Надо наконец убрать кучу дурацких архитектурных ограничений - а то массив из записей нельзя, массив из массивов, индексируемых перечислимым типом - тоже нельзя, произвольный класс добавить - задача для титанов... Ужас, короче.

А ещё надо совместимость со старым форматом файлов из 0.7 и 0.8.2 не поломать - корячусь, как... Но свет в конце тоннеля уже виден.

Черновик полностью обновлённой доки >>
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: Моя перзистентная система

Сообщение Cheb » 29.06.2008 17:04:27

Только что заметил: существующие версии chepersy будут несовместимы с fpc 2.2.2 из-за изменения формата множеств. А на пути к chepersy 0.9 ещё и конь не валялся. Но я твёрдо намерен решить этот вопрос (тем более всё просто: надо лишь переключаться при надобности на имеющийся код для дельфи). Вопрос лишь - когда.

Одно могу сказать точно: поддержка старого формата файлов (ниже 0.7) будет брошена, предполагая, что все пользующиеся уже пересохранили свои данные в новом формате. Формат изменится ещё раз при переходе от 0.8 к 0.9. Как всегда, старый будет доступен только для чтения, запись будет только в новом.

Также будет брошена встроенная проверка MD5 сумм и предварительная проверка правильности длины файла. Всё это сделано в угоду возможности работать с потоками, не поддерживающими Seek - например, с потоками сжатия. Плюс, обход архитектурных ограничений потребовал добавления новой информации - таблицы полей, ранее относившиеся только к классам, теперь используются и для записей, и для массивов, индексируемых перечислимыми типами. И т.д.

В новом формате отсутствует выравнивание на 32 бита (раньше при записи массива байт, например, к каждому добавлялось три нулевых) - это была отрыжка изначальной архитектуры, где сохранение шло не в поток, а в особые буфера в памяти.

Изменения формата файлов гарантированно прекратятся только по достижении 1.0. Поддержку формата 0.7-0.8 в версии 0.9 можно отключать кондишнлом.

З.Ы. Документация - в кодировке utf-8, но сервер думает, что cp1251. Просто выберите utf-8 вручную в своём браузере.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: Моя перзистентная система

Сообщение Cheb » 05.07.2008 19:59:31

ОБЪЯВЛЕНИЕ: Требуются подопытные кроли для испытаний сырца на своей филейной части!
Полуфабрикат здесь:
http://217.70.20.10/soft/chepersy.0.8.90.zip
(если не качается - виноват мой провайдер, что-то последние дни связь иногда прерывается)

- Изменить формат потока - сделано.
- Изменить API - сделано.
- Переписать документацию - К тому, что уже готово, уже написана (ссылку я приводил выше)
- Добавить возможность обхода дерева объектов - И КОНЬ НЕ ВАЛЯЛСЯ.
- Изменить парадигму обработки ошибок на то, что описано в документации - частично
- Добавить совместимость с фпц 2.2.2 - ПОКА НЕ.
- Снять архитектурные ограничения - в основном сделано, лишь поддержка статических массивов по прежнему хромает на все четыре ноги. А так, появилась возможность работать со следующими типами:
-- Массивы из записей
-- Массивы из перечислимых массивов
-- Записи с полями-записями, полями-перечислимыми массивами, и любыми матрёшками из оных

Под Дельфи не проверял.
Фатальных багов, из-за которых предыдущие версии не могли работать, но почему-то работали - удавлено три штуки.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: Моя перзистентная система

Сообщение Cheb » 07.07.2008 15:18:30

Выложенный сырец 0.8.90 неработоспособен-таки :oops:

Я почти довёл 0.8.91 до рабочего состояния, но упёрся в тот факт, что в старом файле был статический массив в свовершенно доисторическом формате (который ещё при переходе к 0.7 был помечен как "устаревший"). Теперь надо тащить совместимость с этой бякой дальше :cry:

Мозг болит. :(

Текущие версии доков:
http://host-20-10.imsys.net/soft/cheper ... al-ru.html
http://host-20-10.imsys.net/soft/cheper ... al-en.html

Добавлено спустя 12 минут 47 секунд:
...Итить! :evil: :oops: Старая процедура регистрации устаревшего типа никуда не делась, надо было лишь использовать её вместо нормальной.

Ловите испытуемого:
http://217.70.20.10/soft/chepersy.0.8.91.zip

Конверсия между "версиями программы" - работает, совместимость и назад и вперёд.
Совместимость со старыми файлами - есть, читает нормально.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: Моя перзистентная система

Сообщение *vmr » 07.07.2008 19:19:42

Cheb, ты того, может выложишь на соурсфорж?
Авось кто нибудь да подхватит, и будете вместе баги фиксить :)
Аватара пользователя
*vmr
постоялец
 
Сообщения: 168
Зарегистрирован: 08.01.2007 01:46:07
Откуда: Киев

Re: Моя перзистентная система

Сообщение Cheb » 07.07.2008 20:33:46

А оно уже давным-давно туда выкладено.
Эту конкретную версию - пока не могу, мануал на английский переведён меньше чем наполовину.
И, кстати, кто не смог скачать: у моего провайдера что-то глючит, сеть отрубается чуть не каждый день примерно в полпятого, на час-другой.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: Моя перзистентная система

Сообщение Cheb » 09.07.2008 10:36:15

[...]
Добавлено спустя 3 часа 59 минут 36 секунд:
0.8.92 готова, более-менее проверена в работе, Дельфи укрощён.
На SourceForge пока выложить не могу, письмо о восстановлении пароле не доходит.

Скачать можно отсюда:
http://www.chebmaster.narod.ru/soft/libs_pers.html

Туда же переехана и документация.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: Моя перзистентная система

Сообщение Cheb » 10.07.2008 16:20:30

0.8.93. Там же. Пофиксены серьёзные ляпы в новом API.

Как ни крути - тестовая программа слишком ограничена чтобы по нормальному отдебажить систему, нужно реальное применение. А мой игровой движок вчера как раз не компилировался из-за внутренней ошибки компилятора (см. баг №11632. Зацените: пофиксили через два часа после того, как я о нём сообщил!
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: Моя перзистентная система

Сообщение Cheb » 11.07.2008 17:25:42

0.8.94 8)
Добавлена ключевая фича: обход объектного графа с вызовом вашей собственной процедуры для каждого. Теперь её можно по настоящему назвать системой управления базой данных. :D
Удавлен всякий мусор и недопустимые символы в коде (это всё релизный робот виноват, который у меня её собирает из дюжины .inc файлов :evil: :oops:)

Мануал http://www.chebmaster.narod.ru/soft/libs_pers.html
Скачать с https://sourceforge.net/projects/chepersy/
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: Моя перзистентная система

Сообщение Cheb » 19.07.2008 23:40:32

0.8.95
Добавлены две фичи:
1. Выборочная запись объектов по маске (на месте не записанных после чтения будет NIL)
2. Возможность поддержки стандартных классов (в тестовую прогу включён пример с TStringList).

Добавлено спустя 2 минуты 3 секунды:
P.S. И нет у неё никакой ннесовместимости с фпц 2.2.2 - это они просто с документацией по компилятору намудрили.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: Моя перзистентная система

Сообщение Cheb » 24.08.2008 23:49:52

0.8.96
Вырезал к чертям собачьим возможность поддержки стандартных классов. Это была дорога, мощёная благими намерениями. Сами знаете, куда.

0.8.97.
Багофиксы.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Пред.След.

Вернуться в Разное

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru