--- event.install	2007-03-29 21:23:18.000000000 +0000
+++ new_event.install	2008-03-31 14:37:51.000000000 +0000
@@ -8,6 +8,7 @@ function event_install() {
       db_query("CREATE TABLE {event} (nid int(10) unsigned NOT NULL default '0',
                 event_start int(10) unsigned NOT NULL default '0',
                 event_end int(10) unsigned NOT NULL default '0',
+                event_allday int(10) unsigned NOT NULL default '0',
                 timezone int(10) NOT NULL default '0',
                 PRIMARY KEY (nid),
                 KEY event_start (event_start)
@@ -18,6 +19,7 @@ function event_install() {
                 nid int NOT NULL default '0',
                 event_start int NOT NULL default '0',
                 event_end int NOT NULL default '0',
+                event_allday int NOT NULL default '0',
                 timezone int NOT NULL default '0',
                 PRIMARY KEY (nid));");
       break;
@@ -117,3 +119,37 @@ function event_update_2() {
 
   return $ret;
 }
+
+function event_update_3() {
+	$result = db_query('SELECT * FROM {event} LIMIT 1');
+  // Special case for an empty event table.
+  if (db_num_rows($result) == 0) {
+    $ret = array();
+    db_query("DROP TABLE {event}");
+    event_install();
+
+    return $ret;
+  }
+  $fields = db_fetch_array($result);
+
+  switch ($GLOBALS['db_type']) {
+    case 'pgsql':
+      if (isset($fields['event_allday']) === FALSE) {
+        $ret[] = update_sql("ALTER TABLE {event} ADD COLUMN event_allday int AFTER event_end");
+        $ret[] = update_sql("UPDATE {event} SET event_allday = 0");
+        $ret[] = update_sql("ALTER TABLE {event} ALTER event_allday SET default 0");
+        $ret[] = update_sql("ALTER TABLE {event} ALTER event_allday SET NOT NULL");
+      }
+      
+      break;
+    case 'mysql':
+    case 'mysqli':
+      if (isset($fields['event_allday']) === FALSE) {
+        $ret[] = update_sql("ALTER TABLE {event} ADD COLUMN event_allday int(10) unsigned NOT NULL default '0' AFTER event_end");
+      }
+      
+      break;
+  }
+   return $ret;
+ }
+ 
