On Nov 10, 2010, at 9:42 AM, Rolf Schaufelberger wrote:
> my $pp = $s->resultset('PdfFormatParam')->create({id=>10000,
> image => "(1,2,3,4,)",
> bg_tpl => '(xx.pdf, 1,2,()
> )',
> });
>
> gives
>
> DBIx::Class::ResultSet::create(): DBI Exception: DBD::Pg::st execute failed:
> FEHLER: fehlerhafte Record-Konstante: »(«
> DETAIL: Unecpected end of input. [for Statement "INSERT INTO
> pdf_format_param ( bg_tpl, id, image) VALUES ( ?, ?, ? )" with ParamValues:
> 1='(xx.pdf, 1,2,() )', 2='10000', 3='(1,2,3,4,)'] at /home/rs/perl/xx.pl line
> 28
>
> How do I have to quote this to get this working?
Try
image => "(1,2,3,4,NULL)"
Really, though, you should be using ROW() with placeholders.
$dbh->do(q{
INSERT INTO whatever VALUES (ROW(?, ?, ?, ?, ?)::image)
}, undef, 1, 2, 3, 4, undef);
But your ORM isn't gonna do that.
Best,
David