Me too so we're two Joomla! novices trying to get PostgreSQL up and
running here, cool! :-)
> Basically I've spent time rewriting a lot of Joomla's SQL to be more
> standards-compliant and added a PostgreSQL database handler, as well
> as additional support functions to cater for database-specific syntax
> like concatenation. In theory, any other database system can be added
> to it now just by writing a new handler for it and adding checks and
> options in the installer.
>
> I now have it in a state where it checks for PostgreSQL in the
> installer, offers it as an option from the database drop-down menu,
> sets up the database, populates it with sample data and it all appears
> to be up an running. The administration section works fine too from
> what I can tell.
>
I don't know if you have read the mailing list, I started the thread
"PostgreSQL support" and I have been trying to create the postgres
driver. I think you've got a really advance job related to this
subject.
Is there a way you can release your patches and/or source code and
work together? Or do you rather prefer to release a final job done?
> However, I'm not familiar enough with Joomla to perform the extensive
> testing necessary to check its compatibility. There are no doubt a
> huge list of bugs waiting to be found which I can't locate myself.
>
> I agree that it would be preferrable for Joomla to implement a query
> API or framework. Unfortunately I expect that would result in even
> more extensive changes to the system. I do think that should still be
> on the roadmap though.
Take a look at the JQuery library in Joomla 1.6. This could be a
starting point for multi-DB query support in third-party extensions.
> In the meantime, third party developers would merely have to follow a
> few guidelines to interact with databases without using database-
> specific syntax. Individually this shouldn't incur much overhead,
> unless their add-ons are bloated with hundreds of custom queries.
> This also raises the question of add-on compatibility checking. If
> multi-DB support were added, a check would have to be performed on the
> add-on to see what it declares itself compatible with. Maybe a
> manifest file that says something like "I only work with the old
> MySQL-
> only Joomla" or "I should work with every DB". If that manifest file
> isn't there, it marks it as incompatible. Just an idea.
Extensions are already able to specify different SQL files for
different databases. All we should have to do is configure Joomla to
reject the installation of components that do not have an SQL file for
the database being used. (Unless this already happens.)
> In the end, Joomla would greatly benefit from being freed from lock-in
> with a particular DBMS. I believe that an SQLite handler would also
> allow those without any database system installed to still use Joomla
> with a local db file.
Yes, multi-DB support has been on the wishlist for a while. Thanks for
stepping up!
-Joe
In the meantime, third party developers would merely have to follow afew guidelines to interact with databases without using database-specific syntax. Individually this shouldn't incur much overhead,unless their add-ons are bloated with hundreds of custom queries.This also raises the question of add-on compatibility checking. Ifmulti-DB support were added, a check would have to be performed on theadd-on to see what it declares itself compatible with. Maybe amanifest file that says something like "I only work with the oldMySQL-only Joomla" or "I should work with every DB". If that manifest fileisn't there, it marks it as incompatible. Just an idea.
Extensions are already able to specify different SQL files for
different databases. All we should have to do is configure Joomla to
reject the installation of components that do not have an SQL file for
the database being used. (Unless this already happens.)
This is a proposal that very much depends on the community. You, the
community, would have to send in the database driver for your favourite
DBMS, so that we can add it to the system. The rules are pretty simple.
Take the current JDatabase class and create a driver similar to the
MySQL driver and send it in. Make sure that it is according to the
Joomla coding style guidelines. Most likely there will be a few people
that are interested in working on a driver, as we have already seen in
this thread. Please coordinate your efforts among each other so that not
two or more people do the same task. The worst would be, that we get 10
Postgres solutions send in at the end and we had to choose among those,
throwing away the hard work other people did.
We are trying to get 1.6 on the road, so we'd like to get this going
fast. That's why we'd like to have a first solution (read: a driver that
looks as if its working ;-) ) by november 1st.
Looking forward to your submissions. :-)
Hannes
Anyone can review it to let me know if they spot any potential issues.
Thom
2009/10/17 Hannes Papenberg <hack...@googlemail.com>: