I would like to announce the release of version 2.5 of KirbyBase, a
small, pure-Ruby database management system that stores it’s data in
You can download it here:
Yes, you read that right, Martha. I finally got off my butt and created
a gem for KirbyBase.
This release includes a fix for a particularly subtle bug, involving
indexes, that caused me quite a bit of grief for a few days while I
tracked it down. Here’s whats new, besides the bugfix, in this release:
Added the following new methods to KBTable: add_index, drop_index,
rename_column, change_column_type, change_column_default_value, and
Added the ability to specify a default column value at table creation
Added the ability to specify, at table creation time, that a column
value is required when inserting or updating records.
Removed #add_table_column and #drop_table_column from KirbyBase class
and added #add_column and #drop_column to KBTable class. I felt like it
made more sense to have these methods in the table’s class rather than
the database’s class.
Added KirbyBase#rename_table method.
Added the ability to, upon database initialization, specify that index
creation should not happen until a table is actually opened. This
speeds up database initialization at the cost of slower table
Most of these enhancements were made to support Assaph M., the
developer of Pimki, in his on-going effort to create an ActiveRecord
adapter for KirbyBase. Assaph made me promise to say that the KirbyBase
adapter will not be 100% ActiveRecord compliant and that there is no
guarantee that he will actually get it to work. That being said, it
sounds like he is making steady progress and he even said I might get to
take a peek at the code soon.
I would like to thank all of the people who provided bug fixes,
suggestions, and ideas for version 2.5.
Confidentiality Notice: This email message, including any attachments,
is for the sole use of the intended recipient(s) and may contain
confidential and/or privileged information. If you are not the intended
recipient(s), you are hereby notified that any dissemination,
unauthorized review, use, disclosure or distribution of this email and
any materials contained in any attachments is prohibited. If you receive
this message in error, or are not the intended recipient(s), please
immediately notify the sender by email and destroy all copies of the
original message, including attachments.