#866340: remove support for date and time types, as those are not truly portable across database engines. From: Damien Tournoud --- database/mysql/schema.inc | 6 -- database/pgsql/schema.inc | 6 -- database/sqlite/schema.inc | 6 -- simpletest/tests/database_test.install | 16 ----- simpletest/tests/database_test.test | 103 -------------------------------- 5 files changed, 0 insertions(+), 137 deletions(-) diff --git includes/database/mysql/schema.inc includes/database/mysql/schema.inc index b0a2373..2ed809f 100644 --- includes/database/mysql/schema.inc +++ includes/database/mysql/schema.inc @@ -233,12 +233,6 @@ class DatabaseSchema_mysql extends DatabaseSchema { 'blob:big' => 'LONGBLOB', 'blob:normal' => 'BLOB', - - 'date:normal' => 'DATE', - - 'datetime:normal' => 'DATETIME', - - 'time:normal' => 'TIME', ); return $map; } diff --git includes/database/pgsql/schema.inc includes/database/pgsql/schema.inc index 44dccdc..8e793fb 100644 --- includes/database/pgsql/schema.inc +++ includes/database/pgsql/schema.inc @@ -246,12 +246,6 @@ class DatabaseSchema_pgsql extends DatabaseSchema { 'blob:big' => 'bytea', 'blob:normal' => 'bytea', - 'date:normal' => 'date', - - 'datetime:normal' => 'timestamp without time zone', - - 'time:normal' => 'time without time zone', - 'serial:tiny' => 'serial', 'serial:small' => 'serial', 'serial:medium' => 'serial', diff --git includes/database/sqlite/schema.inc includes/database/sqlite/schema.inc index 430c28e..429d80e 100644 --- includes/database/sqlite/schema.inc +++ includes/database/sqlite/schema.inc @@ -216,12 +216,6 @@ class DatabaseSchema_sqlite extends DatabaseSchema { 'blob:big' => 'BLOB', 'blob:normal' => 'BLOB', - - 'date:normal' => 'DATE', - - 'time:normal' => 'TIME', - - 'datetime:normal' => 'TIMESTAMP', ); return $map; } diff --git modules/simpletest/tests/database_test.install modules/simpletest/tests/database_test.install index 378ecb9..0b96ff3 100644 --- modules/simpletest/tests/database_test.install +++ modules/simpletest/tests/database_test.install @@ -156,22 +156,6 @@ function database_test_schema() { 'primary key' => array('tid'), ); - $schema['test_date'] = array( - 'description' => 'A simple table including a datetime field for testing datetime behavior.', - 'fields' => array( - 'id' => array( - 'description' => 'Simple unique ID.', - 'type' => 'serial', - 'not null' => TRUE, - ), - 'dummy_date' => array( - 'description' => 'A dummy datetime field.', - 'type' => 'datetime', - ), - ), - 'primary key' => array('id'), - ); - $schema['test_null'] = array( 'description' => 'Basic test table for NULL value handling.', 'fields' => array( diff --git modules/simpletest/tests/database_test.test modules/simpletest/tests/database_test.test index e97435b..f216b0b 100644 --- modules/simpletest/tests/database_test.test +++ modules/simpletest/tests/database_test.test @@ -3097,109 +3097,6 @@ class DatabaseTransactionTestCase extends DatabaseTestCase { /** - * Test proposed new data types for the schema API. - */ -class DatabaseExtraTypesTestCase extends DrupalWebTestCase { - - public static function getInfo() { - return array( - 'name' => 'Extra Types tests', - 'description' => 'Test the Extra Types.', - 'group' => 'Database', - ); - } - - - /** - * Test the date data type. - */ - function testDateField() { - try { - $date_table = array( - 'fields' => array( - 'date_field' => array( - 'description' => t('Test Date field'), - 'type' => 'date', - 'not null' => FALSE, - ), - ), - ); - db_create_table('date_table', $date_table); - $this->assertTrue(db_table_exists('date_table'), t('Created table with date field')); - - db_insert('date_table')->fields(array('date_field')) - ->values(array('date_field' => '2001-01-01')) - ->values(array('date_field' => '1856-12-31')) - ->values(array('date_field' => '2100-06-30')) - ->execute(); - - $num_records = (int) db_query('SELECT COUNT(*) FROM {date_table}')->fetchField(); - $this->assertEqual($num_records, 3, t('Inserted 3 records, and counted 3 records')); - $res = db_query('SELECT date_field from {date_table} ORDER BY date_field'); - - $date = $res->fetch()->date_field; - $this->assertEqual($date, '1856-12-31', t('Date retrieved in order @date', array('@date' => $date))); - $date = $res->fetch()->date_field; - $this->assertEqual($date, '2001-01-01', t('Date retrieved in order @date', array('@date' => $date))); - $date = $res->fetch()->date_field; - $this->assertEqual($date, '2100-06-30', t('Date retrieved in order @date', array('@date' => $date))); - - - db_drop_table('date_table'); - $this->assertFalse(db_table_exists('date_table'), t('Dropped table with date field')); - - } catch (Exception $e) { - $this->fail($e->getMessage()); - } - - } - - /** - * Test the time data type. - */ - function testTimeField() { - try { - $time_table = array( - 'fields' => array( - 'time_field' => array( - 'description' => t('Test Time field'), - 'type' => 'time', - 'not null' => FALSE, - ), - ), - ); - db_create_table('time_table', $time_table); - $this->assertTrue(db_table_exists('time_table'), t('Created table with time field')); - - db_insert('time_table')->fields(array('time_field')) - ->values(array('time_field' => '12:59:00')) - ->values(array('time_field' => '00:01:00')) - ->values(array('time_field' => '23:17:00')) - ->execute(); - - $num_records = (int) db_query('SELECT COUNT(*) FROM {time_table}')->fetchField(); - $this->assertEqual($num_records, 3, t('Inserted 3 records, and counted 3 records')); - $res = db_query('SELECT time_field from {time_table} ORDER BY time_field'); - - $time = $res->fetch()->time_field; - $this->assertEqual($time, '00:01:00', t('Time retrieved in order @time', array('@time' => $time))); - $time = $res->fetch()->time_field; - $this->assertEqual($time, '12:59:00', t('Time retrieved in order @time', array('@time' => $time))); - $time = $res->fetch()->time_field; - $this->assertEqual($time, '23:17:00', t('Time retrieved in order @time', array('@time' => $time))); - - db_drop_table('time_table'); - $this->assertFalse(db_table_exists('time_table'), t('Dropped table with time field')); - } catch (Exception $e) { - $this->fail($e->getMessage()); - } - - } - -} - - -/** * Check the sequences API. */ class DatabaseNextIdCase extends DrupalWebTestCase {