{"sha": "3f2e711a4bb59c868abd03d8b95c53617cef7740", "message": "Refactored to use itertools\n\nFound an itertools mechanism that works for iterating\nthrough the current and next row in the cursor.", "author_date": "2019-01-26T18:58:45Z", "committer_date": "2019-01-26T18:59:01Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "ea17c63cc52cf7290e8bbcba9f869698c2c2ea44", "message": "Tests for json returning single row", "author_date": "2019-01-26T18:58:00Z", "committer_date": "2019-01-26T18:59:01Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 140912432, "label": "sqlite-utils"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}}