Hi Torsten, Thank you for the update for Pharo 4. It is awesome!
2015-01-29 17:20 GMT+09:00 Torsten Bergmann <[email protected]>: > Hi, > > are you in need for really simple out of image persistency? > > If you like to use a small RDBMS solution with Pharo then there is the > embeddable SQLite > shared library and NBSQLite3 project [1] to access it. Combine it with Glorp > [2] and you do > not have to fight too much with SQL. > > On the other end of persistency world there are the so called "NoSQL > databases" and beside > Mongo and all the others that require special setup etc. there is this > wonderful small UnQLite > embeddable database [3] that similar to SQlite world only requires a simple > library. > > Thanks to Masashi Umezawa there is a nice wrapper for Pharo already to access > this > tiny embeddable NoSQL database called "PUnQLite" [4] and [5], also including > access to > the Jx9 machinery of UnQLite. It is really cool that he made this available. > > This week I updated "PUnQLite" a little bit: > - refactored the Native boost wrapper for UnQLite (using shared pools, ...) > - documented classes > - added a help topic > - fixed a bug in cursors when accessing the keys in an empty database > - and finally added a small spec based tool to work with a database file > (see attached screenshot) > One can use it to open an unqlite database, show the key value pairs and > remove or add entries. > > If you are in latest Pharo 4 already you can load all of that right from the > config browser. Be aware > that you need the external unqlite shared library which is downloaded and > extracted into a folder > "pharo-vm" when loading the config. > > For instance on Windows it automagically downloads a file > "pharo-vm/unqlite.dll" below your > image directory and you just have to copy this shared library file to the > folder where your > VM (Pharo.exe) resides. Havent tried on other OS platforms. > > From the Pharo side using the UnQLite database basically works like having > some kind > "external dictionary" in a database file. Just run that in a workspace: > > |db| > db := PqDatabase open: 'comments.db'. > db disableAutoCommit. > db transact: [ > Object subclasses do: [:cls | | key | > key := cls asString. > db at: key put: cls comment ] > ]. > db close. > > Then open the "Database Browser" from the world menu and open the > "comments.db" file. > You can browse the keys and values, remove entries or add new. A filter for > the keys > is also included. Nothing fancy but hope you like it or find it usable. > > Couldnt make it to PharoConf 2015 but I hope all participants enjoy their > time there. > Keep the others updated by using the #pharodays2015 on Twitter. Have fun! > > Bye > T. > > > [1] > http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/2015-January/104720.html > [2] > http://lists.pharo.org/pipermail/pharo-users_lists.pharo.org/2015-January/015809.html > [3] http://unqlite.org/ > [4] https://github.com/mumez/PunQLite > [5] http://smalltalkhub.com/#!/~MasashiUmezawa/PunQLite -- [:masashi | ^umezawa]
