Skip to content

Tags: kisielk/og-rek

Tags

v1.3.0

Toggle v1.3.0's commit message
ci: Add support for Go 1.24

v1.2.0

Toggle v1.2.0's commit message
Ogórek v1.2.0

The main change compared to v1.1.0 is preliminary support for protocol
version 5.

v1.1.0

Toggle v1.1.0's commit message
Add module support

Ogórek can be already used from another module (but at outdated
version), but let's be explicit about that. Go.mod was created by `go
mod init github.com/kisielk/og-rek`. There is no external dependencies.

v1.0.0

Toggle v1.0.0's commit message
Add support for persistent references (#37)

* Add docstrings to types exposed in public API

I was refreshing my knowled of ogórek and added them along the way.

* Add support for persistent references

Python has the mechanism for objects in one pickle to reference objects
in another pickle. This mechanism is primarily used in ZODB object
database for one object to "persistently" reference another object(*).

I needed a way to load and understand objects from a ZODB database in
Go, and hence comes this patch for ogórek that teaches it to understand
such persistent references.

Like it is already with Call and Class we add a dedicated Ref type to
represent persistent references in pickle stream.

(*) in ZODB when one object is changed, there is no need to resave
unchanged object that is referencing it because its reference stays
valid and pointing to changed object: the "persistent ID" in ZODB is
only object ID and which revision of the referenced object it points to
is implicitly follows by current transaction number view of the database.