The Fetch Spec Song

© 2001 James Dempsey

A Fetch Specification specifies
The objects you want to fetch as its name implies
A Fetch Spec helps you stipulate
The objects you want to fetch and manipulate

EOs, EOs, EOs
Whenever you fetch, you’re gonna get some of those

EOs, EOs, EOs
They’re database rows wrapped in OO clothes

A Fetch Specification specifies
The objects you want to fetch should the need arise
A Fetch spec helps you stipulate
The objects you want to fetch and then iterate

Over each object, in the array
Over each object, you want to display

What kind of objects are they going to be?
Well, you’ve got to specify the entity
And the criteria of what you desire
You’re gonna wrap that all up into a qualifier
And don’t forget about the sort orderings
Determines the order of objects the fetch spec will bring

Who’s going to fetch for you? Don’t be perplexed.
It’s just an object, the editing context.
The editing context, it is your pal,
You can think of it like an EO corral

EOs, EOs, EOs
You get back an array of the ones that you chose
EOs, EOs, EOs
You make a change to one the editing context, it knows

A Fetch Specification specifies
Those objects you want to fetch should the need arise
A Fetch spec helps you stipulate
The objects you want to fetch and then iterate

A Fetch Specification specifies
The objects you want to fetch as its name implies
A Fetch Spec helps you stipulate
Those objects you want to fetch and manipulate

This was a little song about EOF
I hope you get the gist
It is a framework
That helps your objects persist


The Fetch Spec Song is the first James Dempsey and the Breakpoints song written and performed. It debuted at the San Jose Civic Auditorium at WWDC 2001.

The song topic is the Enterprise Objects Framework (EOF) of WebObjects—a development technology Apple no longer makes publicly available, but that is still used for the online Apple Store and iTunes Store.

EOF was a precursor to Core Data and served as the inspiration for its design. However, changes in class names between the two frameworks wrecked havoc on the rhyme scheme of this song: ‘fetch specification’ became ‘fetch request’, ‘qualifier’ became ‘predicate’, ‘sort ordering’ became ‘sort descriptor’, ‘enterprise objects’ became ‘managed objects’. Despite the changes in nomenclature, the core concepts remain the same.

( WebObjects )

Vocals: James Dempsey
Guitar: Gordie Freedman

Music and Lyrics: James Dempsey
Recorded and Produced by Russell Bond at The Annex Studios