Meta-DBD's, Data Dictionary and Roles

Jens Rehsack <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.sybase.devel
Message-ID <[email protected]>
Hi Merijn,

I thought a bit about your data dictionary goals together with my
goal to can join between CSV-tables and DBD-tables (etc.).
I kept in mind, that backward compatibility is a major requirement.

We will have a problem to migrate existing tables into the new
data dictionary. Maybe I found a way out ...

1) Our Meta-DBD's will support methods 'init_valid_attrs ()' and
    'init_default_attrs ()' (most of them do it now).
2) Currently, DBD::File provides the storage and the derived DBD's
    provide some kind of parser.
    If we could clarify this a bit better (AnyData has a similar
    internal design and could need some abstraction help from DBD::File),
    we should be able to provide different storage backends.
3) DBD::CSV and DBD::DBM are very simple now - most of the code is
    abstracted in DBI::DBD::SqlEngine and DBD::File. The remaining
    code is mostly "parser" related (AnyData point of view).

We should be able to rewrite DBD::File, DBD::CSV and DBD::DBM
to have their parser code and attribution code in some role 'classes'.

Using another Meta-DBD based on DBI::DBD::SqlEngine, those roles
could be aggregated and the appropriate table could be initialized.
Because we are starting fresh here, we can build data dictionaries
from the beginning - no need to migrate anything.

How does it sound?

Best,
Jens
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.