From: Ezra Zygmuntowicz Date: 2005-10-11T07:40:22+09:00 Subject: Re: [ANN] KirbyBase 2.3 Production Version Hey thanks Jamey. This stuff is great! Keep 'em coming. Cheers- -Ezra On Oct 10, 2005, at 11:20 AM, Jamey Cribbs wrote: > I would like to announce the production release of version 2.3 of > KirbyBase, a small, pure-Ruby database management system that > stores it's data in plain-text files. > > You can download it here: > > Windows: http://www.netpromi.com/files/KirbyBase_Ruby_2.3.zip > Linux/Unix: http://www.netpromi.com/files/KirbyBase_Ruby_2.3.tar.gz > > Here's whats new since the 2nd beta: > > * A lot of code cleanup and some bug fixes. > > * The manual has been updated with the new features. By the way, > the manual really needs to be re-organized/re-written, something > I'm a little too burnt out to do right now. If anyone enjoys > writing documentation ( :-) ) and would be interested in helping > with this, please let me know. > > * And, the most dramatic addition, the implementation of *The Hal > Fulton Feature* (TM). I have implemented the shortcut designation > for a Lookup field that Hal has requested for some time. Check out > the example in the example/lookup_field_test directory or the > manual to see what this is. > > Here are the other new features rolled in from betas 1 and 2: > > * New column type: :YAML. If you designate a column as a :YAML > type, then you can store anything that YAML can handle in this > field. This opens up the possibility for now storing arrays and > hashes in KirbyBase. KirbyBase takes care of calling YAML.load() > and #to_yaml for you, so you can just use the field as a normal > native Ruby type. One nice side effect of this is that you can > even use :YAML fields in your #select queries. Many thanks to > Logan Capaldo for this idea! > > * Two new methods: #add_table_column and #drop_table_column. > > * You can now define one-to-one relationships and one-to-many > relationships between tables. I hesitate to call KirbyBase > "relational", because I know that the term, in its pure form, is > supposed to refer to whether the dbms supports relational algebra, > not relations between tables. That being said, KirbyBase now > supports the ability to link a field in one table to another table, > so that when you perform a select, you automatically have available > in that field a reference to either a single record (for one-to-one > links) or multiple records (for one-to-many) links. > * You can now define calculated fields in a table. These are > "virtual" fields that don't get populated with data until runtime. > For example, you can create a field called "total" and specify that > it's value is "quantity * price". During a #select, KirbyBase > will, for each record, calculate the value of "total" by > multiplying the "quantity" field by the "price" field. Check out > the example in the calculated_field_test directory. > > * Two new fields types are available for table fields: Memo and > Blob. Check out the example in the memo_test directory. > > * KirbyBase now makes available "crosstab" functionality in the > result set of a #select. I am probably not using the term > "crosstab" correctly, but I am having a hard time finding the right > word to use. Basically, you now have available all of the values > for a particular column of the result set. Probably the best way > to see what this is is to take a look at the example in the > crosstab_test directory. > > * KirbyBase now has the ability to take advantage of indexes if you > specify them when you create a table. Both single and compound > indexes are supported. > > I would like to thank all of the people who provided bug fixes, > suggestions, and ideas for version 2.3. > Enjoy! > > Jamey Cribbs > jcribbs@twmi.rr.com > > > > 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. > > > -Ezra Zygmuntowicz Yakima Herald-Republic WebMaster http://yakimaherald.com 509-577-7732 ezra@yakima-herald.com