Commits on Oct 9, 2015
  1. Release engineering for 2.12

    committed Oct 9, 2015
  2. Fix typos

    committed Oct 9, 2015
  3. Update MANIFEST etc.

    committed Oct 9, 2015
  4. Newer MySQL/Maria doesn't accept TYPE=InnoDB

    I guess the proper way to write this has been ENGINE for some time.
    Adjust it.
    committed Oct 9, 2015
  5. remove spurious duplicate block

    Probably SVN's fault.  :->
    committed Oct 9, 2015
  6. Release engineering for 2.11

    committed Oct 9, 2015
  7. Skip the correct number of tests

    There are two tests in this block, make sure the count is updated
    correctly to skip.
    committed Oct 9, 2015
  8. Fixes for compatibility with Perl 5.22.0

    Doug Schoular committed with Oct 9, 2015
Commits on Oct 30, 2009
  1. Storage: handle another case where refaddrs are re-used

    When objects fall out of scope, the weakref fires and removes the ref
    from the 'objects' hash (mapping from OIDs to objects) but not the 'ids'
    hash (mapping from refaddrs to OIDs).  If the refaddr is re-used by a
    different object, but the first object has since been re-loaded at a
    *different* address, then the check does not work.  The workaround will
    likely affect programs that customized the 'set_id' schema property,
    unfortunately.  It works by also storing a reference to the weakref
    slot in the 'ids' hash, and checking that one instead.
    Tracked down by Tomas Doran
    committed Oct 30, 2009
Commits on Jan 29, 2007
  1. Various documentation fixes.

    Sam Vilain committed Jan 29, 2007
  2. Update Changes.pod for dev. maintenance release

    Sam Vilain committed Jan 29, 2007
  3. Changelog last change

    Sam Vilain committed Jan 29, 2007
  4. RT#24581 - add object propagation to make_id

    Here's the case:
    The current make_id() call, when inserting objects into the storage,
    does not propagate the $o[bject] to be inserted.
    Some applications (as mine does) might find it useful to have this
    instance when they define/generate custom ids for the backend.
    Assen Tchorbadjiev committed with Sam Vilain Jan 29, 2007
  5. RT#24580 - Tangram::Storage: remove bogus sub ref in BEGIN

    There seems to be a stale alias in the BEGIN block inside
    Tangram::Storage, to the Tangram::Core::pretty sub, which got moved
    inside the Tangram::Util package.
    There is a problem only when the TRACE is being enabled.
    Assen Tchorbadjiev committed with Sam Vilain Jan 29, 2007
Commits on Jan 11, 2007
  1. RT#24324 - document ->count() flexibility

    ->count() can now take either a filter or an expr, so document that.
    Sam Vilain committed Jan 11, 2007
  2. [ADMIN] ignore t/CONFIG*

    Sam Vilain committed Jan 11, 2007
  3. RT#24324: fix ->count() test case in musicstore suite to match docume…

    …nted API
    The API says that the remote is required, but if a filter is passed
    then we should be able to deal with it.  Test both methods.
    Sam Vilain committed Jan 11, 2007
  4. RT#22696: fix (probably harmless) warning

    Regression from 36e28bf.  The cursors
    generated internally by the collection loaders don't go through the
    front door, so we don't know that they are selecting extra columns and
    hence have to go through ->read_object().
    Sam Vilain committed Jan 11, 2007
  5. remove unnecessary dependency in this test

    Sam Vilain committed Jan 11, 2007
Commits on Nov 2, 2006
  1. [ADMIN] setup .gitignore

    Sam Vilain committed Nov 2, 2006
  2. RT#22696: avoid calling importer when we know we don't need to

    The code used to call $storage->read_object on rows, even when we had
    the original object in memory already, just so we can get the
    "residue" columns right.  However, those are only required with
    -retrieve, so if we're not doing a -retrieve, we can just drop the
    Sam Vilain committed Nov 2, 2006
  3. RT#22696: use 'dummy' objects to collect items from @row

    When we were creating temporary objects to call the importer methods,
    these temporary object's destructors might have side effects, for
    instance causing further demand paging.
    So, we will now make a dummy object which gets passed to the
    _row_to_object function, and make sure it gets blessed back to being a
    dummy before we return.
    This is an ugly work-around for the real problem, which is that the
    importer protocol is too primitive.
    Sam Vilain committed Nov 2, 2006
  4. Integrate new test into the test suite properly

    Add a new convenience function for setting up schemata, so that SQLite
    is not a requirement for the test script.  Add a new test, and add to
    the test suite manifest.
    committed with Sam Vilain Nov 2, 2006
  5. RT#22696: add (failing) test for inflation of 'back' references

    The current git tree fails to fully inflate objects that are reached via
    the 'back' field defined in an 'iset'. Take the following schema:
            Hat => {
                 fields => {
                     string   => [ qw( colour ) ],
            NaturalPerson => {
                 fields => {
                     string   => [ qw( firstName name ) ],
                     int      => [ qw( age ) ],
                     ref      => { partner => { null => 1 } },
                     iset    => {
                         hats => {
                             class => 'Hat',
                             back => 'owner',
    If you $storage->select a 'Hat' you can reach the 'owner'. However the
    owner's 'hats' array/Set::Object list is empty. The other fields are good.
    This applies not just to hats but any other mapping that existed for the
    I know that this behaviour doesn't exist in 2.08 but don't know where
    between 2.08 and git it broke.
    mlawren committed with Sam Vilain Nov 2, 2006
Commits on Oct 26, 2006
  1. quote SQL "IN" items

    Reported by Mark Lawrence, original report at
      Using the &in method as part of a criteria:
      my @objs = $st->select($remote, ($criteria) &
      (($remote->{lang}->in(@langs)) | ($remote->{src} == 1))
      Produces the following SQL fragment:
      (t2.node = 6 AND (t2.lang IN (en, de, fr) OR t2.src = 1))
      Which fails (on MySQL at least) with the following error:
      DBD::mysql::st execute failed: Unknown column 'en' in 'where clause'
      at /usr/share/perl5/Tangram/ line 185.
      because the items to match against are not quoted. I think Tangram
      (Expr?) needs to check the type of the column and quote the element if
      it is a string type.
    Sam Vilain committed Oct 26, 2006
  2. update should handle false values like insert does

    Looks like we missed this with
    Sam Vilain committed Oct 26, 2006
Commits on Oct 25, 2006
  1. Complete this documentation page

    There was even an unfinished sentence ... :)
    Sam Vilain committed Oct 25, 2006
Commits on Oct 4, 2006
  1. s/LeRoy/Leroy/

    (cherry picked from 4c7205c commit)
    Sam Vilain committed Oct 4, 2006
Commits on Aug 2, 2006
  1. Close branch releng-2.10

    Sam Vilain committed Aug 2, 2006
Commits on Aug 1, 2006
  1. close releng-2.09 branch

    Sam Vilain committed Aug 1, 2006
Commits on May 31, 2006
  1. r9807@wilber: samv | 2006-05-31 14:54:17 +1200

     Fix NULL being printed when we're really sending 0 or ''
    samv committed May 31, 2006
  2. r9805@wilber: samv | 2006-05-31 14:53:22 +1200

     Fix NULL being printed when we're really sending 0 or ''
    samv committed May 31, 2006
Commits on May 19, 2006
  1. r9794@wilber: samv | 2006-05-19 12:25:06 +1200

     add beginnings of 'orange' and 'moose' test suites
    samv committed May 19, 2006
Commits on Mar 29, 2006
  1. r6420@wilber: samv | 2006-03-29 18:02:50 +1200

     Sync trunk with 2.10 release.
    samv committed Mar 29, 2006