[ANN] PunQLite - a new NoSQL wrapper for Pharo
Hi all, I've developed PunQLite. UnQLite NoSQL database binding for Pharo. https://github.com/mumez/PunQLite http://smalltalkhub.com/#!/~MasashiUmezawa/PunQLite UnQLite is a fast, lightweight, portable, embedded KVS with a simple scripting engine (Jx9). http://unqlite.org/ Torsen kindly wrote about PunQLite project's beginning on his blog. http://astares.blogspot.jp/2013/11/punqlite-for-pharo-using-unqlite.html At that time, it was only a bare NativeBoost FFI interface. Now it has become a full-fledged wrapper. db := PqDatabase open: 'test.db'. db at: 'Smalltalk' put: 'COOL'. db at: 'Pharo' put: 'HOT'. db at: 'Smalltalk' ifPresent: [:data | data asString inspect ]. Transcript cr; show: db keys. db do: [:cursor | Transcript cr; show: cursor currentStringKey; space; show: cursor currentStringValue. ]. db close. Moreover, it is quite fast. I wrote a simple benchmark that does many round-trips (put/get 100000 small elements). The result is 877 msecs (on my windows laptop). It was impressive. Enjoy! -- [:masashi | ^umezawa]
Really cool. That seems very simple to use :-) 2013/12/24 Masashi UMEZAWA <masashi.umezawa@gmail.com>
Hi all,
I've developed PunQLite. UnQLite NoSQL database binding for Pharo. https://github.com/mumez/PunQLite http://smalltalkhub.com/#!/~MasashiUmezawa/PunQLite
UnQLite is a fast, lightweight, portable, embedded KVS with a simple scripting engine (Jx9). http://unqlite.org/
Torsen kindly wrote about PunQLite project's beginning on his blog. http://astares.blogspot.jp/2013/11/punqlite-for-pharo-using-unqlite.html
At that time, it was only a bare NativeBoost FFI interface. Now it has become a full-fledged wrapper.
db := PqDatabase open: 'test.db'. db at: 'Smalltalk' put: 'COOL'. db at: 'Pharo' put: 'HOT'. db at: 'Smalltalk' ifPresent: [:data | data asString inspect ]. Transcript cr; show: db keys. db do: [:cursor | Transcript cr; show: cursor currentStringKey; space; show: cursor currentStringValue. ]. db close.
Moreover, it is quite fast. I wrote a simple benchmark that does many round-trips (put/get 100000 small elements). The result is 877 msecs (on my windows laptop). It was impressive.
Enjoy! -- [:masashi | ^umezawa]
2013/12/24 Masashi UMEZAWA <masashi.umezawa@gmail.com>
Hi all,
I've developed PunQLite. UnQLite NoSQL database binding for Pharo. https://github.com/mumez/PunQLite http://smalltalkhub.com/#!/~MasashiUmezawa/PunQLite
Looks pretty cool, and I may have a couple of uses for it already! However, I get this when trying to load it on a fresh 30659 image: IncompatibleLayoutConfig: Class with ByteLayout cannot be extended as slot. Cheers, Sergi
2013/12/24 Sergi Reyner <sergi.reyner@gmail.com>
Looks pretty cool, and I may have a couple of uses for it already! However, I get this when trying to load it on a fresh 30659 image:
IncompatibleLayoutConfig: Class with ByteLayout cannot be extended as slot.
Proceeding twice will finish loading it, but somehow it doesn´t feel like a solution to me :) Cheers, Sergi
Hi Sergi, Thank you for trying to install PunQLite. Actually, I've also found this error happening when I try to install PunQLite to the latest Pharo 3.0 beta image (30659). I've originally developed PunQLite on Pharo 3.0 alpha (30487) image. So I think some changes occurred between them. The error seems to be raised on kernel classes. Anyway, I've already reported the issue to the BTS. https://pharo.fogbugz.com/f/cases/12488/NBExternalTypeValue-ofType-float-cau... Regards, 2013/12/24 Sergi Reyner <sergi.reyner@gmail.com>:
2013/12/24 Masashi UMEZAWA <masashi.umezawa@gmail.com>
Hi all,
I've developed PunQLite. UnQLite NoSQL database binding for Pharo. https://github.com/mumez/PunQLite http://smalltalkhub.com/#!/~MasashiUmezawa/PunQLite
Looks pretty cool, and I may have a couple of uses for it already! However, I get this when trying to load it on a fresh 30659 image:
IncompatibleLayoutConfig: Class with ByteLayout cannot be extended as slot.
Cheers, Sergi
-- [:masashi | ^umezawa]
Thanks for your contribution. It would be great if you could add the catalog metadata to your configuration see method catalog* in the Soup project for example. And publish the project to the metacelloRepository so that it become available to the ConfigurationBrowser https://ci.inria.fr/pharo-contribution/job/PharoProjectCatalog/HTML_Report/? Stef On 24 Dec 2013, at 04:02, Masashi UMEZAWA <masashi.umezawa@gmail.com> wrote:
Hi all,
I've developed PunQLite. UnQLite NoSQL database binding for Pharo. https://github.com/mumez/PunQLite http://smalltalkhub.com/#!/~MasashiUmezawa/PunQLite
UnQLite is a fast, lightweight, portable, embedded KVS with a simple scripting engine (Jx9). http://unqlite.org/
Torsen kindly wrote about PunQLite project's beginning on his blog. http://astares.blogspot.jp/2013/11/punqlite-for-pharo-using-unqlite.html
At that time, it was only a bare NativeBoost FFI interface. Now it has become a full-fledged wrapper.
db := PqDatabase open: 'test.db'. db at: 'Smalltalk' put: 'COOL'. db at: 'Pharo' put: 'HOT'. db at: 'Smalltalk' ifPresent: [:data | data asString inspect ]. Transcript cr; show: db keys. db do: [:cursor | Transcript cr; show: cursor currentStringKey; space; show: cursor currentStringValue. ]. db close.
Moreover, it is quite fast. I wrote a simple benchmark that does many round-trips (put/get 100000 small elements). The result is 877 msecs (on my windows laptop). It was impressive.
Enjoy! -- [:masashi | ^umezawa]
participants (4)
-
Masashi UMEZAWA -
olivier auverlot -
Sergi Reyner -
Stéphane Ducasse