more useful qsearch error messages
authorMark Wells <mark@freeside.biz>
Wed, 17 Apr 2013 04:12:22 +0000 (21:12 -0700)
committerMark Wells <mark@freeside.biz>
Wed, 17 Apr 2013 04:12:22 +0000 (21:12 -0700)
FS/FS/Record.pm

index 42af68c..3d4bfae 100644 (file)
@@ -458,7 +458,13 @@ sub qsearch {
 #    grep defined( $record->{$_} ) && $record->{$_} ne '', @fields
 #  ) or croak "Error executing \"$statement\": ". $sth->errstr;
 
-  $sth->execute or croak "Error executing \"$statement\": ". $sth->errstr;
+  my $ok = $sth->execute;
+  if (!$ok) {
+    my $error = "Error executing \"$statement\"";
+    $error .= ' (' . join(', ', map {"'$_'"} @value) . ')' if @value;
+    $error .= ': '. $sth->errstr;
+    croak $error;
+  }
 
   my $table = $stable[0];
   my $pkey = '';