Message400062
Currently, we build the first result row in the _pysqlite_query_execute() loop if sqlite3_step() returned SQLITE_ROW. When the user asks for a row (for example, using sqlite3.Cursor.fetchone()), this pre-built row is returned, and the next row is prepared.
Suggesting to lazily build result rows instead.
Cons:
- no result tuples are built unless sqlite3.Cursor.fetch*() is called
- no need to keep the next result row (tuple) in pysqlite_Cursor; rows are built on demand
- pysqlite_cursor_iternext() is vastly simplified (50% less lines of code)
- the main loop in _pysqlite_query_execute() is further simplified
Cons:
- code churn
git diff main --shortstat: 2 files changed, 29 insertions(+), 58 deletions(-) |
|
| Date |
User |
Action |
Args |
| 2021-08-22 09:06:31 | erlendaasland | set | recipients:
+ erlendaasland, berker.peksag, serhiy.storchaka |
| 2021-08-22 09:06:30 | erlendaasland | set | messageid: <[email protected]> |
| 2021-08-22 09:06:30 | erlendaasland | link | issue44976 messages |
| 2021-08-22 09:06:30 | erlendaasland | create | |
|