Making relational data first class
Avi Bryant: Beta4.com
Tuesday 8:30:00 am to 9:15:00 am
Abstract: ROE, the Relational Object Expression library, models relational queries as first class Smalltalk expressions. This has several advantages over using SQL strings directly:
ROE can either be used directly as a better interface to relational databases, or as a new foundation for object/relational mapping tools. Currently, it has only been tested using PostgreSQL and Squeak Smalltalk, but it could easily be ported to other platforms.
- queries can be built using familiar Smalltalk syntax and without worrying about binding and escaping data
- queries can be easily composed, so that a complex query can be built up over several methods, none of which know any details about the others
- queries look like ordered collections of tuples, but with most operations other than #do: defined lazily; for example, #copyFrom:to: won't pull in any data, but will simply produce a new query with an extra clause
- queries maintain a rich set of metadata, so that, for example, the columns of any query can be automatically grouped by table and its rows mapped properly into objects.
And don't miss Avi's keynote on Seaside!. See you in Seattle!