I'd like to get an advice, how can I achieve pipe function (like Oracle) functionality in MariaDB. I know I can create procedure that returns recordset, that's fine. But the only way is to fill some temporary table and issue select at the end of procedure. That means that full content of recordset should be prepared and then directed to the output. What I'm looking for is possibility to return recordset data gradually: take for example first 100 rows, make additional calculation/aggregation inside the procedure and put the output to the caller. And next 100 rows would be processed only if calling side would issue subsequent fetches. So procedure could be ready to output millions of rows only if caller continue fetching, but it also would be ready to output first rows fast enough. Is there such a possibility?