--- comment_notify.module.orig	2008-01-07 20:24:01.000000000 +0000
+++ comment_notify.module	2008-01-07 21:36:21.000000000 +0000
@@ -234,7 +234,7 @@
   $op = $_POST["op"];
   $edit = $_POST["edit"];
 
- $page_content=" ";
+  $page_content=" ";
   if (empty($op)) {
     $op = arg(1);
   }
@@ -243,10 +243,18 @@
   switch ($op) {
     case 'disable':
       $key=$arg;
-      db_query("UPDATE {comments} c , users u
-                 SET c.notify = 0 
-               WHERE u.uid=c.uid
-                 AND md5( concat( c.mail,ifnull(u.mail,u.init),c.uid,c.name,c.nid ) ) = '%s'",$arg);
+      if($GLOBALS['db_type'] == 'pgsql') {
+        db_query("UPDATE {$comments} c, users u  
+                SET c.notify = 0 WHERE u.uid = c.uid 
+                AND md5(c.mail || cast(coalesce(u.mail,u.init) AS TEXT)
+                    || c.uid || c.name || c.nid) = '%s'", $arg);
+      }
+      else {
+        db_query("UPDATE {comments} c , users u
+                SET c.notify = 0 
+                WHERE u.uid=c.uid
+                AND md5( concat( c.mail,ifnull(u.mail,u.init),c.uid,c.name,c.nid ) ) = '%s'",$arg);
+      }
 
 
       drupal_set_message(t("Your comment follow up notification for this post was disabled. Thanks"));
@@ -340,11 +348,11 @@
     $languages = locale_supported_languages();
     $languages = $languages['name'];
   }
-    $nid = $comment->nid;
-    $cid = $comment->cid;
-    $commname= $comment->name;
-    $commtext= $comment->comment;
-    $commsubj= $comment->subject;
+  $nid = $comment->nid;
+  $cid = $comment->cid;
+  $commname= $comment->name;
+  $commtext= $comment->comment;
+  $commsubj= $comment->subject;
    
     
 
@@ -356,7 +364,18 @@
 
 #   drupal_set_message ("send 1 for $nid");
 
-        
+  if($GLOBALS['db_type'] == 'pgsql') {
+    $nid = (int) $nid;
+    $sql = "SELECT DISTINCT c.cid,u.init,c.uid,c.name,c.nid,c.notify,c.status,
+             CAST(if(length(c.mail)<1, coalesce(u.mail,u.init),c.mail) AS text) as mail,
+             c.uid,c.name AS cid,
+             md5(c.mail || CAST(coalesce(u.mail, u.init) AS TEXT) || c.uid || c.name || c.nid ) as mymd5
+             FROM comments c
+             LEFT OUTER JOIN users u on u.uid=c.uid
+             WHERE nid = $nid AND c.notify = 1 AND c.status = 0";
+    $result = db_query($sql);
+  }
+  else {
     $result = db_query('SELECT DISTINCT c.cid,u.init,c.uid,c.name,c.nid ,IF(length(c.mail)<1, ifnull(u.mail,u.init),c.mail) mail,c.uid,c.name,max(cid) cid,md5( concat( c.mail,ifnull(u.mail,u.init),c.uid,c.name,c.nid ) ) mymd5
     FROM {comments} c LEFT OUTER JOIN {users} u ON u.uid=c.uid
     WHERE nid=%d  AND notify=1 AND c.status=0
@@ -364,7 +383,7 @@
       AND IF(LENGTH(c.mail)<1, ifnull(u.mail,u.init),c.mail) like \'%@%.%\'
     GROUP BY IF(LENGTH(c.mail)<1, ifnull(u.mail,u.init),c.mail),c.name',$nid
     );
-
+  }
   #      drupal_set_message ("send 2");
     
     $count=0;
