Revision history for Perl extension P4::Journal.
2020.1 2002694 on 04 Sep 2020
Updated for 2020.1 schema
2008.2 136157 on 24 Nov 2008
Updated for 2008.2 schema
2008.1 136157 on 10 Jul 2008
Updated for 2008.1 schema
2007.3 136157 on 05 Oct 2007
Updated for 2007.3 schema
2007.2 116483 on 15 Feb 2007
Updated for 2007.2 schema
2006.2 109306 on 18 Oct 2006
Updated for 2006.2 schema
2006.1 96471 on 05 Apr 2006
Updated for 2006.1 schema
2005.2.91215 on 28 Dec 2005
Bug fix to previous change: the db.domain update was missed, and
this change corrects that omission.
2005.2.86929 on 04 Oct 2005
Updated to support 2005.2 schema
2005.1.80122 on 24 May 2005
Bug fix: previous bug fix overoptimistically assumed that the ability
to compare file handles was portable to all versions of Perl in
current use. This change replaces the previous fix with a simpler
version which should work on any Perl.
2005.1.78303 on 08 Apr 2005
Bug fix: don't close the file handle when it's stdin.
2005.1.74258 on 14 Jan 2005
Updated to support 2005.1 schema.
2004.2.67829 on 16 Aug 2004
Updated to support 2004.2 schema. Thanks to Michael Shields for
doing the hard work.
2003.2.54760 on 03 Mar 2004
Porting change. Use STRLEN instead of int when calling SvPV() as
STRLEN may not be a 32-bit integer on all platforms.
2003.2.49255 on 10 Oct 2003
Add support for 2003.1 and 2003.2 schemas. 2003.1 was previously
supported with the exception of the db.monitor table which is not
normally journalled. However since it has appeared in some checkpoints
from 2003.1 I've added it to the schema so that P4::Journal won't
choke on it if it crops up.
2002.2.49254 on 10 Oct 2003
Add GetField() and SetField() interfaces to P4::JournalRec and
make the AUTOLOADER use them. Slightly improved documentation
2002.2.49253 on 10 Oct 2003
Improve bootstrapping of P4::Journal. We no longer need the nasty
variable inside the module to decide whether or not to use the XS
module. We try to load it, if that fails, we load the pure perl
implementation.
This also means that Journal.pm no longer has to be writable in your
workspace.
2002.2.49252 on 10 Oct 2003
Bug fix. Should be using Safefree() instead of free() for people
who build their Perl using Perls malloc() imeplementation.
2002.2.41558 13 Feb 2003
P4-Journal fixes. Change type of Journal.pm to text+w so it's
writable. Otherwise you can't build it without checking it out
and that's too annoying. Also change C++ style comment (doh!)
in Journal.xs to C style.
2002.2.39689 Jan 02 2003
Add support for 2002.2 schema to P4-Journal module and hence to
checkcase.pl, p4fixcase.pl and perfmerge2.pl at least. Changed
the version numbering scheme to be more in line with our usual
scheme:
2002.2.<change>
Perl seems happy with this and it makes it much easier to tell
whether or not the P4-Journal that you have is compatible with
a given database schema.
Make it possible to use the P4-Journal module even if you don't
have a C compiler. Currently you still require a working make/nmake
but you can now opt to use the pure perl implementation even if it's
slower.
0.58 Tue Jun 11 2002
- Only build the C implementation of the heavily used functions if the
user has a C compiler. If they don't they can still use the slow, but
sure Perl implementations. Give the user the choice at build time.
0.57 Wed May 22 2002
- Fix field escape/unescape code which was not handling empty fields
correctly. @@ was being unescaped to @ and "" was not being escaped
at all.
- Make UpdateProgress report to stderr rather than stdout to make sure
it doesn't interfere in the output stream if the module's being used
that way.
0.55 Tue May 14 2002
- Allow the operation field (@pv@ etc.) to be modified in a script so as
to make patch generation using a script easier.
0.53 Fri May 03 2002
- Updated for 2002.1 schema.
0.52 Mon Jan 14 2002
- Bug fix. Fields() could miss the last field of a record if it was
not terminated with a space before the newline.
0.51 Thu Jan 10 2002
- test.pl now does not echo progress as it scans. Makes the tests
look cleaner. Added a few more tests too and provided a small
test checkpoint for use in the tests to make them easier to
work with and smaller for downloads.
- Removed unused XSet() method which used to be Set() prior to
0.50.
0.50 Wed Jan 9 2002
- Performance improvements. Implemented several heavily used methods
in C rather than Perl. Runs nearly 3 times as fast as previous
versions.
0.40 Tue Jan 8 2002
- Bug fix and performance tweaks. Improved end of record detection
scheme - we no longer use regexes on huge records.
0.30 Wed May 9 2001
- Updated for 2001.1 schema.
- Added explicit method for P4::JournalRec::Table() as it's commonly
needed and it's much faster to do it that way than it is to go
through Fields(). Pretty much doubles the speed of a common parse.
- Made progress updates friendlier so that rather than being a fixed
10000 lines between updates, it works out a suitable update interval
based on the size of the file. This will never be less than 1000
lines as that would hurt performance too much.
0.27 Fri Mar 30 2001
- Can now abort parsing part way through by calling EndParse()
method.
- Progress reports now printed to stdout via method UpdateProgress(),
which you can override to produce updates in your chosen format.
0.25 Fri Feb 16 2001
- Added P4::JournalRec class for the extracted records. You can
get raw access to the data, or parse it into fields and access
the parsed array or access the fields by name
0.20 Thu Feb 15 2001
- Reworked to be more useful. Now does not have much other
than a parsing framework. Use OO principles to derive
from it to build useful tools.
0.02 Wed May 17 17:30:00 2000
- Now does not strip embedded new lines
0.01 Tue May 16 11:04:18 2000
- original version; created by h2xs 1.19