My primary battle plan should be enhance Drupal cross database compatibility. I have involved in this topic for around a year, and I would like to keep it on going. To accomplish this target, I would like to complete the following tasks before D7 code freeze:
- Improve Database API for better abstraction
Something should be done before any other targets, e.g. resolve reserved words conflict, split drivers into individual files for better management, indeed but simple abstraction for different database syntax, add INSERT/UPDATE/DELETE abstraction and enhance drupal_write_record() abstraction, etc. With a better common base for multiple database development, we will need much less time to study the differences between databases than that of before.
- Add PHP PDO supporting
Shipping D7 with PHP PDO should be a spotlight topic, since it is now official package for PHP5.2.x, and legacy drivers will soon be removed in PHP6.x. We may need some cleanup in our core query syntax, in order to let PDO get works.
- Introduce more database backend
Up to this point, I would like to introduce some other database backend for D7, e.g. Oracle, SQLite, IBM DB2 and also MSSQL. If we are able to support SQLite in D7, which also means we are going to standardize our core queries into SQL92 standard, the problem for maintain multiple database backend should no longer a critical problem; if we are able to support Oracle, the most complicated database I guess, this should no longer a problem for us to implement drivers for other databases.
I have summarize most of my personal battle targets in here. Most logic are proved as functioning, and they are all get set for the open of D7 public development. On the other hand, I would like to explore if this may integrate with other interest musings with Data API, so we will able get all stuff better in D7 ;-)


















any progress on this front?
any progress on this front?
It is temporary postponed...
It is temporary postponed...
Since I have a part time project about Drupal + MediaWiki on hand since March, I am keep focusing on site building and theme development (and that's why we have Multiflex-3). This project is almost complete so I will have more time for database once again.
On the other hand, since there is some unfriendly feedback from drupal.org, someone even lock my issue and don't allow me to update the progress of Siren; moreover, chx and Crell say that they will handle the revamp of database abstraction layer, including multiple database support + master/slave + OOP + etc, so there is no position for me to join the development in old style, even though work and research are all complete...
Anyway, chx and Crell seems slow down their work and I will have more time in the coming future, the work may start rolling once again :-)
----------------------------------------
Edison Wong
Post new comment