[root] / trunk / core / cont / src / TRefTable.cxx Repository:
ViewVC logotype

Log of /trunk/core/cont/src/TRefTable.cxx

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 37274 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Dec 4 21:31:29 2010 UTC (4 years, 1 month ago) by pcanal
File length: 14392 byte(s)
Diff to previous 27262
Remove redundant const

Revision 27262 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 27 18:35:12 2009 UTC (5 years, 11 months ago) by pcanal
File length: 14398 byte(s)
Diff to previous 27015
Insure that fSize and fParentsIDs are always properly initialized

Revision 27015 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 19 09:03:36 2008 UTC (6 years, 1 month ago) by brun
File length: 14500 byte(s)
Diff to previous 24224
From Matevz:
Fix a problem in TRefTable::ExpandPIDs

Revision 24224 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 11 15:40:45 2008 UTC (6 years, 7 months ago) by brun
File length: 14500 byte(s)
Diff to previous 24201
-implement a custom Streamer for TRefTable. The streamer uses the automatic streaming
and make sure that all TProcessIDs referenced in the Tree are put to the buffer.
This is important in case the buffer is a TMessage to be sent through a TSocket
and the message contains one or more Trees. This improvement is important for PROOF
when the workers send Trees to the master where they are merged.
-in TRefTable::FillBuffer remove my previous change.

Revision 24201 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 10 15:14:45 2008 UTC (6 years, 7 months ago) by brun
File length: 13588 byte(s)
Diff to previous 22961
In TRefTable::FillBuffer also call TBuffer::WriteProcessID.
In case of a socket will trigger passing the TProcessID with the message.

Revision 22961 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 3 13:32:57 2008 UTC (6 years, 9 months ago) by rdm
File length: 13554 byte(s)
Diff to previous 22689
move the directories:
  base clib cont meta metautils newdelete pcre rint thread unix utils
  winnt zip
under the new core meta directory.

Revision 22689 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 17 16:21:23 2008 UTC (6 years, 10 months ago) by rdm
Original Path: trunk/cont/src/TRefTable.cxx
File length: 13554 byte(s)
Diff to previous 22684
undo change of this morning. Warnings are due to issue in generated dictionary
code not in the headers per se.

Revision 22684 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 17 13:21:14 2008 UTC (6 years, 10 months ago) by rdm
Original Path: trunk/cont/src/TRefTable.cxx
File length: 13544 byte(s)
Diff to previous 20882
remove redundant const declarations on method arguments passed by value.
Fixes numerous Intel icc warnings.

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/cont/src/TRefTable.cxx
File length: 13554 byte(s)
Diff to previous 19826
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/cont/src/TRefTable.cxx
File length: 13554 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/cont/src/TRefTable.cxx
File length: 13606 byte(s)
Diff to previous 18209
remove :$ from tag line

Revision 18209 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 8 23:29:01 2007 UTC (7 years, 10 months ago) by pcanal
Original Path: trunk/cont/src/TRefTable.cxx
File length: 13616 byte(s)
Diff to previous 17542
From Paul:
Modify TRefTable, TBranchRef, and TBranchElement so that the small
integer which is assigned to identify a TBranchElement by TRefTable
is cached so that we need to find it only once, instead of at every
call to TBranchElement::GetEntry() or TBranchElement::Fill().

Revision 17542 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 28 18:30:18 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/cont/src/TRefTable.cxx
File length: 13257 byte(s)
Diff to previous 17509
Replace the calls to TVirtualIO by new calls in TBuffer or TDirectory
-------

Revision 17509 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 25 11:51:13 2007 UTC (8 years ago) by brun
Original Path: trunk/cont/src/TRefTable.cxx
File length: 13302 byte(s)
Diff to previous 15038
 -The enum kHaveWarnedReadingOld is becoming public instead of protected.
 -The inclusion of TFile.h has been removed.
 -TRefArray::Streamer makes use of TVirtualIO::GetLastProcessID.

With these changes TRefArray is now independent of the I/O sub-system.

Revision 15038 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun May 14 08:25:48 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/cont/src/TRefTable.cxx
File length: 13998 byte(s)
Diff to previous 14844
Fix coding conventions violations

Revision 14844 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 25 16:36:00 2006 UTC (8 years, 9 months ago) by pcanal
Original Path: trunk/cont/src/TRefTable.cxx
File length: 13999 byte(s)
Diff to previous 14777
From Axel (using a good test case from Reiner Hause):
When resolving the ambiguity of reading a non-PID-enabled TRefTable, use
the file's last read PID, not the one at position [all-1].

With that, I get exactly the same results for explicit and auto-loading.
This patch is obviously binary compatible.

Revision 14777 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 20 16:54:41 2006 UTC (8 years, 9 months ago) by pcanal
Original Path: trunk/cont/src/TRefTable.cxx
File length: 13991 byte(s)
Diff to previous 14487
remove an obsolete (and harmfull) test on the value of a uniqueID

Revision 14487 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 30 13:09:40 2006 UTC (8 years, 9 months ago) by brun
Original Path: trunk/cont/src/TRefTable.cxx
File length: 14097 byte(s)
Diff to previous 14336
From Axel:
this patch issues a warning once per TRefTable, if a file is being read
that contains an old version of TRefTable and multiple TProcessIDs. In
this case one _can_ have a corrupted TRefTable, due to several processes
re-using the same UIDs.

Revision 14336 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 20 21:43:44 2006 UTC (8 years, 10 months ago) by pcanal
Original Path: trunk/cont/src/TRefTable.cxx
File length: 13721 byte(s)
Diff to previous 14054
Reduce direct dependencies on TClass.h, TROOT.h and TStreamerInfo.h.
Warning:  This means that some file that relied on the indirect
inclusion of these header file might now fail to compile with
an error message mention that gROOT is no known or that TClass,
TROOT or TStreamerInfo is incompletely defined.  Simply add the
proper include directive.

Revision 14054 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 17 05:16:38 2006 UTC (8 years, 11 months ago) by pcanal
Original Path: trunk/cont/src/TRefTable.cxx
File length: 13741 byte(s)
Diff to previous 14013
From Axel:
---
Add support for auto-loading of TRefs from multiple TProcessIDs:
TRefTable now stores 2d arrays of branch numbers to load [PID][UID] (via
FillBuffer). The PID index <-> TProcessID-GUID mapping is stored via
TRefTable::Streamer (i.e. once per TTree). Lookup is cached. This change
is both backward and forward compatible, both concerning the interface
and .root files. Only exception is TRefTable::fParentIDs, which is now
only streamed via FillBuffer / ReadBuffer, not as a member of TRefTable.

Minor side-notes:
* Speed-up in TRef::GetObject de-referencing (only once call to
TProcessID::GetObjectWithID).
* No re-reading of a branch if it was already read for an event (if
TBranchRef's fReadEntry == branch-to-autoload's fReadEntry then don't
call GetEntry on it).
* Added getter for TProcessID::fgPIDs->Size()
* updated doc for TRef, TRefTable, TBranchRef, to reflect the current
status of auto-loading.
---

The only change that's breaking backward compatibility (as mentioned
above) is the clear split between per-entry and global streaming of the
TRefTable: there is no use in storing the fParentIDs[][] array (and
fN[]) as part of the TTree members - it should only be stored as part of
the TTree entry. So I've marked them as //!; they're made persistent in
TRefTable::FillBuffer.

The member TRefTable::fSize is only around to suppress a warning in the
schema evolution algorithm (it was a counter before, and the schema
evolution algo is unhappy about fSize missing in the new class
definition, nor does it appreciate fSize being marked as //!). This is
ugly, but I prefer it over a custom streamer.

The patch should fix the following issues:
* autoloading doesn't work because TRefs were created by different
processes,
* changed objects magically overwritten in memory due to re-loading of
referenced objects

Revision 14013 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 8 21:03:56 2006 UTC (8 years, 11 months ago) by pcanal
Original Path: trunk/cont/src/TRefTable.cxx
File length: 6572 byte(s)
Diff to previous 13258
From Axel:
When de-referencing a TRef that was stored with
uid>0xFFFFFF the TRefTable's parent wasn't found.

Revision 13258 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 16 20:11:59 2005 UTC (9 years, 2 months ago) by pcanal
Original Path: trunk/cont/src/TRefTable.cxx
File length: 6547 byte(s)
Diff to previous 13014
White spaces and comments update

Revision 13014 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 25 22:11:58 2005 UTC (9 years, 3 months ago) by pcanal
Original Path: trunk/cont/src/TRefTable.cxx
File length: 6536 byte(s)
Diff to previous 9831
When cloning a TTree and removing some of the branches, if we have
a TBranchRef, we need to completely reset the TRefTable (which caches
the address of the branches that contains referenced objects).
Thanks to Reiner Hauser for discovering and solving his issue.

Revision 9831 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 24 10:41:58 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/cont/src/TRefTable.cxx
File length: 6256 byte(s)
Diff to previous 9804
Improve the functionality of the TRefTable.
The new algorithm
  -does not require a pointer to the TRefTable in TFile.
  -can automatically load the branch of a Tree when calling TRef::GetObject
  -works when writing/reading multiple Trees in parallel

Revision 9804 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 20 21:23:06 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/cont/src/TRefTable.cxx
File length: 5174 byte(s)
Diff to previous 9798
Implement a default constructor for TRefTable.
Implement the destructor.

Revision 9798 - (view) (download) (as text) (annotate) - [select for diffs]
Added Fri Aug 20 14:46:36 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/cont/src/TRefTable.cxx
File length: 4794 byte(s)
Add a new class
// TRefTable
//
// A TRefTable maintains the association between a referenced object
// and the parent object supporting this referenced object.
// The parent object is typically a branch of a TTree.

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9