Forum .LRN Q&A: Re: can .LRN support MYSQL database?

Posted by Dirk Gomez on
In my opinion the "transaction thing" doesn't hold water. We use PG and Oracle (almost always) in autocommit mode - that is just like we were emulating MySQL's behaviours: (o transactions simply means committing every statement immediately.

MySQL's SQL is very limited and there was no server-side programming language and no views about two years ago - probably some other issues as well and MySQL enthusiasts will tell you that either those features are implemented already or real soon now.

The two main differences between PG and MySQL in my opinion:

* PostgreSQL is an open source project, MySQL is a product which is given away for free.

* PostgreSQL is about 20 years old, MySQL is substantially younger.

Posted by Andrew Piskorski on
Dirk, your comment on transactions is just plain wrong. There is most definitely extensive use of explicit "begin transaction" statements in both the OpenACS core and in plenty of custom user code. Just how do you think db_transaction works, after all? It's not in the toolkit just for decoration. In fact, a quick recursive grep of a CVS checkout of OpenACS shows 1075 separate occurrences of the string "db_transaction" in *.tcl files. Also, the fact that a lot of code commits after every statement isn't relevent, even that code needs proper transaction support from the RDBMS.

Everything else Dirk, Andrew, and Roberto said above seems to be spot on.

From the simplest, most naive point of view, MySQL vs. PostgreSQL more or less boils down to:

  • Q: Does PostgreSQL have any advantages over MySQL (at least for uses like OpenACS)?
  • A: Yes, it has many advantages over MySQL. I could go on and on... RTFW.
  • Q: Does MySQL have any advantages over PostgreSQL (at least for uses like OpenACS)?
  • A: Basically, no, it doesn't.