Author: timbo
Date: Fri Nov 12 11:07:37 2004
New Revision: 574

Modified:
   dbi/trunk/Changes
   dbi/trunk/Roadmap.pod
   dbi/trunk/ToDo
   dbi/trunk/lib/DBI/DBD/Metadata.pm
Log:
Updated roadmap and todo.
Fixed minor issues in DBI::DBD::Metadata thanks to Steffen Goeldner.


Modified: dbi/trunk/Changes
==============================================================================
--- dbi/trunk/Changes   (original)
+++ dbi/trunk/Changes   Fri Nov 12 11:07:37 2004
@@ -9,6 +9,7 @@
   Fixed space-parsing bug in DBI::SQL::Nano thanks to Jeff Zucker.
   Fixed a couple of bad links in docs thanks to Graham Barr.
   Fixed test.pl Win32 undef warning thanks to H.Merijn Brand & David Repko.
+  Fixed minor issues in DBI::DBD::Metadata thanks to Steffen Goeldner.
 
   Changed use DBI qw(:utils) export tag to include $neat_maxlen.
   Updated Roadmap and ToDo.

Modified: dbi/trunk/Roadmap.pod
==============================================================================
--- dbi/trunk/Roadmap.pod       (original)
+++ dbi/trunk/Roadmap.pod       Fri Nov 12 11:07:37 2004
@@ -1,11 +1,10 @@
-
 =head1 NAME
 
 DBI::Roadmap - Planned Enhancements for the DBI
 
-Tim Bunce - 9th November 2004
+Tim Bunce - 12th November 2004
 
-=head2 SYNOPSIS
+=head1 SYNOPSIS
 
 This document gives a high level overview of the future of the Perl
 DBI module.
@@ -24,7 +23,7 @@
 ensure maximum future functionality with minimal disruptive
 (incompatible) upgrades.
 
-=head2 SCOPE
+=head1 SCOPE
 
 Broad categories of changes are outlined here along with some
 rationale, but implementation details and minor planned enhancements
@@ -113,20 +112,19 @@
 * The DBD::Multiplex driver provides a framework to enable a wide
 range of dynamic functionality, including support for high-availability,
 failover, load-balancing, caching, and access to distributed data.
-It is currently being rewritten to greatly increase its flexibility
-and has potential to be a very powerful tool, but development has
-stalled.
+It is currently being enhanced but development has stalled.
 
 * The DBD::Proxy module is complex and relatively inefficient because
 it's trying to be a complete proxy for most DBI method calls.  For
 many applications a simpler proxy architecture that operates with
-a single round-trip to the server would be sufficient and preferable.
+a single round-trip to the server would be simpler, faster, and more
+flexible.
 
 New proxy client and server classes are needed, which could be
 subclassed to support specific client to server transport mechanisms
 (such as HTTP and Spread::Queue).  Apart from the efficiency gains,
 this would also enable the use of a load-balanced pool of stateless
-servers.
+servers for greater scalability and reliability.
 
 * The DBI currently offers no support for distributed transactions.
 The most useful elements of the standard XA distributed transaction
@@ -204,7 +202,8 @@
 
 The DBI can be extended in three main dimensions: subclassing the
 DBI, subclassing a driver, and callback hooks. Each has different
-pros and cons and each is applicable in different situations.
+pros and cons, each is applicable in different situations, and
+all need enhancing.
 
 * Subclassing the DBI is functional but not well defined and some
 key elements are incomplete, particularly the DbTypeSubclass mechanism
@@ -335,21 +334,13 @@
 
 =head1 PRIORITIES
 
-The foundations of many of the enhancements described above require
-changes to the interface between the DBI and drivers. To clearly
-define the transition point, the source code will be forked into a
-DBI v1 branch and the mainline bumped to v2.
-
-DBI v1 will continue to be maintained for bug fixes and any
-enhancements that ease the transition to DBI v2.
-
 =head2 Transition Drivers
 
 The first priority is to make all the infrastructure changes that
-impact drivers and make an alpha release available that driver
-authors can target. As far as possible, the changes will be implemented
-in a way that enables driver authors use the same code base for DBI v1
-and DBI v2.
+impact drivers and make an alpha release available for driver authors.
+
+As far as possible, the changes will be implemented in a way that
+enables driver authors use the same code base for DBI v1 and DBI v2.
 
 The main changes required by driver authors are:
 
@@ -372,6 +363,10 @@
 incrementally on the updated foundations. Priorities for those
 changes have not been set.
 
+=head2 DBI v1 
+
+DBI v1 will continue to be maintained on a separate branch for
+bug fixes and any enhancements that ease the transition to DBI v2.
 
 =head1 RESOURCES AND CONTRIBUTIONS
 

Modified: dbi/trunk/ToDo
==============================================================================
--- dbi/trunk/ToDo      (original)
+++ dbi/trunk/ToDo      Fri Nov 12 11:07:37 2004
@@ -152,6 +152,8 @@
 from which mx_translate_sql_child then 'regenerates' custom sql for the child 
handle)
 See also http://c-jdbc.objectweb.org/
 
+Use subversion mechanism for $VERSION in source files.
+
 ====== LATER ======
 
 Define expected uft8 behaviour. Basically drivers need to set the

Modified: dbi/trunk/lib/DBI/DBD/Metadata.pm
==============================================================================
--- dbi/trunk/lib/DBI/DBD/Metadata.pm   (original)
+++ dbi/trunk/lib/DBI/DBD/Metadata.pm   Fri Nov 12 11:07:37 2004
@@ -18,11 +18,10 @@
 @ISA = qw(Exporter);
 @EXPORT = qw(write_getinfo_pm write_typeinfo_pm);
 
-use strict;
-
-my
 $VERSION = sprintf("%d.%02d", q$Revision: 1.5 $ =~ /(\d+)\.(\d+)/);
 
+use strict;
+
 =head1 NAME
 
 DBI::DBD::Metadata - Generate the code and data for some DBI metadata methods
@@ -186,6 +185,9 @@
         elsif ($key eq 'SQL_KEYWORDS') {
             $val = ($kw_map) ? '\&sql_keywords' : 'undef';
         }
+        elsif ($key eq 'SQL_DRIVER_NAME') {
+            $val = "\$INC{'DBD/$driver.pm'}";
+        }
         elsif ($key eq 'SQL_DRIVER_VER') {
             $val = '$sql_driver_ver';
         }
@@ -340,7 +342,7 @@
     require DynaLoader;
     [EMAIL PROTECTED] = qw(Exporter DynaLoader);
     [EMAIL PROTECTED] = qw(type_info_all);
-    use DBI (:sql_types);
+    use DBI qw(:sql_types);
 
 PERL
 
@@ -409,7 +411,7 @@
 
     my $h = $dbh->type_info_all;
     my @tia = @$h;
-    my %odbc_map = %{$tia[0]};
+    my %odbc_map = map { uc $_ => $tia[0]->{$_} } keys %{$tia[0]};
     shift @tia;     # Remove the mapping reference.
     my $numtyp = $#tia;
 
@@ -484,7 +486,7 @@
 
 Jonathan Leffler <[EMAIL PROTECTED]> (previously <[EMAIL PROTECTED]>),
 Jochen Wiedmann <[EMAIL PROTECTED]>,
-Steffen Goeldner <[EMAIL PROTECTED]>,
+Steffen Goeldner <[EMAIL PROTECTED]>,
 and Tim Bunce <[EMAIL PROTECTED]>.
 
 =cut

Reply via email to