Re: plperl syntax question

From: Rob Sargent <robjsargent(at)gmail(dot)com>
To: stan <stanb(at)panix(dot)com>
Cc: "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: plperl syntax question
Date: 2020-03-13 01:54:29
Message-ID: F7492779-7336-4E58-92C8-35C7C44FB7C5@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

> On Mar 12, 2020, at 7:44 PM, stan <stanb(at)panix(dot)com> wrote:
>
> On Thu, Mar 12, 2020 at 06:37:02PM -0700, David G. Johnston wrote:
>> On Thursday, March 12, 2020, stan <stanb(at)panix(dot)com> wrote:
>>>
>>> my $rv3 = spi_exec_query('$stmt');
>>> What am I doing wrong here?
>>>
>>
>> Putting a variable name into a single-quoted string and expecting it to
>> resolve to the contents of said variable instead of being treated as a
>> literal.
>> David J.
>
> Please look at this.
>
> Here is the code:
>
> my $stmt = qq('SELECT employee_key from employee where id = $user ;');
> elog( NOTICE, "stmt = $stmt" );
> my $rv3 = spi_exec_query($stmt);
>
> As you cna see, I use qq to ahndle the qouting: runtime output looks like
> this:
>
> OTICE: stmt = 'SELECT employee_key from employee where id = stan ;’
You can see that the entire sql string is quoted, where what you want from the elog is just single quotes around the value (i.e. 'stan’)

The example I saw for qq on the perl site
print(qq(Welcome to GeeksForGeeks));
doesn’t have any quotes in arg to qq

Try making the sql string without using qq
my $select = “select....’” + $user + “‘;”;
(or perhaps perl has a formatted string function like printf)

> ERROR: syntax error at or near "$" at line 22.
>
> Looks like a very clean string with the variable substituted.
>
> Anyone have a working example of a call to spi_exec_query() using a variable?
>
> also tried:
>
> my $rv3 = spi_exec_query('$stmt');
>
> Different trun tiem error message.
>
>
> --
> "They that would give up essential liberty for temporary safety deserve
> neither liberty nor safety."
> -- Benjamin Franklin
>
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David G. Johnston 2020-03-13 03:06:17 Re: plperl syntax question
Previous Message stan 2020-03-13 01:44:38 Re: plperl syntax question