Up to [cvs.NetBSD.org] / pkgsrc / databases / p5-Data-Table
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
*: recursive bump for perl 5.40
*: recursive bump for perl 5.38
*: recursive bump for perl 5.36
*: recursive bump for perl 5.34
*: bump PKGREVISION for perl-5.32.
Update to 1.78 Upstream changes: Changes for version 1.78 Patch fromSQL to allow pre-executed handle Patch provided by Jeff Janes
Bump PKGREVISIONs for perl 5.30.0
Update packages using a search.cpan.org HOMEPAGE to metacpan.org. The former now redirects to the latter. This covers the most simple cases where http://search.cpan.org/dist/name can be changed to https://metacpan.org/release/name. Reviewed by hand to hopefully make sure no unwanted changes sneak in.
Update to 1.77 Upstream changes: 1.77 Wed Jan 23 14:02:24 PST 2019 No code change, add more examples under match_pattern_hash Suggested by James Volkman
Recursive bump for perl5-5.28.0
p5-Data-Table: update to 1.76. 1.76 Tue Nov 21 08:08:30 PST 2017 Minor syntax bug in fromFile.
Recursive revbump from lang/perl5 5.26.0
Bump PKGREVISION for perl-5.24.
Updated to databases/p5-Data-Table-1.75 --------------------------------------- 1.75 Sat Apr 23 13:52:25 PDT 2016 Patch parseCSV(). It returns incorrect columns when delimiter is space and has empty fields Thanks to Jeff Janes for the fix.
Update to 1.73 Upstream changes: 1.73 Thu Mar 3 20:34:46 PST 2016 Some mionor typos in the document fixed. No code change. Thanks to Lucas Kanashiro
Recursive PKGREVISION bump for all packages mentioning 'perl', having a PKGNAME of p5-*, or depending such a package, for perl-5.22.0.
Update to 1.72 Upstream changes: 1.72 Wed Apr 29 22:43:13 PDT 2015 No change to actual code Table.pm Just comment out "Guess Windows file format" from t/test1.t, as Strawberry Perl swallows \r and fails the test, however, this does not affect it to use the package 1.71 Fixed a minor bug in rename(), where the old name was not complete deleted. The bug was triggered in rowMerge(byName=>1) + a very special situations. Also fixed several typos in the test code. A special thank to Alexandr Ciornii for help prepare new Makefile.PL, as well as create better test files.
Update 1.68 to 1.70 ------------------- 1.70 Sat Jan 25 06:44:12 PST 2014 - Minor patch to 1.69, as encoding function is only reliably supported by Perl newer than v5.8.1. - Patch internal method openFileWithEncoding(), so that older Perl version will not give an error. - Fixed a warning in fromFileGuessOS, introduced in 1.69. 1.69 Tue Jan 14 10:22:19 PST 2014 Fix a minor bug in pivot() related to colToSplitIsStringOrNumeric. Integer column names are allowed. However, fromFile by default does not take numeric column names, unless allowNumericHeader is set to 1. Patch fromFile(), checkHeader(), colIndex(), fromFileIsHeader(), fromFileGetTopLines() to support numeric column header. An integer is first interpreted as a column name. Therefore, accessing a column by its ordinal number may not be possible, if the number is used as a column name. In such case, first fetch the corresponding column name and access by name. Support file encoding methods in fromFile, fromCSV, fromTSV. E.g., fromCSV("filename, 1, undef, {encoding=> 'UTF-8'}) UTF-8 is the default encoding, can be controlled by $Data::Table::DEFAULTS{ENCODING}. Thanks to questions asked by Sergio Basto and Thomas Hofmann. If an integer is passed to colIndex(), it is interpreted as string first for column lookup. fromFile by default will allow numeric headers (but not all column headers can be numeric). support skip_empty in melt();
Remove pkgviews: don't set PKG_INSTALLATION_TYPES in Makefiles.
Bump for perl-5.20.0. Do it for all packages that * mention perl, or * have a directory name starting with p5-*, or * depend on a package starting with p5- like last time, for 5.18, where this didn't lead to complaints. Let me know if you have any this time.
Update to 1.68 Upstream changes: 1.68 Mon Aug 6 22:22:22 PDT 2012 Patch fromFileGetTopLines() and fromFileIsHeader(), which are used by fromFile(). Impact: minor. Improve performance of fromFileGuessOS() Improve fromFile(), fromCSV(), csv() to support using \r, \n within a CSV field. join() now supports {matchNULL => 1, NULLasEmpty => 1}, if one would like to treat NULL as empty string, or treat NULL as equal (however, not equal to empty string). Both are set to 0 by default. Suggested by Kyle Horton & Wilson Dave. Remove inheritance from AutoLoader and Exporter. Thanks to Brian Wightman Thanks to Nicholas Andonakis for sharing his code, quite a few ideas in his package inspired the improvements below! Add new shortcut methods: lastRow(), lastCol(), colName($colNumericIndex) One can now write foreach my $i (0..$t->lastRow) instead of foreach my $i (0..$t->nofRow-1) Add iterator(), so that one can now write my $next = $t_product->iterator(); while (my $row = $next->()) { # have access to a row as a hash reference, access row number by &$next(1); $t_product->setElm($next->(1), 'ProductName', 'New! '.$row->{ProductName}); } addCol() can take the default value for the new column (first argument) addRow() supports {addNewCol => 1} moveCol() can take a $newColName. setElm() can set a value for multiple cells, specified by ref to row array and col array match_string(), match_pattern(), match_pattern_hash() also produce $parentTable->{MATCH} # match returns all matched row ids in $t_product->{MATCH} (ref to row ID array) $t_product->match_pattern_hash('$_{UnitPrice} > 20'); # create a new column, with 'No' as the default value $t_product->addCol('No', 'IsExpensive'); # use $t_product->{MATCH} to set values for multiple Elements $t_product->setElm($t_product->{MATCH}, 'IsExpensive', 'Yes'); 1.67 Wed Jul 25 11:47:23 PDT 2012 Update Change.txt file to point out $keepRestCol defaults to 1 is only for group() For pivot(), $keepRestCol is still default to 0 as before. 1.66 Wed Jul 25 11:03:29 PDT 2012 Change the default value of keepRestCol in group() to 1, instead of 0 to be compatible with older versions Thanks to Kyle Horton
Bump all packages for perl-5.18, that a) refer 'perl' in their Makefile, or b) have a directory name of p5-*, or c) have any dependency on any p5-* package Like last time, where this caused no complaints.
Bump all packages that use perl, or depend on a p5-* package, or are called p5-*. I hope that's all of them.
Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.
Update to 1.65 Upstream ChangLog: 1.65 Mon Jul 23 20:16:08 PDT 2012 Finish the "Perl Data::Table Cookbook", should be a good learning material. To download, visit https://sites.google.com/site/easydatabase/ Polish Data::Table::Excel for CPAN upload. Minor patches to the code. 1.64 Sun Jul 8 22:01:17 PDT 2012 Add $keepRestCols to Data::Table::group(); We introduce new constants for fromCSV/fromTSV/fromFile/csv/tsv. Data::Table::OS_UNIX = 0; Data::Table::OS_PC = 1; Data::Table::OS_MAC = 2; Add method reorder(), redefine column orders Add method melt() and cast(), concept borrowed from Reshape package in R Add method each_group(), so one can apply a custom method to rows sharing the same key Made a seemingly backward incompatible change to pivot() pivot($colToSplit, $colToSplitIsNumeric, ...) is changed to pivot($colToSplit, $colToSplitIsStringOrNumber, ...) What is now pivot($colToSplit, $Data::Table::STRING, ...), where Data::Table::STRING has a value of 1, was equivalent to pivot($colToSplit, 0, ...) in <= 1.63. However, the $colToSplitIsStringOrNumber is now auto-guessed within the code, so the change is not very relevant. Most existing code should run fine, without change. Patch group(), piviot() to distinguish keys between empty string and undef. Patch subTable() to take row mask array when {useRowMask=>1} is provided. 1.63 Tue Jun 12 17:05:43 PDT 2012 In this release, we patch addCol, delCol, addRow, rowMerge, colMerge to for an empty table We introduce new methods isEmpty(), hasCol(), moveCol($colID, $newColIdx) We introduce new constants for Data::Table::new() Data::Table::ROW_BASED Data::Table::COL_BASED 1.62 Fri May 25 11:40:09 PDT 2012 In this release, we address a few pain points Data::Table::colMerge, update to support new options { renameCol => 1} If specified, duplicate column names in the second table is automatically renamed (by appending _2) to avoid conflict We introduce some constants, so we have fewer numbers to remember. Data::Table::NUMBER Data::Table::STRING Data::Table::ASC Data::Table::DESC for sort(), you can use $t->sort('col2', Data::Table::NUMBER, Data::Table::DESC); it is equivalent to $t->sort('col2', 0, 1); Data::Table::INNER_JOIN Data::Table::LEFT_JOIN Data::Table::RIGHT_JOIN Data::Table::FULL_JOIN for join(), you may use $t->sort($t2, Data::Table::FULL_JOIN, ['col1'], ['col1']); it is equivalent to $t->sort($t2, 3, ['col1'], ['col1']). match_string, match_pattern have been generating @Data::Table::OK, which is a class-level array. $t->match_pattern() will now also store the results (array ref) in $t->{OK}, that should be used in the future. However, @Data::Table::OK is still supported for compatibility reasons. This is not a pain point, but conceptually nicer to be localized. match_pattern_hash() is added. The difference is each row is fed to the pattern as a hash %_. In the case of match_pattern, each row is fed as an array ref $_. The pattern for match_pattern_hash() becomes much cleaner. If a table has two columns: Col_A as the 1st column and Col_B as the 2nd column, a filter "Col_A>2 AND Col_B<2" is written before as $t->match_pattern('$_->[0] > 2 && $_->[1] <2'); where we need to figure out $t->colIndex('Col_A') is 0 and $t->colIndex('Col_B') is 1, in order to build the pattern. Now you can use column name directly in the pattern: $t->match_pattern_hash('$_{Col_A} >2 && $_{Col_B} <2'); This method creates $t->{OK}, as well as @Data::Table::OK, same as match_pattern(). Data::Table::rowMerge, update to support new options { byName =>1, addNewCol => 1} If byName is 1, rows in the second table are appended by matching their column names, so that the second table can have columns in a different order. If addNewCol is 1, columns not exist in the first table will be automatically added. addNewCol is best used with byName. If used alone, addNewCol will just patch the two tables so that they have the same number of columns. Data::Table::subTable, update internal to remove side effect on column header array Data::join add support for an option {renameCol => 1}. If specified, duplicate column names in the second table is automatically renamed (by appending _2) to avoid conflict 1.61 Mon Feb 27 21:07:55 PST 2012 Data::Table::fromSQL now can take DBI::st instead of a SQL string. This is introduced, so that variable binding (such as CLOB/BLOB) can be done outside the method. 1.60 Sat Feb 25 19:26:46 PST 2012 Data::Table::addRow now also can take a hash reference. Hash keys are column names, undef will be the value, if a column name is not found in the hash. Suggested by Federico 1.59 Sun Feb 5 00:20:00 PST 2012 I have never checked those CPAN ticket, happened to discover them and address them in this version. Update document, explain Data::Table::fromCSV(\*STDIN, 1) can be used to read table from STDIN. Add tbody and thead to Data::Table::html, if it's portrait. Suggested by Ken Rosenberry. Modify Data::Table::html and Data::Table::html2, so that it can accept coloring via CSS The color now can be either specified as an array as before, or as three CSS class names Suggested by Xavier Robin 1.58 Thu Feb 2 20:33:03 PST 2012 Patch join(), prior version of join considers two NULL keys to be equal update document, clarify that rowMerge assumes table columns in the same order Thanks to Ulrik Stervbo. 1.57 Thu Apr 23 15:22:36 PDT 2009 Patch pivot(), it throws warning before, when colToFill is undef. 1.56 Fri Aug 22 15:53:29 PDT 2008 When the first line in a TSV is not a header, but contains strings such as \t. The program will not transform \t to a tab. Modify fromTSV, so that \t, \N (etc) transformation is optional. Add transform_element flag to fromTSV method to turn on/off the transformation. Thanks to Bin Zhou. 1.55 Mon May 5 10:29:44 PDT 2008 Patch parseCSV. fromFile guesses the wrong delimiter if some ending columns are empty.
Revision bump after updating perl to 5.14.1
Reset maintainer.
Bump the PKGREVISION for all packages which depend directly on perl, to trigger/signal a rebuild for the transition 5.10.1 -> 5.12.1. The list of packages is computed by finding all packages which end up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl, or PERL5_PACKLIST defined in their make setup (tested via "make show-vars VARNAMES=..."), minus the packages updated after the perl package update. sno@ was right after all, obache@ kindly asked and he@ led the way. Thanks!
Added LICENSE=gnu-gpl-v2
Bump the PKGREVISION for all packages which depend directly on perl, to trigger/signal a rebuild for the transition 5.8.8 -> 5.10.0. The list of packages is computed by finding all packages which end up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl, or PERL5_PACKLIST defined in their make setup (tested via "make show-vars VARNAMES=...").
Updated databases/p5-Data-Table to 1.54 1.54 Sun Feb 10 21:35:02 PST 2008 Modify fromFileGetTopLines method, remove dependency on bytes bytes::substr causes infinite loop in some older version of perl 1.53 Thu Jan 3 21:13:40 PST 2008 add "use bytes" to Table.pm Just patched test.pl, because some OS cannot open in-memory file. 1.52 Fri Dec 14 11:48:42 PST 2007 1.51 Wed Dec 12 15:36:22 PST 2007 1. Add a class methods Data::Table::fromFile(file_name), which can guess the file format and call fromCSV/fromTSV internally. fromFile relies on the following new methods fromFileGuessOS(file_name) fromFileGetTopLines($file_name, $OS, $lineNumber) fromFileIsHeader($string) fromFileGuessDelimiter($arrayRefToLines) to figure out if the input file is from UNIX/PC/MAC, whether its first row contains column headers, and whether it uses ",", "\t" or ":" as field delimiters. It then calls either fromCSV or fromTSV to return the table object. $t = Data::Table::fromFile("myFileName_CSVorTSV_HeaderOrNoHeader_UNIXorPCorMAC "); Please refers to the updated document for details. 2. When fromFile/fromCSV/fromTSV reads from an empty file, it returns an undef object, rather than quit. 3. Provide more informative error message, when invalid column header is found . 4. fixed a bug in 1.51 where fromFileGuessOS failed in Windows Thanks to patches provided by "whitebell".
Add DESTDIR support.
Updated databases/p5-Data-Table to 1.50 * bug fixes
This perl package uses perl5 objects to make it easy for manipulating spreadsheet data among disk files, database, and Web publishing. A table object contains a header and a two-dimensional array of scalars. Three class methods Data::Table::fromCSV, Data::Table::fromTSV, and Data::Table::fromSQL allow users to create a table object from a CSV/TSV file or a database SQL selection in a snap.
Initial revision