Support for native date and time columns (like date, datetime, time) have been introduced on Drupal 7, but I suggest we remove them. Those types are only useful if we provide the necessary set of portable functions, and we don't.
More over, it is now very clear those types have very different semantics across the database engines: the 'Extra type tests' only passes on MySQL. It fails on at least SQLite, SQL Server and Drizzle (Drizzle doesn't even support the 'TIME' type).
Because it is *impossible* to build a portable application using those types, I suggest we remove them completely. We don't need to give module developpers more chances then necessary to shot themselves on the foot.
Moreover, the main argument for supporting those types was to enable Drupal to query external or legacy databases. Those applications are *not portable*, so in that case you can and should use the engine-specific type for a column, instead of the portable type, like this:
'mydate' => array( 'mysql_type' => 'TIME', 'description' => 'The date.', ),
'mydate' => array( 'pgsql_type' => 'time without time zone', 'description' => 'The date.', ),
FAILED: [[SimpleTest]]: [MySQL] Unable to apply patch 2010-12-28-866340-2.patch. View
PASSED: [[SimpleTest]]: [MySQL] 30,444 pass(es). View
FAILED: [[SimpleTest]]: [MySQL] 28,256 pass(es), 0 fail(s), and 12 exception(es). View
|#39||datetime.patch||621 bytes||Gerhard Killesreiter|
PASSED: [[SimpleTest]]: [MySQL] 30,411 pass(es). View
|#30||rollback_date.diff||6.8 KB||moshe weitzman|
PASSED: [[SimpleTest]]: [MySQL] 22,834 pass(es). View