Oxid PostgreSQL support

I was wondering if anyone uses Oxid on PostgreSQL which is a much faster and feature complete database. When I look at SVN I see use is made of adodb which implies oxid should be database agnostic. However I also see that in the oxid database wrapper oxdb.php class a direct reference is made to mysql_real_escape_string. Next to that there seem to be several mysql specific functions and comments.

Hi geertn,

AFAIK, OXID used adodb in the very beginning very extensively. Over the time, more and more other database server where replaced by MySQL and the code grew in this direction. I think today, it ought to be pretty much work to make OXID cross-database ready but this is on our plans for one of the upcoming versions. adodb shall be replaced by a more modern db-layer as well…

Regards

Hello Marco,

Out of curiosity, why do you think this will be a lot of work? After searching through the source I do not see THAT many direct references to mysql.

Steps would roughly be:

  • refactor database using eg Danamic Dezign
  • Remove direct references for mysql
  • Enable postgresql adodb module

One thing that scared me a bit is that I did not see any foreign key setup in the sql setup files. Does this mean Oxid does not make use of referential integrity provided by the database?

We are currently in the process of reviewing several open source shops. To explain my questions :wink:

No there are no foreign keys in OXID. The OXID of a row is unique for the whole database, and you have a lot of tables like “oxobject2something” where you can assign a random object to a list, or something else. OXID does this for reasons of performance, i think.