? event_vid.patch
Index: CHANGELOG.txt
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/event/CHANGELOG.txt,v
retrieving revision 1.5
diff -u -p -r1.5 CHANGELOG.txt
--- CHANGELOG.txt	17 Dec 2006 21:34:38 -0000	1.5
+++ CHANGELOG.txt	12 Mar 2008 15:45:57 -0000
@@ -1,3 +1,10 @@
+12. March 2008
+--------------
+
+[Alexis Bellido]
+Added vid field in event table and support for it. It helps building queries involving events
+and keeps consistency with other modules defining node types.
+
 17. December 2006
 -----------------
 Update for Drupal 5
Index: event.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/event/event.install,v
retrieving revision 1.4.2.2
diff -u -p -r1.4.2.2 event.install
--- event.install	29 Mar 2007 21:23:18 -0000	1.4.2.2
+++ event.install	12 Mar 2008 15:45:57 -0000
@@ -5,7 +5,9 @@ function event_install() {
   switch ($GLOBALS['db_type']) {
     case 'mysql':
     case 'mysqli':
-      db_query("CREATE TABLE {event} (nid int(10) unsigned NOT NULL default '0',
+      db_query("CREATE TABLE {event} (
+                nid int(10) unsigned NOT NULL default '0',
+                vid int unsigned NOT NULL default '0',
                 event_start int(10) unsigned NOT NULL default '0',
                 event_end int(10) unsigned NOT NULL default '0',
                 timezone int(10) NOT NULL default '0',
@@ -16,6 +18,7 @@ function event_install() {
     case 'pgsql':
       db_query("CREATE TABLE {event} (
                 nid int NOT NULL default '0',
+                vid int NOT NULL default '0',
                 event_start int NOT NULL default '0',
                 event_end int NOT NULL default '0',
                 timezone int NOT NULL default '0',
@@ -117,3 +120,16 @@ function event_update_2() {
 
   return $ret;
 }
+
+function event_update_3() {
+  $ret = array();
+
+  if ($GLOBALS['db_type'] == 'mysql') {
+    $ret[] = update_sql("ALTER TABLE {event} ADD vid INT UNSIGNED DEFAULT '0' NOT NULL");
+  }
+  elseif ($GLOBALS['db_type'] == 'pgsql') {
+    db_add_column($ret, 'event', 'vid', 'INT', array('DEFAULT' => 0, 'NOT NULL' => TRUE));
+  }
+
+  return $ret;
+}
Index: event.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/event/event.module,v
retrieving revision 1.215.2.16
diff -u -p -r1.215.2.16 event.module
--- event.module	12 Jul 2007 14:54:59 -0000	1.215.2.16
+++ event.module	12 Mar 2008 15:46:01 -0000
@@ -2009,7 +2009,7 @@ function event_nodeapi(&$node, $op, $tea
         break;
 
       case 'insert':
-        db_query('INSERT INTO {event} (nid, event_start, event_end, timezone) VALUES (%d, %d, %d, %d)', $node->nid, $node->event_start, $node->event_end, $node->timezone);
+        db_query('INSERT INTO {event} (nid, vid, event_start, event_end, timezone) VALUES (%d, %d, %d, %d, %d)', $node->nid, $node->vid, $node->event_start, $node->event_end, $node->timezone);
         event_set_range();
         break;
 
@@ -2020,7 +2020,7 @@ function event_nodeapi(&$node, $op, $tea
         // there will be no record in the event table, so the dates cannot be
         // changed.
         db_query('DELETE FROM {event} WHERE nid = %d', $node->nid);
-        db_query('INSERT INTO {event} (nid, event_start, event_end, timezone) VALUES (%d, %d, %d, %d)', $node->nid, $node->event_start, $node->event_end, $node->timezone);
+        db_query('INSERT INTO {event} (nid, vid, event_start, event_end, timezone) VALUES (%d, %d, %d, %d, %d)', $node->nid, $node->vid, $node->event_start, $node->event_end, $node->timezone);
         event_set_range();
         break;
 
@@ -2029,6 +2029,10 @@ function event_nodeapi(&$node, $op, $tea
         event_set_range();
         break;
 
+      case 'delete revision':
+        db_query('DELETE FROM {event} WHERE vid = %d', $node->vid);
+        break;
+
       case 'load':
         $object = db_fetch_object(db_query('SELECT event_start, event_end, timezone FROM {event} WHERE nid = %d', $node->nid));
         switch (variable_get('event_timezone_display', 'event')) {
