Implemeting a memory OO database in Squeak (was Re: port of prevayler)

tblanchard at mac.com tblanchard at mac.com
Mon Feb 17 00:36:44 UTC 2003


On Monday, February 17, 2003, at 12:44  AM, Avi Bryant wrote:
>> - PostgreSQL
>
> Socket-level Postgres driver.  Seems stable in recent releases.  
> Doesn't
> yet maintain type info (all columns are retured as strings).

This is no longer true - the latest pgsql client provided with glorp 
does return typed data (if you ask the row for typedData).

You can install new type conversion blocks into the connection object 
if you like. They're just single argument blocks keyed by type oid.  
Core types not supported by default are TimeStamp and Time with Time 
Zone (for the simple reason that squeak has no concept of time zones 
out of the box).  If you use the TimeStampWithTimeZoneDatabase, on 
SqueakMap then its easy to add type converters for these.

> Object Relational Mapping:
>
>> - Glorp
>
> Object/Relational mapping framework, based on TOPLink.  Maps rows into
> objects, to-one relationships into references, to-many relationships 
> into
> collections.  Currently only works with PostgreSQL.  Not in production 
> use
> AFAIK, but has extensive tests and is probably stable.

The version on squeakmap is still pretty immature.  Its missing code to 
generate primary keys - works fine for reads but not writes.  I have a 
changeset that fixes this.  I'm waiting for Alan to finish his current 
release cycle to work with him to integrate the changes.  The next 
version released should be pretty decent.

>
> Both GLORP and Tantalus can be adapted to use Apple's EOModel files for
> mapping metadata.

I have a set of extensions to glorp to support eomodel files. A few 
people have seen them but I would like more testing. email me if you 
want em.  I'm giving them back to glorp as well.

-Todd Blanchard



More information about the Squeak-dev mailing list