From: David Lloyd <lloy0076@ad...> - 2005-03-06 07:51:18
I had started to write some simple PERL data objects; I'd have the paradigm:
...and then I implemented "add", "delete", "update", "lock". Anything
add or update, I'd pass an anonymous hashes [because I like anonymous
hashes]. Then I took my Mason book home (http://www.masonbook.com/)
because I want to implement one of my jobs using Mason. I decided to use
my data objects here and dutifully turned to Chapter 8 where it
describes the Perl apprenticeship implementation.
And I saw this thing called Alzabo.
Being curious, I looked up the website, attempted (rather unsucussfully)
to install it using apt-get (Debian) and then installed it using "cpan".
It installed rather easily and I was happy with the result.
From just two hour's use of this module, I can see it will do
everything I was going to do with my own, data objects. It solves
exactly the same problem that I was trying to solve: 'Turn the RDBMS
into a black box, and just get data from it'. I wanted a solution where
I could essentially give the object a username, password and dsn, and a
schema [all the better if the system could work that out for itself] so
I could just say: 'Fetch me all the records that this customer has.'.
This actually implements things the way I would have implemented things.
I'd like to think that this is because my brain is as brilliant as the
author's however I know that this is one of those universal flukes :P
Now, it is very likely that my company will move from MySQL straight to
Oracle this year. By that time I should have gotten used to the Alzabo
1. Is there an Alzabo for Oracle project somewhere?
2. If not, say in a month's time [after I'm used of using Alzabo],
would anyone mind if I attempted to implement an Oracle backend?
I think my efforts would be better spent improving Alzabo rather than
rewriting it in a proprietary package.
On Sun, Mar 06, 2005 at 06:21:06PM +1030, David Lloyd wrote:
> 1. Is there an Alzabo for Oracle project somewhere?
I've got Alzabo running under Oracle for business purposes with a fair
bit of code I added.
On the up side, it works nicely. On the down side, it involves a fair
bit of code, not all of it right in the Oracle modules, and a few
hacks to support our data model:
* 'SYNONYM' flag for tables; denotes that the table is readable
and can be linked to via foreign keys, but should not be created
* Reverse engineering support for synonyms.
* 'SEQUENCE blah' flag for tables, to use a shared one rather than
one per table.
* Tracking of sequences in reverse engineering to avoid creating
ones that already exist.
* Character case logic -- prefer uppercase in schema (quote any
lowercase), prefer lowercase (quote any uppercase), or just
quote everything. Hardcoded into the Oracle module.
Plus probably some other stuff I've forgotten. And the coding style
(indentation, brackets, spacing, etc.) is a mix of the original style
plus my own, which is more C like and uses tabs.
Unfortunately, while it was written on company time, it'd have to be
brought over on my own personal time (currently quite fleeting), or