Skip to main content

Module stream_api

Module stream_api 

Source
Expand description

Stream API — 异步流式查询

§概述

v2.1.0 改造 stream 为真游标逐行产出,峰值内存 ≤ 50 MB(100 万行)。 stream_buffered 保留旧实现(全量收集后逐行 yield)作为兼容逃生舱。

§向后兼容

  • stream trait 签名不变(ADR-v2.1.0-003),仅改 impl 实现
  • stream_buffered 行为与 v2.0.0 stream 完全一致

§示例

use sz_orm_core::paginator::StreamQueryTrait;
use futures::StreamExt;

// 真游标流(推荐)
let mut stream = query.stream(&mut conn);
while let Some(row) = stream.next().await {
    let row = row?;
    // 处理...
}

// 兼容版(全量收集后逐行 yield)
let mut stream = query.stream_buffered(&mut conn);
while let Some(row) = stream.next().await {
    let row = row?;
    // 处理...
}

Traits§

StreamApiExt
Stream API 扩展 trait

Functions§

stream_cursor
真游标流式查询

Type Aliases§

RowResult
流式查询结果行类型