Author: REHSACK
Date: Fri Dec 31 04:21:54 2010
New Revision: 14623

Added:
   dbi/branches/sqlengine/ex/corogofer.pl
      - copied unchanged from r14622, /dbi/trunk/ex/corogofer.pl
   dbi/branches/sqlengine/lib/DBD/Gofer/Transport/corostream.pm
      - copied unchanged from r14622, 
/dbi/trunk/lib/DBD/Gofer/Transport/corostream.pm
Modified:
   dbi/branches/sqlengine/   (props changed)
   dbi/branches/sqlengine/Changes
   dbi/branches/sqlengine/MANIFEST
   dbi/branches/sqlengine/lib/DBD/Gofer/Transport/stream.pm

Log:
Merging r14582 through r14622


Modified: dbi/branches/sqlengine/Changes
==============================================================================
--- dbi/branches/sqlengine/Changes      (original)
+++ dbi/branches/sqlengine/Changes      Fri Dec 31 04:21:54 2010
@@ -6,29 +6,33 @@
 
 =cut
 
-=head2 Changes in DBI 1.616 (svn r14486) 15th October 2010
+=head2 Changes in DBI 1.616 (svn r14616) 30th December 2010
 
-  Documented dbd_st_execute return (Martin J. Evans)
   Fixed spurious dbi_profile lines written to the log when
     profiling is enabled and a trace flag, like SQL, is used.
   Fixed to recognize SQL::Statement errors even if instantiated
     with RaiseError=0 (Jens Rehsack)
-  Optimized connect() to remove redundant FETCH of \%attrib values.
-  Adding fix to recognize SQL::Statement errors even if instantiated
-    with RaiseError=0 (Jens Rehsack)
-  Adding new attribute "sql_dialect" to DBI::DBD::SqlEngine to allow
-    users control used SQL dialect (ANSI, CSV or AnyData), defaults to
-    CSV (Jens Rehsack)
-  Improve initialization phases in DBI::DBD::SqlEngine (Jens Rehsack)
-  Add documentation for DBI::DBD::SqlEngine attributes (Jens Rehsack)
   Fixed RT#61513 by catching attribute assignment to tied table access
     interface (Jens Rehsack)
   Fixing some misbehavior of DBD::File when running within the Gofer
     server.
+  Fixed compiler warnings RT#62640
+
+  Optimized connect() to remove redundant FETCH of \%attrib values.
+  Improved initialization phases in DBI::DBD::SqlEngine (Jens Rehsack)
+
+  Added DBD::Gofer::Transport::corostream. An experimental proof-of-concept
+    transport that enables asynchronous database calls with few code changes.
+    It enables asynchronous use of DBI frameworks like DBIx::Class.
 
-  Fixed typo in InactiveDestroy thanks to Emmanuel Rodriguez.
   Added additional notes on DBDs which avoid creating a statement in
-    the do method and the effects on error handlers (Martin J. Evans)
+    the do() method and the effects on error handlers (Martin J. Evans)
+  Adding new attribute "sql_dialect" to DBI::DBD::SqlEngine to allow
+    users control used SQL dialect (ANSI, CSV or AnyData), defaults to
+    CSV (Jens Rehsack)
+  Add documentation for DBI::DBD::SqlEngine attributes (Jens Rehsack)
+  Documented dbd_st_execute return (Martin J. Evans)
+  Fixed typo in InactiveDestroy thanks to Emmanuel Rodriguez.
 
 =head2 Changes in DBI 1.615 (svn r14438) 21st September 2010
 

Modified: dbi/branches/sqlengine/MANIFEST
==============================================================================
--- dbi/branches/sqlengine/MANIFEST     (original)
+++ dbi/branches/sqlengine/MANIFEST     Fri Dec 31 04:21:54 2010
@@ -21,6 +21,7 @@
 dbixs_rev.pl                   Utility to write dbixs_rev.h
 ex/perl_dbi_nulls_test.pl      A test script for forms of IS NULL 
qualification in SQL
 ex/profile.pl                   A test script for DBI::Profile
+ex/corogofer.pl                 A test script for 
DBD::Gofer::Transport::corostream
 lib/Bundle/DBI.pm              A bundle for automatic installation via CPAN.
 lib/DBD/DBM.pm                 A driver for DBM files (uses DBD::File)
 lib/DBD/ExampleP.pm            A very simple example Driver module
@@ -34,6 +35,7 @@
 lib/DBD/Gofer/Policy/classic.pm     Reasonable policy for typical usage
 lib/DBD/Gofer/Policy/rush.pm        Raw speed, fewest round trips, least 
transparent
 lib/DBD/Gofer/Transport/Base.pm Base class for DBD::Gofer driver transport 
classes
+lib/DBD/Gofer/Transport/corostream.pm Async Gofer transport using Coro and 
AnyEvent
 lib/DBD/Gofer/Transport/null.pm DBD::Gofer transport that executes in same 
process (for testing)
 lib/DBD/Gofer/Transport/pipeone.pm DBD::Gofer transport to new subprocess for 
each request
 lib/DBD/Gofer/Transport/stream.pm DBD::Gofer transport for ssh etc
@@ -95,6 +97,7 @@
 t/41prof_dump.t
 t/42prof_data.t
 t/43prof_env.t
+t/48dbi_dbd_sqlengine.t         Tests for DBI::DBD::SqlEngine
 t/49dbd_file.t                 DBD::File API and very basic tests
 t/50dbm_simple.t               simple DBD::DBM tests
 t/51dbm_file.t                 extended DBD::File tests (through DBD::DBM)

Modified: dbi/branches/sqlengine/lib/DBD/Gofer/Transport/stream.pm
==============================================================================
--- dbi/branches/sqlengine/lib/DBD/Gofer/Transport/stream.pm    (original)
+++ dbi/branches/sqlengine/lib/DBD/Gofer/Transport/stream.pm    Fri Dec 31 
04:21:54 2010
@@ -129,13 +129,14 @@
     local $\;
     $wfh->print($encoded_request) # autoflush enabled
         or do {
-            # XXX should make new connection and retry
+            my $err = $!;
+            # XXX could/should make new connection and retry
             $self->_connection_kill;
-            die "Error sending request: $!";
+            die "Error sending request: $err";
         };
     $self->trace_msg("Request sent: $encoded_request\n",0) if $trace >= 4;
 
-    return;
+    return undef; # indicate no response yet (so caller calls 
receive_response_by_transport)
 }
 
 

Reply via email to