Re: Backward compatibility (was Re: Announcing Newt DB, the amphibious database)

Jim Fulton <[email protected]>
Newsgroups gmane.comp.web.zope.zodb
Message-ID <CAPDm-FhM_tWywr70cz8Lp2AoUrH-RmXW=qRaFPUHCNGzuMyoBg@mail.gmail.com>
On Thu, Feb 23, 2017 at 1:54 PM, Hanno Schlichting <[email protected]>
wrote:

> On Thu, Feb 23, 2017, at 19:37, David Glick (Glick Software) wrote:
>
> I think so. I'll hedge my bets and say it would let us run the tests and
> see if there's anything else that needs attention.
>
>
> IIRC there was also a change in the undo protocol.
>

We talked about it.  The protocol changed many years ago and I offered to
try to come up with something new that didn't require pickling instances
but, no one took me up in it and ...



> At some point I dropped the ZopeUndo dependency in Zope 4.0 master (
> https://github.com/zopefoundation/Zope/commit/
> 41c8944dfab6ea4111d61a5aefc534b7c118ef87). ZopeUndo had a ZopeUndo.Prefix
> class in it. This was what enabled you to filter the undo log information
> based on physical paths.
>

Yup, but I never took support of that from ZEO. :)

It is a goal to stop pickling instances and to generally only use
lower-level types in the ZEO protocol.

- The (incomplete and somewhat stalled) byteserver doesn't use pickle and
wouldn't work with undo prefix objects

- A goal (/pipe dream?) of supporting other languages would make use of
pickle awkward.

Ironically though, the Rust serialization library I'm using has a Python
pickle plugin. :)  Pickle is actually a pretty nice serialization format in
a lot of ways.



> I think Jim noted at the time that there would be a way to retain that
> functionality, but at least I didn't have a use-case for it for Zope 4.0.
>

If we wanted to, we could devise a language for undo filtering that was
expressed with low-level data types, like dicts and strings, similar to
what's often used with catalogs.  We don't need to support arbitrary Python
code.

Undo, however, if a feature that seems really cool but usually winds up
being disappointing, because by the time you want to undo something it's
too late to undo the thing you care about without undoing a lot that came
after, so <shrug>

Jim

-- 
Jim Fulton
http://jimfulton.info

-- 
You received this message because you are subscribed to the Google Groups "zodb" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.