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. 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