Search Postgresql Archives

Need help in spi_prepare errors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, I have been getting strange behaviors in using spi_prepare and
spi_exec_prepared. The below function works fine (every thing is hard
coded):

CREATE OR REPLACE FUNCTION init() RETURNS TEXT AS $$
	my $prepared = spi_prepare("INSERT INTO mytable  (\"col1\", \"col2\")
VALUES (\$1, \$2)", "integer", "character varying");
	spi_exec_prepared($prepared, '5', '6');
	return "success";
$$ LANGUAGE plperl;

Below function doesn't work: (I tried each combination mentioned with
# but none of them working.)

CREATE OR REPLACE FUNCTION init() RETURNS TEXT AS $$
	my $raw_row = "(\"col1\", \"col2\")";
	my $new_row = "'5', '6'";
	#my $col_types = "'integer', 'character varying'";
	#my $col_types = "\"integer\", \"character varying\"";	
	my $col_types = '"integer", "character varying"';
	my $query = "INSERT INTO mytable  $raw_row VALUES (\$1, \$2)";
	my $prepared = spi_prepare($query, $col_types);
	#my $prepared = spi_prepare("INSERT INTO mytable (\"col1\", \"col2\")
VALUES (\$1, \$2)", "integer", "character varying");
	spi_exec_prepared($prepared, $new_row);	
	return "success";
$$ LANGUAGE plperl;

Errors:

sysdb=# select init();
ERROR:  error from Perl function "init": syntax error at or near
"'integer'" at line 8.

sysdb=# select init();
ERROR:  error from Perl function "init": invalid type name ""integer",
"character varying"" at line 8.

If I hard code spi_prepare arguments, the below error occures in
spi_exec_prpepared.

sysdb=# select init();
ERROR:  error from Perl function "init": spi_exec_prepared: expected 2
argument(s), 1 passed at line 10.

Any help would be much helpful.

Thanks, Paresh

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux