I’d been needing to refactor the pagination logic in the Mastodon plugin for Steampipe. After a couple of abortive tries, I took another run at it this week with the help of the latest generation of LLM-powered coding assistants.
Here was the problem. The pre-release version of the plugin consolidated pagination for many tables in one place. That was a good thing, but the downside was that there was only one Steampipe table which represented what should have been many of them. So you could say select * from mastodon_timeline
but then you had qualify with where timeline = 'home'
or where timeline = 'local'
and so on. For a user of the plugin this was awkward, you’d rather say select * from mastodon_timeline_home
or select * from mastodon_timeline_local
, and reserve the where
clause for more specific purposes.