Hal Fulton wrote:

>> * 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.
>
>
> Haha, thanks! But of course, just because you name it after me doesn't
> mean it's necessarily what I wanted.  ;)
>
Man, I was hoping that flattery would get me somewhere!

> I will check this out soon, but it will probably be after the conference.
> Are you going, by the way?
>
Yep.  It's my first Ruby conference and I am geeked (pun intended)!

>> * 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!
>
>
> Cool idea.

Logan came up with this gem of an idea.

>
> [snip more]
>
> Looks like you've given us quite an arsenal of weaponry here.
>
> Norman Richards and I were talking at lunch last week (Norman, are you
> reading this?) and we were pretty much in agreement as to why we didn't
> like ActiveRecord so much. I'd love to get with him and work on a
> KB wrapper. I don't get to code much with local people so far. That's
> gonna change.  :)
>
Sounds great.

>> * Two new fields types are available for table fields:  Memo and 
>> Blob.  Check out the example in the memo_test directory.
>
>
> Are these similar at all? Are they, like, text and binary?
>
Yep.  Both open, read, and return the contents of files.  The only 
difference is Memo opens in "read" mode and does a #readlines, Blob 
opens in "read binary" mode and does a #read of the entire file.

>> * 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.
>
>
> Is this a statistical function of some kind?
>
Well, not exactly.  It's really hard to explain and I am probably using 
the term "crosstab" incorrectly.  Basically, what it does is that, for 
each column in the result set, KirbyBase gives you access to an array of 
all of the values of that column for the entire Result set.  In other 
words, if you think of a record of a result set as a "horizontal" slice 
of the Result set, this is a "vertical" slice of the Result set.  There 
is an example in the distribution that explains it a lot better than this.

>> * 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.
>
>
> More coolness. I hope I have time to play with this very soon.
>
See ya in San Diego!

Jamey