In this loop, > + for (i = 0; i < desc->natts; i++) > + { > + char *val; > + int vallen; > +
> + vallen = strlen(val); > + if (vallen <= maxfieldlen) > + appendStringInfoString(&buf, val); > + else > + { > + vallen = pg_mbcliplen(val, vallen, > maxfieldlen); > + appendBinaryStringInfo(&buf, val, > vallen); > + appendStringInfoString(&buf, "..."); > + } > + } you're checking that each individual field doesn't go over maxfieldlen chars (30), but if the fields are numerous, this could end up being very long anyway. I think you need to limit total length as well, and as soon as buf.len exceeds some number of chars, exit the loop. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers