RFC/patch: normalised object oriented clsql?
As a for-play hobby project I started porting/rewriting a perl web
framework I like to common lisp. Mostly to learn the language. Fairly
quickly I needed a place to put my data, and I ended up choosing
clsql, and started off using the object oriented parts of it.
Immediately I ran into something I thought a bit weird: subclassed
views did not re-use the database fields from the superclass, but
flatly included them within. At first I thought I must be doing
something wrong, so I started digging into the docs, but soon I found
that nowhere this issue was mentioned. Now, maybe I want something
stupid, or maybe I'm using or doing it wrong, but I thought it was
obvious that a subclassed view would be linked to it's parent view
through primary/foreign key pairs. A 'normalised' view, if I may abuse
that term here. Finding that clsql did nothing of the sort I thought I
would quickly add that functionality to it and move on. Famous last
words and all that...
Anyway, I've been working away at this for a while now, on and off.
Finding out that it entailed entirely a lot more changes than I had
anticipated, of course. Maybe this is why it wasn't there in the first
place... It's not really as trivial as I thought. Although, now, I'm
getting somewhere. I've actually added a bunch of tests that I now
also manage to pass. So it seems as I'm getting close to a working
system. An ideal time to throw it out there, and be pointed at an
existing implementatoin, or a better way to do it or whatever... ;)
I would very much like to hear thoughts, rants, pointers, anything
about this. I'm gonna go on with my original project now, and use this
stuff there. But maybe someone else likes this and wants to use it.
Maybe it's something that was planned all along and I've saved someone
some work (or done the work twice). Maybe this is something no-one
(Continue reading)