[csw-maintainers] Proposed changes to the packages database

Maciej (Matchek) Blizinski maciej at opencsw.org
Thu Aug 20 12:46:27 CEST 2009


On Wed, Aug 19, 2009 at 10:13 PM, Philip Brown<phil at bolthole.com> wrote:
> On Wed, Aug 19, 2009 at 1:12 PM, Maciej (Matchek) Blizinski
> <maciej at opencsw.org> wrote:
>>
>> On Wed, Aug 19, 2009 at 8:56 PM, Philip Brown<phil at bolthole.com> wrote:
>>
>> >
>> > That tells me nothing about what you are actually trying to DO ... ?
>>
>> I'm writing a package explorer that's easy for many people to work on.
>> Why?
>
> So that when  you're asking for  a fork, I can have a better idea of when a
> spoon would work better for you :)

A fork... not necessarily, I would prefer a knife, to kill the old app ;-)

> but sounds like the earlier answer of "yes, you can join between two
> 'separate' databases" will get you everythig you need, I think.

Data split into multiple databases will generally pose a problem for
any non-custom system; if you look at any web framework (Rails,
Django, CakePHP), it's usually expected that the complete information
is contained within a single database. It's especially important in
places where the database access layer is decoupled from the model; if
at some level the application doesn't know the specifics of the
database, it can't expect to know that there are two or more of them,
and which class is stored in which database.

Usually, the dependencies within a MVC+ORM are that the object model
is handled by the ORM system, which has a layer of translating from
classes to database tables; once it's established what the tables are,
there's a engine-specific part which handles a specific database
engine and is responsible for storing data in tables. Using multiple
databases is database-engine-specific (you can't do cross-db joins in,
say, Berkeley db, can you?), so multi-db specifics would have to
belong to the database-specific layer. But at that stage it's too
late; it's already established what the tables are.

Anyway, I don't want to get too much in there, the short story is that
there's a need for a single database connection to use by the
application.

Is there a technical reason for a separate database for package
information? It looks to me as if the tables from the CSW database
could be moved to the MANTIS one.

Maciej



More information about the maintainers mailing list