Thanks! This looks like a blocker:
<csv>{ $sql-results ! <record>
<id>{./sql:column[lower-case(@name)="id"]/string()}</id> <name>{./sql:column[lower-case(@name)="name"]/string()}</name> <timestamps>{./sql:column[lower-case(@name)="timestamp"]/string()}</timestamps> <value>{./sql:column[lower-case(@name)="value"]/string()}</value> </record> } </csv> };
As you are wrapping a root element around all results, everything needs to be cached in main memory and thus prevents streaming.