cvsuser 05/04/05 11:50:36
Modified: App-Repository CHANGES MANIFEST TODO
App-Repository/t DBI-select.t
Log:
sync up with distinct option
Revision Changes Path
1.2 +14 -0 p5ee/App-Repository/CHANGES
Index: CHANGES
===================================================================
RCS file: /cvs/public/p5ee/App-Repository/CHANGES,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- CHANGES 12 Oct 2002 03:03:48 -0000 1.1
+++ CHANGES 5 Apr 2005 18:50:36 -0000 1.2
@@ -2,3 +2,17 @@
# CHANGE LOG
#########################################
+0.94
+ x add "distinct => 1" to options hash for get_rows()/get_row()
+ x recognize the following special cases in inferred-op params: '' (same as
as 'ALL' in non-quoted/numeric params)
+ x recognize the following special cases in inferred-op params:
'ALL','NULL','NULL,value','@[db expr]'
+ x support set() with hash values. i.e. set($table,[EMAIL
PROTECTED],\%values)
+
+0.93
+ x MySQL - auto_reconnect flag set
+ x DBI - Reconnect on disconnect in _get_rows()/_get_row()
(MySQL-specific?)
+ x MySQL - load primary key, alternate keys, indexes
+ x all - Multiple (delegated) repositories
+
+0.90 First functional/supportable release
+
1.8 +11 -5 p5ee/App-Repository/MANIFEST
Index: MANIFEST
===================================================================
RCS file: /cvs/public/p5ee/App-Repository/MANIFEST,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- MANIFEST 27 Jun 2003 18:39:36 -0000 1.7
+++ MANIFEST 5 Apr 2005 18:50:36 -0000 1.8
@@ -1,18 +1,24 @@
+CHANGES
+MANIFEST
Makefile.PL
README
TODO
-CHANGES
-MANIFEST
lib/App/Repository.pm
lib/App/Repository/DBI.pm
-lib/App/Repository/MySQL.pm
lib/App/Repository/File.pm
+lib/App/Repository/FileSystem.pm
+lib/App/Repository/MySQL.pm
lib/App/RepositoryObject.pm
+lib/App/SessionObject/RepositoryObjectSet.pm
+lib/App/SessionObject/RepositoryObjectDomain.pm
lib/App/ValueDomain/Repository.pm
t/DBI-connect.t
+t/DBI-delete.t
t/DBI-getset.t
+t/DBI-insert.t
t/DBI-metadata.t
+t/DBI-repobjects.t
+t/DBI-repobjectset.t
t/DBI-select.t
-t/DBI-insert.t
t/DBI-update.t
-t/DBI-delete.t
+t/FileSystem.t
1.4 +33 -21 p5ee/App-Repository/TODO
Index: TODO
===================================================================
RCS file: /cvs/public/p5ee/App-Repository/TODO,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- TODO 2 Sep 2004 20:59:16 -0000 1.3
+++ TODO 5 Apr 2005 18:50:36 -0000 1.4
@@ -2,24 +2,36 @@
## File: $Id$
######################################################################
- o App::Repository - Multiple (delegated) repositories
- o App::Repository::MySQL - Shared connections between repositories
- o App::Repository::File
- o App::Repository - $rep->purge(...)
- o App::Repository::MySQL - $rep->purge(...)
-
- o App::Repository - $rep->set_rows(...)
- o App::Repository - $rep->maintain(...)
- o App::Repository - $rep->export(...)
- o App::Repository - $rep->import(...)
- o App::Repository - summaries
- o App::Repository - partitions
- o App::Repository - defaults
- o App::Repository - required cols
- o App::Repository - Read-only
- o App::Repository - read/write permissions
- o App::Repository::MySQL - load primary key, alternate keys, indexes
- o App::Repository - ID generation
- o App::Repository::DBI - ID generation
- o App::Repository::DBI - cache, allows prepare/execute optimization
+ o RepositoryObjectSet
+
+ o caching rows by key
+ o caching row-sets by set-key
+
+ o DBI - refactored/unified params/cols/values handling
+ - arbitrarily complex where clauses
+
+ o DBI - auto-reconnect on all operations
+ o DBI - bind variables on all operations
+ o all - benchmarks
+ o Remote- make a remote repository work
+ o all - get related rows (relationships)
+ o all - $rep->set_rows(...)
+
+ o MySQL - Shared connections between repositories
+ o File
+ o all - $rep->purge(...)
+ o MySQL - $rep->purge(...)
+
+ o all - $rep->maintain(...)
+ o all - $rep->export(...)
+ o all - $rep->import(...)
+ o all - summaries
+ o all - partitions
+ o all - defaults
+ o all - required cols
+ o all - Read-only
+ o all - read/write permissions
+ o all - ID generation
+ o DBI - ID generation
+ o DBI - "statement" cache, allows prepare/execute optimization
1.10 +21 -2 p5ee/App-Repository/t/DBI-select.t
Index: DBI-select.t
===================================================================
RCS file: /cvs/public/p5ee/App-Repository/t/DBI-select.t,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- DBI-select.t 14 Mar 2005 16:42:15 -0000 1.9
+++ DBI-select.t 5 Apr 2005 18:50:36 -0000 1.10
@@ -75,13 +75,20 @@
#ok(!$@, "set_rows() [test_person]");
sub check_select {
- my ($sql, $expected_rows) = @_;
+ my ($sql, $expected_rows, $debug) = @_;
my ($rows, $reprows);
eval {
$rows = $dbh->selectall_arrayref($sql);
};
is($@,"","sql ok");
+ if ($debug) {
+ print $sql;
+ print "ROWS [", ($#$rows + 1), "]\n";
+ foreach my $row (@$rows) {
+ print "ROW [", join("|", @$row), "]\n";
+ }
+ }
if (defined $expected_rows) {
is(($#$rows + 1), $expected_rows, "num rows $expected_rows");
@@ -561,7 +568,19 @@
$sql = $rep->_mk_select_sql("test_person",
{"age" => "ALL"},
["first_name","last_name"]);
-is($sql, $expect_sql, "_mk_select_sql(): NULL");
+is($sql, $expect_sql, "_mk_select_sql(): explicit ALL");
+&check_select($sql,0);
+
+$expect_sql = <<EOF;
+select distinct
+ gender
+from test_person
+EOF
+$sql = $rep->_mk_select_sql("test_person",
+ {},
+ ["gender"],
+ {distinct => 1});
+is($sql, $expect_sql, "_mk_select_sql(): distinct");
&check_select($sql,0);
###########################################################################