? postgresfix.patch
Index: private_upload.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/private_upload/private_upload.module,v
retrieving revision 1.13.2.7
diff -u -p -r1.13.2.7 private_upload.module
--- private_upload.module	26 Jul 2008 00:49:36 -0000	1.13.2.7
+++ private_upload.module	21 Oct 2009 21:41:17 -0000
@@ -182,7 +182,7 @@ function _private_upload_requirements($p
     $status[] = '<div class="ok">'. $t("File download method is set to public. Great."). '</div>';  
   }
   
-  $old_file_count = db_result( db_query("SELECT COUNT(fid) FROM {files} WHERE filepath REGEXP '^private_upload'") );
+  $old_file_count = db_result( db_query("SELECT COUNT(fid) FROM {files} WHERE filepath LIKE 'private_upload%%'") );
   if( $old_file_count ) {
     $requirements['private_upload_old'] = array(
       'title' => t('Private Upload'),
@@ -505,7 +505,7 @@ function private_upload_admin() {
     }
     closedir( $d );
    
-    $db_private_file_count = db_result( db_query("SELECT COUNT(fid) FROM {files} WHERE filepath REGEXP '^%s'", $private_path) );
+    $db_private_file_count = db_result( db_query("SELECT COUNT(fid) FROM {files} WHERE filepath LIKE '%s%%'", $private_path) );
     $output = t( "There are '!fs_count' files in the private folder, ".
                  " and the DB thinks there are '!db_count' private files.", 
                  array( '!fs_count'=>$private_file_count, '!db_count'=>$db_private_file_count) );
@@ -526,7 +526,7 @@ function private_upload_admin() {
   // check for public files attached to private nodes.
   $count = db_result( db_query('SELECT COUNT(DISTINCT(f.fid)) '. 
                      'FROM {files} f INNER JOIN {upload} u ON f.fid=u.fid INNER JOIN {node_access} na ON u.nid=na.nid '.
-                     'WHERE na.gid != 0 AND f.filepath NOT REGEXP "^%s"', $private_path));
+                     'WHERE na.gid != 0 AND f.filepath NOT LIKE \'%s%%\'', $private_path));
   if( $count ) {
     $status[] = t("There are !count public files attached to private nodes. ", array('!count'=>$count)).
                 l( 'Click here to make them all private.', 'admin/private_upload/migrate_private');
@@ -582,7 +582,7 @@ Deny from all", $path, FILE_EXISTS_REPLA
 function _private_upload_migrate_private() {
   $private_path = _private_upload_path();
   $result = db_query('SELECT f.* FROM {files} f, {node_access} na '.
-                     ' WHERE f.nid = na.nid AND na.gid != 0 AND f.filepath NOT REGEXP "^%s" '.
+                     ' WHERE f.nid = na.nid AND na.gid != 0 AND f.filepath NOT LIKE \'%s%%\' '.
                      ' GROUP BY f.fid', $private_path  );
   while( $file = db_fetch_object($result) ) {
     // file is attached to a private node, but is a public file, so move it.
