? .svn
? feedapi_node_fix_index.patch
Index: feedapi_node.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi/feedapi_node/Attic/feedapi_node.install,v
retrieving revision 1.1.2.1
diff -u -r1.1.2.1 feedapi_node.install
--- feedapi_node.install	30 Oct 2007 22:11:22 -0000	1.1.2.1
+++ feedapi_node.install	13 Nov 2007 16:26:59 -0000
@@ -5,15 +5,19 @@
   switch ($GLOBALS['db_type']) {
     case 'mysqli':
     case 'mysql':
-      db_query("CREATE TABLE if not exists {feedapi_node_item} (
-        fiid int(10) unsigned NOT NULL auto_increment,
+      db_query("CREATE TABLE {feedapi_node_item} (
+        fiid int(10) unsigned NOT NULL,
         feed_nid int(10) unsigned NOT NULL,
         nid int(10) unsigned NOT NULL,
         url varchar(255) NOT NULL default '',
-        timestamp int unsigned NOT NULL default '0',
-        arrived  int unsigned NOT NULL default '0',
+        `timestamp` int(10) unsigned NOT NULL default '0',
+        arrived int(10) unsigned NOT NULL default '0',
         guid varchar(255) NOT NULL default '',
-        PRIMARY KEY(fiid, nid))");
+        PRIMARY KEY  (nid),
+        KEY feed_nid (feed_nid),
+        KEY fiid (fiid),
+        KEY url (url),
+        KEY guid (guid))");
       break;
     case 'pgsql':
       db_query("CREATE TABLE {feedapi_node_item} (
@@ -43,6 +47,37 @@
   variable_set('feedapi_settings_feedapi_node', unserialize('a:3:{s:7:"enabled";s:1:"1";s:7:"parsers";a:1:{s:16:"parser_simplepie";a:2:{s:7:"enabled";s:1:"1";s:6:"weight";s:1:"0";}}s:10:"processors";a:1:{s:12:"feedapi_node";a:7:{s:7:"enabled";s:1:"1";s:6:"weight";s:1:"0";s:12:"content_type";s:5:"story";s:9:"node_date";s:4:"feed";s:7:"promote";s:1:"3";s:9:"list_feed";s:1:"3";s:4:"user";s:5:"admin";}}}'));
 }
 
+/**
+ * Fix columns indeces.
+ */
+function feedapi_node_update_1() {
+  switch ($GLOBALS['db_type']) {
+  case 'mysqli':
+  case 'mysql':
+    $ret[] = update_sql("ALTER TABLE {feedapi_node_item} CHANGE fiid fiid INT( 10 ) UNSIGNED NOT NULL");
+    $ret[] = update_sql("ALTER TABLE {feedapi_node_item} DROP PRIMARY KEY");
+    $ret[] = update_sql("ALTER TABLE {feedapi_node_item} ADD PRIMARY KEY ( nid )");
+    $ret[] = update_sql("ALTER TABLE {feedapi_node_item} ADD INDEX ( feed_nid )");
+    $ret[] = update_sql("ALTER TABLE {feedapi_node_item} ADD INDEX ( fiid )");
+    $ret[] = update_sql("ALTER TABLE {feedapi_node_item} ADD INDEX ( `url` ( 255 ) )");
+    $ret[] = update_sql("ALTER TABLE {feedapi_node_item} ADD INDEX ( `guid` ( 255 ) )");
+    $ret[] = update_sql("DELETE FROM {sequences} WHERE name = 'feedapi_node_item_fiid'");
+    $ret[] = update_sql("INSERT INTO {sequences} (name, id) VALUES ('feedapi_node_item_fiid', (SELECT MAX(fiid) FROM {feedapi_node_item}) )");
+    break;
+  case 'pgsql':
+    $ret[] = update_sql("ALTER TABLE {feedapi_node_item} DROP PRIMARY KEY");
+    $ret[] = update_sql("ALTER TABLE {feedapi_node_item} ADD PRIMARY KEY ( nid )");
+    $ret[] = update_sql("ALTER TABLE {feedapi_node_item} ADD INDEX ( feed_nid )");
+    $ret[] = update_sql("ALTER TABLE {feedapi_node_item} ADD INDEX ( fiid )");
+    $ret[] = update_sql("ALTER TABLE {feedapi_node_item} ADD INDEX ( `url` ( 255 ) )");
+    $ret[] = update_sql("ALTER TABLE {feedapi_node_item} ADD INDEX ( `guid` ( 255 ) )");
+    $ret[] = update_sql("DELETE FROM {sequences} WHERE name = 'feedapi_node_item_fiid'");
+    $ret[] = update_sql("INSERT INTO {sequences} (name, id) VALUES ('feedapi_node_item_fiid', (SELECT MAX(fiid) FROM {feedapi_node_item}) )");
+    break;
+  }
+  return $ret;
+}
+
 function feedapi_node_uninstall() {
   switch ($GLOBALS['db_type']) {
     case 'mysqli':
Index: feedapi_node.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi/feedapi_node/Attic/feedapi_node.module,v
retrieving revision 1.1.2.2
diff -u -r1.1.2.2 feedapi_node.module
--- feedapi_node.module	12 Nov 2007 17:06:03 -0000	1.1.2.2
+++ feedapi_node.module	13 Nov 2007 16:26:59 -0000
@@ -144,7 +144,8 @@
   if (!isset($feed_item->nid)) {
     node_save($node);
     $feed_item->nid = $node->nid;
-    db_query("INSERT INTO {feedapi_node_item} (feed_nid, nid, url, timestamp, arrived, guid) VALUES (%d, %d, '%s', %d, %d, '%s')", $feed_nid, $feed_item->nid, $feed_item->options->original_url, $feed_item->options->timestamp, time(), $feed_item->options->guid);
+    $feed_item->fiid = db_next_id('{feedapi_node_item}_fiid');
+    db_query("INSERT INTO {feedapi_node_item} (fiid, feed_nid, nid, url, timestamp, arrived, guid) VALUES (%d, %d, %d, '%s', %d, %d, '%s')", $feed_item->fiid, $feed_nid, $feed_item->nid, $feed_item->options->original_url, $feed_item->options->timestamp, time(), $feed_item->options->guid);
   }
   else {
     $node->nid = $feed_item->nid;
