summaryrefslogtreecommitdiff
path: root/databases
diff options
context:
space:
mode:
authorwen <wen>2012-07-25 14:42:47 +0000
committerwen <wen>2012-07-25 14:42:47 +0000
commitc50e198dd82ac85267e35251515525cf1ce0885c (patch)
tree4ee9ad22a81cd33d7daf1b5e78275a6855e6d605 /databases
parent1e5de424e682d2c344368cdabf7c0cba97a2b08f (diff)
downloadpkgsrc-c50e198dd82ac85267e35251515525cf1ce0885c.tar.gz
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.
Diffstat (limited to 'databases')
-rw-r--r--databases/p5-Data-Table/Makefile5
-rw-r--r--databases/p5-Data-Table/distinfo8
2 files changed, 6 insertions, 7 deletions
diff --git a/databases/p5-Data-Table/Makefile b/databases/p5-Data-Table/Makefile
index 772d16c9e71..a769bb196a6 100644
--- a/databases/p5-Data-Table/Makefile
+++ b/databases/p5-Data-Table/Makefile
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.9 2011/08/06 15:00:37 adam Exp $
+# $NetBSD: Makefile,v 1.10 2012/07/25 14:42:47 wen Exp $
-DISTNAME= Data-Table-1.54
+DISTNAME= Data-Table-1.65
PKGNAME= p5-${DISTNAME}
-PKGREVISION= 3
CATEGORIES= databases perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=Data/}
diff --git a/databases/p5-Data-Table/distinfo b/databases/p5-Data-Table/distinfo
index 6a03ab62092..28a6e1ecd4c 100644
--- a/databases/p5-Data-Table/distinfo
+++ b/databases/p5-Data-Table/distinfo
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.3 2008/08/12 09:41:27 martti Exp $
+$NetBSD: distinfo,v 1.4 2012/07/25 14:42:47 wen Exp $
-SHA1 (Data-Table-1.54.tar.gz) = 5d1d8361e3050fd6017248aafcc1972d0c45ebb9
-RMD160 (Data-Table-1.54.tar.gz) = 3cd77e0115995b2e04d3fcd312e7c1cd301b0c79
-Size (Data-Table-1.54.tar.gz) = 43709 bytes
+SHA1 (Data-Table-1.65.tar.gz) = cb902e380e1a9366233acc2dd4168b5c37166a71
+RMD160 (Data-Table-1.65.tar.gz) = 0c4754d4a0bd9dc5e951284e67c1681dc8b1f627
+Size (Data-Table-1.65.tar.gz) = 67513 bytes