This is all possible with the DBAL layer plus the upcoming extension "dbal" (which Karsten D. is working on currently). The problem is not technical - the problem is that the group of people volunteering to dig into these issues didn't do it. http://typo3.org/projects/teams-and-projects/#proj_24