You mean instead of adding the 2 lines yourself, or is there something else in this?
You mean instead of adding the 2 lines yourself, or is there something else in this?

list() as the keys, whereas DO KV returns the k:v pairsget() is a storage operation per key, list() is per 4KB. If a single key in a get is over 4KB that will obvs be multiple opsstructuredClonedINSERT rows.cursor.rowsRead should be accurate, the amount of returned rows isn't a good representation of amount of rows read because query can read more than it returns.A request unit is defined as 4 KB of data read or written. A request that writes or reads more than 4 KB will consume multiple units, for example, a 9 KB write will consume 3 write request units.This is an example on the pricing page explaining how reads (e.g. gets) work. List is the same, but it needs clarification to make sure people know that it's across all items examined/returned.

const cursor = sqlStorage.exec(query, ...values)
const results = [...cursor]
if (logSql) {
console.log({
query,
read: cursor.rowsRead,
written: cursor.rowsWritten,
})
}
return resultslist()list()get()structuredClone