3 May 2023
Goal: Create a executor pipeline for a simple query
Good progress, and lots of time tonight. I finsihed the sorting/hashing lecture and also watched the single-table queries lecture. The coverage of hashing was quick and made me want to review sorting 🙈 The single-table queries lecture was very enlightening and served as a good call-to-action for my time tonight.
The dataset I’ve been working with has been somewhat limiting to work with in terms of what available to sort, group, etc. - as well as the sheer size. Plus, I’m bored with it. I used the Faker gem to create a bogus
users table with some fun data to play with.
Then I wrote an
Aggregator enumerator class that reads from a source and…counts. So, a very specific aggregator! I followed the pattern that I’ve used so far - a simple class with and
initialize method and nothing more.
I refactored the class to a design that I like a bit better. I’m using instace variables and private methods to make the procedure a bit more expressive (and less cluttered with
StopIteration exception handling 🙌🏻)
So a bit of a divergence from the goal, but still progress! If I can get a simple sort or hash executor written next time I could pull off
SELECT state, count(state) FROM users GROUP BY state. I think I’ll start there.
Written by Dan Drust on 3 May 2023
Continue Reading: Database Daily: Set Up For In-Co…