Hi

On Fri, Jul 6, 2012 at 8:04 AM, Martin French
<martin.fre...@romaxtech.com> wrote:
>
> I've been through the code, and the return of 1 is coming back from the
> number of rows inserted after ExecuteVoid so the logic following in job.cpp
> seems incorrect:
>
>                 wxString stepstatus;
>                 if (rc == 0)
>                         stepstatus = wxT("s");
>                 else
>                         stepstatus = steps->GetString(wxT("jstonerror"));
>
> "rc" is coming back as the number of rows, so in this case; 1. I assume
> because the "do" statement returns 0 it's reporting ok.

Yeah, that is a bug; though I don't think the issue is in that code
snippet. I think it's here:

stepConn = DBconn::Get(jstconnstr, jstdbname);
if (stepConn)
{
    LogMessage(wxString::Format(_("Executing SQL step %s (part of job
%s)"), stepid.c_str(), jobid.c_str()), LOG_DEBUG);
    rc = stepConn->ExecuteVoid(steps->GetString(wxT("jstcode")));
    output = stepConn->GetLastError();
    stepConn->Return();
}

I think rc should be set to either 0 or -1, depending on whether an
error was returned, not based on the return value from ExecuteVoid.

Seem reasonable?

-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

-- 
Sent via pgadmin-support mailing list (pgadmin-support@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-support

Reply via email to