Support for MySQL databases
Now that the rewrite of the database abstraction layer is complete, we should implement MySQL support.
Blueprint information
- Status:
- Started
- Approver:
- Kolibri Dev
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- Thorbjørn Hermansen
- Definition:
- Approved
- Series goal:
- None
- Implementation:
- Needs Code Review
- Milestone target:
- None
- Started by
- Thorbjørn Hermansen
- Completed by
Whiteboard
The progress of this is good.
I have now implemented support for both buffered and unbuffered result sets. This is done in config, but can be overriden by calling a method on the connection which changes this on the fly. I know Anders talked about having more than one query-method (one buffered, one unbuffered), so we'll see if this will be changed later.
Transactions are also supported now, and it will by default do that. It is not given that you do get transactions even if the MySQLConnection is set up with that, as MySQL has more than one table engines, and only some supports transactions. MySQL autocommits to talbes which doesn't support transactions without raising any errors even with autocommit off, and so do we atm. So, make sure to use ex. InnoDB and not MyISAM if you want transactions.
It needs more testing, as I have only used it against the wish list example :-p Maybe Anders wants to get an account on my MySQL server to do some testing too?