Support for MySQL databases

Registered by Anders Steinlein

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

Sprints

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?

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.