PLPERLU help - Mailing list pgsql-novice

From Atif Jung
Subject PLPERLU help
Date
Msg-id AANLkTinjd3zcUpKITpkEOax313qEHs9LQRiYS9FrOXLT@mail.gmail.com
Whole thread Raw
Responses Re: PLPERLU help  (Michael Wood <esiotrot@gmail.com>)
List pgsql-novice
I have the following SPL written in plperlu which I need help with please.
 
CREATE or replace FUNCTION validatesubmission(submission_num text) RETURNS INTEGER AS $$
   $ISIS2_USER = "unknown";
   $cmd = '/isis2/pgbin/valsub ' || '-u' || ISIS2_USER || ' ' || submission_num;
 
   system($cmd);
 
   $query = "SELECT COUNT(*) FROM pend_file_results WHERE submission_no = " || submission_num || " AND code = '600' ";
   $rv = spi_exec_query($query);
   $count600 = $rv->{processed};
   if ($count600 = 1)
   {
      $result = 0; # JOB_ERRNO_OK
   }
   else
   {
      $result = 110; # JOB_101_ERRNO_VSUB_FAIL
   }
   return($result);
$$ LANGUAGE plperlu IMMUTABLE ;
 
The above loads into the DB ok, but when I call it I get the following error msg:
 
error from Perl function "validatesubmission": syntax error at end of input at line 8. 
 
I'm not sure what line 8 actually refers to because in the DB the code is:
 
CREATE OR REPLACE FUNCTION public.validatesubmission(submission_num text)
 RETURNS integer
 LANGUAGE plperlu
 IMMUTABLE
AS $function$
   $ISIS2_USER = "unknown";
   $cmd = '/isis2/pgbin/valsub ' || '-u' || ISIS2_USER || ' ' || submission_num;
 
   system($cmd);
 
   $query = "SELECT COUNT(*) FROM pend_file_results WHERE submission_no = " || submission_num || " AND code = '600'";
   $rv = spi_exec_query($query);
   $count600 = $rv->{processed};
 
   if ($count600 = 1)
   {
      $result = 0; # JOB_ERRNO_OK
   }
   else
   {
      $result = 110; # JOB_101_ERRNO_VSUB_FAIL
   }
 
   return($result);
$function$
 
So that's also confused me. Any help would be appreciated.
 

pgsql-novice by date:

Previous
From: "Bidski"
Date:
Subject: Compiling under MSYS and Windows 7
Next
From: Michael Wood
Date:
Subject: Re: PLPERLU help