I've started to update Glorp and GlorpSQLite for Pharo 8. This post lists the stuff to be handled.
First, changes in Pharo from version to version. Glorp's TimedProxyReaper
uses a
weak-valued dictionary to hold TimedProxy
instances. In Pharo 6,
WeakValueDictionary>>at:put:
essentially does the following:
WeakValueAssociation key: key value: anObject
In Pharo 7, that became:
WeakValueAssociation key: key value: anObject asSetElement
This required TimedProxy
to implement #asSetElement
.
In Pharo 8, #asSetElement
is deprecated in favour of #asCollectionElement
.
WeakValueAssociation key: key value: anObject asCollectionElement
So TimedProxy
now also needs #asCollectionElement
.
The Pharo community has consolidated around Pharo-SQLite3 as the definitive SQLite binding going forward. GlorpSQLite uses the now-legacy UDBC-SQLite binding currently. This change should be straightforward.
Todd Blanchard has been working on Ruby on Rails-style ActiveRecord for Glorp, and testing the changes with PostgreSQL.
With independently evolving drivers for SQLite, PostgreSQL and MySQL, and the ActiveRecord work changing Glorp itself, the time has come to set up CI for Glorp.
Tags: Glorp, OODB, SQLite