--- /home/hy0kl/www/diff/linkchecker/linkchecker.install	2008-04-09 00:10:32.000000000 +0800
+++ /home/hy0kl/www/diff/patch/linkchecker.install	2008-10-06 15:15:55.000000000 +0800
@@ -7,30 +7,71 @@
 function linkchecker_install() {
   switch ($GLOBALS['db_type']) {
     case 'mysql':
-    case 'mysqli': {
-      db_query(" CREATE TABLE `linkchecker_tasks` (
+    case 'mysqli':
+      db_query("CREATE TABLE {linkchecker_tasks} (
                 `taskid` int(10) unsigned NOT NULL default '0',
                 `nodeid` int(10) NOT NULL default '0',
                 `status` int(10) NOT NULL default '0',
                 `update` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
                  PRIMARY KEY  (`taskid`)
-                 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;");
-      db_query(" CREATE TABLE `linkchecker_results` (
+                 ) /*!40100 DEFAULT CHARACTER SET utf8 */"
+	       );
+      db_query("CREATE TABLE {linkchecker_results} (
                  `taskid` int(10) NOT NULL default '0',
                  `url` text NOT NULL,
                  `response` varchar(255) NOT NULL default '0',
                  KEY `taskid` (`taskid`)
-                 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-         ");
-      db_query("INSERT INTO `linkchecker_tasks` ( `taskid` , `nodeid` , `status` , `update` )
-                 VALUES ('0', '0', '0', '0');");
-     }
+                 ) /*!40100 DEFAULT CHARACTER SET utf8 */;"
+	      );
+      db_query("INSERT INTO {linkchecker_tasks} (`taskid` , `nodeid` , `status` , `update`)
+                 VALUES ('0', '0', '0', '0')");
+     /* merge link_checker*/
+     //tid task id
+     db_query("CREATE TABLE {linkchecker_cck} (
+		  tid INT(10) UNSIGNED NOT NULL DEFAULT 0,
+		  vid INT(10) UNSIGNED NOT NULL DEFAULT 0,
+		  nid INT(10) UNSIGNED NOT NULL DEFAULT 0,
+		  delta INT(10) UNSIGNED NOT NULL DEFAULT 0,
+		  last_checked DATETIME DEFAULT '2000-01-01 00:00:00',
+		  status INT(4) NOT NULL DEFAULT 0,
+		  field_name varchar(254) NOT NULL,
+		  PRIMARY KEY (`tid`, `vid`, `nid`, `delta`, `field_name`),
+		  INDEX(last_checked),
+		  INDEX(status)
+		  ) /*!40100 DEFAULT CHARACTER SET utf8 */"
+	      );
       break;
-   /* ToDo - add support for Postgres
+   /* ToDo - add support for Postgres*/
     case 'pgsql':
-
+      db_query("CREATE TABLE {linkchecker_tasks} (
+                `taskid` INT UNSIGNED NOT NULL DEFAULT 0,
+                `nodeid` INT NOT NULL DEFAULT 0,
+                `status` INT NOT NULL DEFAULT 0,
+                `update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+                 PRIMARY KEY  (`taskid`)
+                 )");
+      db_query("CREATE TABLE {linkchecker_results} (
+                 `taskid` INT NOT NULL DEFAULT '0',
+                 `url` text NOT NULL,
+                 `response` varchar(255) NOT NULL default '0',
+                 KEY `taskid` (`taskid`)
+                 )");
+      db_query("INSERT INTO {linkchecker_tasks} (`taskid` , `nodeid` , `status` , `update`)
+                 VALUES ('0', '0', '0', '0')");
+
+      db_query("CREATE TABLE {linkchecker_cck} (".
+		 "tid INT UNSIGNED NOT NULL DEFAULT 0,".
+		 "vid INT UNSIGNED NOT NULL DEFAULT 0,".
+		 "nid INT UNSIGNED NOT NULL DEFAULT 0,".
+		 "delta INT UNSIGNED NOT NULL DEFAULT 0,".
+		 "last_checked DATETIME DEFAULT \"2000-01-01 00:00:00\",".
+		 "status INT NOT NULL DEFAULT 0,".
+		 "field_name varchar(254) NOT NULL,".
+		 "PRIMARY KEY (tid, vid, nid, field_name, delta),".
+		 "INDEX(last_checked),".
+		 "INDEX(status)
+	         )");
       break;
-   */
   }
 }
 
@@ -40,9 +81,11 @@ function linkchecker_install() {
 function linkchecker_uninstall() {
   db_query('DROP TABLE {linkchecker_tasks}');
   db_query('DROP TABLE {linkchecker_results}');
+  /*merge link_checker*/
+  db_query('DROP TABLE {linkchecker_cck}');
+  db_query("DELETE FROM {variable} WHERE name like '%linkchecker%'");
 }
 
-
 /**
  * Update table definitions.
  */
@@ -73,4 +116,43 @@ function linkchecker_update_1000() {
     */
   }
   return $ret;
+}
+
+function linkchecker_update_1001() {
+  $ret = array();
+
+  switch ($GLOBALS['db_type']) {
+    case 'mysql':
+    case 'mysqli':
+      $ret[] = update_sql("CREATE TABLE {linkchecker_cck} (
+		  tid INT(10) UNSIGNED NOT NULL DEFAULT 0,
+		  vid INT(10) UNSIGNED NOT NULL DEFAULT 0,
+		  nid INT(10) UNSIGNED NOT NULL DEFAULT 0,
+		  delta INT(10) UNSIGNED NOT NULL DEFAULT 0,
+		  last_checked DATETIME DEFAULT '2000-01-01 00:00:00',
+		  status INT(4) NOT NULL DEFAULT 0,
+		  field_name varchar(254) NOT NULL,
+		  PRIMARY KEY (`tid`, `vid`, `nid`, `delta`, `field_name`),
+		  INDEX(last_checked),
+		  INDEX(status)
+		  ) /*!40100 DEFAULT CHARACTER SET utf8 */");
+      break;
+    /* ToDo - add support for Postgres*/
+    case 'pgsql':
+      $ret[] = update_sql("CREATE TABLE {linkchecker_cck} (".
+		 "tid INT UNSIGNED NOT NULL DEFAULT 0,".
+		 "vid INT UNSIGNED NOT NULL DEFAULT 0,".
+		 "nid INT UNSIGNED NOT NULL DEFAULT 0,".
+		 "delta INT UNSIGNED NOT NULL DEFAULT 0,".
+		 "last_checked DATETIME DEFAULT \"2000-01-01 00:00:00\",".
+		 "status INT NOT NULL DEFAULT 0,".
+		 "field_name varchar(254) NOT NULL,".
+		 "PRIMARY KEY (tid, vid, nid, field_name, delta),".
+		 "INDEX(last_checked),".
+		 "INDEX(status)
+	         )");
+      break;
+    
+  }
+  return $ret;
 }
\ No newline at end of file
