Skip to content

Commit

Permalink
Checkpoint on way to 2.0 release. See CHANGES.txt for details.
Browse files Browse the repository at this point in the history
  • Loading branch information
garyposter committed Jun 20, 2007
1 parent 8391287 commit bf5cd26
Show file tree
Hide file tree
Showing 8 changed files with 1,100 additions and 215 deletions.
40 changes: 1 addition & 39 deletions CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,39 +1 @@
=======
Changes
=======

1.1
===

(supports Zope 3.4/Zope 2.11/ZODB 3.8, unreleased)

1.1.0 alpha
-----------

(unreleased)

- adjust to BTrees changes in ZODB 3.8 (thanks Juergen Kartnaller)

1.0
===

(supports Zope 3.3/Zope 2.10/ZODB 3.7)

1.0.1
-----

- Incorporated test and bug fix from Gabriel Shaar::

if the target parameter is a container with no objects, then
`shared.AbstractContainer.isLinked` resolves to False in a bool context and
tokenization fails. `target and tokenize({'target': target})` returns the
target instead of the result of the tokenize function.

- Made README.txt tests pass on hopefully wider set of machines (this was a
test improvement; the relationship index did not have the fragility).
Reported by Gabriel Shaar.

1.0.0
-----

Initial release
Please see CHANGES.txt in src/zc/relationship.
12 changes: 6 additions & 6 deletions buildout.cfg
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
[buildout]
develop = .
parts = zope3 test
parts = test py

find-links = http://download.zope.org/distribution/

[test]
recipe = zc.recipe.testrunner
eggs = zc.relationship
extra-paths = parts/zope3/src

[zope3]
recipe = zc.recipe.zope3checkout
url = svn://svn.zope.org/repos/main/Zope3/trunk
defaults = "--tests-pattern [fn]?tests --exit-with-status".split()

[py]
recipe = zc.recipe.egg
eggs = zc.relationship
interpreter = py
19 changes: 17 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

setup(
name="zc.relationship",
version="1.1a",
version="1.1a1",
packages=find_packages('src'),
include_package_data=True,
package_dir= {'':'src'},
Expand All @@ -14,8 +14,23 @@
author_email='zope3-dev@zope.org',
description=open("README.txt").read(),
long_description=(
open('CHANGES.txt').read() + '\n========\nOverview\n========\n\n' +
open('src/zc/relationship/CHANGES.txt').read() +
'\n========\nOverview\n========\n\n' +
open("src/zc/relationship/README.txt").read()),
license='ZPL 2.1',
keywords="zope zope3",
install_requires=[
'ZODB3 >= 3.8dev',
'zope.app.container', # would be nice to remove this
'zope.app.intid',
'zope.interface',
'zope.component',
'zope.app.keyreference',
'zope.location',
'zope.index',

'zope.app.testing', # TODO remove this
'zope.app.component', # TODO remove this
'zope.testing',
],
)
101 changes: 101 additions & 0 deletions src/zc/relationship/CHANGES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
=======
Changes
=======

2.0
===

supports Zope 3.4/Zope 2.11/ZODB 3.8

New Requirements
----------------

- ZODB 3.8

Incompatibilities with 1.0
--------------------------

- `findRelationships` will now use the defaultTransitiveQueriesFactory if it
is set.

- `deactivateSets` is no longer an instantiation option (it was broken because
of a ZODB bug anyway, as had been described in the documentation).

Changes in 2.0 alpha
--------------------

- adjust to BTrees changes in ZODB 3.8 (thanks Juergen Kartnaller)

- support both 64-bit and 32-bit BTree families

- support specifying indexed values by passing callables rather than
interface elements (which are also still supported).

- in findValues and findValueTokens, `query` argument is now optional. If
the query evaluates to False in a boolean context, all values, or value
tokens, are returned. Value tokens are explicitly returned using the
underlying BTree storage. This can then be used directly for other BTree
operations.

In these and other cases, you should not ever mutate returned results!
They may be internal data structures (and are intended to be so, so
that they can be used for efficient set operations for other uses).
The interfaces hopefully clarify what calls will return an internal
data structure.

- README has a new beginning, which both demonstrates some of the new features
and tries to be a bit simpler than the later sections.

- `findRelationships` and new method `findRelationshipTokens` can find
relationships transitively and intransitively. `findRelationshipTokens`
when used intransitively repeats the behavior of `findRelationshipTokenSet`.
(`findRelationshipTokenSet` remains in the API, not deprecated, a companion
to `findValueTokenSet`.)

- 100% test coverage (per the usual misleading line analysis :-) of index
module. (Note that the significantly lower test coverage of the container
code is unlikely to change without contributions: I use the index
exclusively. See plone.relations for a zc.relationship container with
very good test coverage.

- converted buildout to rely exclusively on eggs

TODO in 2.0 alpha
-----------------

- XXX You can now instantiate the index with a new argument,
`transitiveIndexes`. This specifies zero or more indices, each for a single
value or for relationships, for a given transitive factory, for unlimited
depth queries. These indices will be used transparently, if appropriate,
in calls to find Values, findValueTokens, findRelationships, and
findRelationshipTokens. In order to support this, transitive query
factories must implement a new interface, IXXX, that allows them to be
compared for equality.

- XXX make it possible to have a query that takes multiple tokens for a given
argument, with the semantics of a union of the results. PROBABLY WON'T
HAPPEN FOR 2.0; SPELLING UNCLEAR

1.0
===

(supports Zope 3.3/Zope 2.10/ZODB 3.7)

1.0.1
-----

- Incorporated test and bug fix from Gabriel Shaar::

if the target parameter is a container with no objects, then
`shared.AbstractContainer.isLinked` resolves to False in a bool context and
tokenization fails. `target and tokenize({'target': target})` returns the
target instead of the result of the tokenize function.

- Made README.txt tests pass on hopefully wider set of machines (this was a
test improvement; the relationship index did not have the fragility).
Reported by Gabriel Shaar.

1.0.0
-----

Initial release
Loading

0 comments on commit bf5cd26

Please sign in to comment.