SOCI Firebird 后端的 select 语句返回行的限制是多少?

What is the limit of the returned rows from a select statement for the SOCI Firebird backend?

使用 SOCI Firebird v4.0 trunk Read/Write 数据 from/to Firebird 数据库。

问题是,当我通过 select 语句 select table 中超过 200 万行的所有行时,SOCI 抛出 std::bad_alloc 异常我只得到 1024 * 1024 行的值,即:1048576

我不知道 SOCI 是否有限制,或者我在这里缺少其他东西!

顺便说一句,我将行存储在 std::vector.

SOCI 和 Firebird 均未对此负责。 唯一的原因是系统本身 运行 内存不足,无法在 32 位 版本上处理 2^32 . 我不得不在 64 位 中重新编译代码并在 64 位 系统中测试它。