Upgrade to @libsql/hrana-client version 0.5 to transparently use Hrana 3 if the server supports it. This allows us to fix a hole in the transaction() and batch() APIs: previously, if the transaction was rolled back using ROLLBACK or using the OR ROLLBACK conflict resolution strategy, the following statements would be executed outside of a transaction. With Hrana 3, we can use hrana.BatchCond.isAutocommit() to fix this.
The Hrana client will also internally use cursors (streaming) to implement batches. This means that the server does not have load the full result set into memory before sending it, which reduces memory pressure. However, the client API is unchanged, so the client will still keep all results in memory.
Upgrade to
@libsql/hrana-client
version 0.5 to transparently use Hrana 3 if the server supports it. This allows us to fix a hole in thetransaction()
andbatch()
APIs: previously, if the transaction was rolled back usingROLLBACK
or using theOR ROLLBACK
conflict resolution strategy, the following statements would be executed outside of a transaction. With Hrana 3, we can usehrana.BatchCond.isAutocommit()
to fix this.The Hrana client will also internally use cursors (streaming) to implement batches. This means that the server does not have load the full result set into memory before sending it, which reduces memory pressure. However, the client API is unchanged, so the client will still keep all results in memory.