optimize once_percust condition
authorIvan Kohler <ivan@freeside.biz>
Thu, 20 Nov 2014 19:42:22 +0000 (11:42 -0800)
committerIvan Kohler <ivan@freeside.biz>
Thu, 20 Nov 2014 19:42:22 +0000 (11:42 -0800)
FS/FS/part_event/Condition/once_percust.pm

index 67767f9..2773ca0 100644 (file)
@@ -52,13 +52,13 @@ sub condition_sql {
 
   my $pkey = $pkey{$table};
 
-  "0 = ( SELECT COUNT(*) FROM cust_event
-           WHERE cust_event.eventpart = part_event.eventpart
-             AND cust_event.tablenum IN (
-               SELECT $pkey FROM $table AS once_percust
-                 WHERE once_percust.custnum = cust_main.custnum )
-             AND status != 'failed'
-       )
+  "NOT EXISTS ( SELECT 1 FROM cust_event
+                  WHERE cust_event.eventpart = part_event.eventpart
+                    AND cust_event.tablenum IN (
+                      SELECT $pkey FROM $table AS once_percust
+                        WHERE once_percust.custnum = cust_main.custnum )
+                    AND status != 'failed'
+              )
   ";
 
 }