- ds_put_c_format (&query,
- "BEGIN READ ONLY ISOLATION LEVEL %s; "
- "DECLARE pspp BINARY CURSOR FOR ",
- (version < 90100) ? "SERIALIZABLE" : "REPEATABLE READ");
-
- ds_put_substring (&query, info->sql.ss);
-
- qres = PQexec (r->conn, ds_cstr (&query));
- ds_destroy (&query);
- if ( PQresultStatus (qres) != PGRES_COMMAND_OK )
+ char *query = xasprintf (
+ "BEGIN READ ONLY ISOLATION LEVEL %s; "
+ "DECLARE pspp BINARY CURSOR FOR %s",
+ (version < 90100) ? "SERIALIZABLE" : "REPEATABLE READ",
+ info->sql);
+ qres = PQexec (r->conn, query);
+ free (query);
+
+ if (PQresultStatus (qres) != PGRES_COMMAND_OK)