[svn:dbi] r14201 - dbi/trunk/lib/DBD

[email protected]
Newsgroups perl.dbi.changes
Message-ID <[email protected]>
Author: REHSACK
Date: Wed Jun 30 03:37:17 2010
New Revision: 14201

Modified:
   dbi/trunk/lib/DBD/DBM.pm
   dbi/trunk/lib/DBD/File.pm

Log:
- remove duplicated code from DBD::File
- add register_reset_on_modify to DBD::File::Table
- register meta flags to reset in DBD::DBM


Modified: dbi/trunk/lib/DBD/DBM.pm
==============================================================================
--- dbi/trunk/lib/DBD/DBM.pm	(original)
+++ dbi/trunk/lib/DBD/DBM.pm	Wed Jun 30 03:37:17 2010
@@ -257,6 +257,12 @@
     return $tbl;
 }
 
+my %reset_on_modify = (
+    dbm_type     => "dbm_tietype",
+    dbm_mldbm    => "dbm_tietype",
+);
+__PACKAGE__->register_reset_on_modify(\%reset_on_modify);
+
 sub bootstrap_table_meta
 {
     my ( $self, $dbh, $meta, $table ) = @_;

Modified: dbi/trunk/lib/DBD/File.pm
==============================================================================
--- dbi/trunk/lib/DBD/File.pm	(original)
+++ dbi/trunk/lib/DBD/File.pm	Wed Jun 30 03:37:17 2010
@@ -110,49 +110,6 @@
 @DBD::File::dr::ISA           = qw(DBI::DBD::SqlEngine::dr);
 $DBD::File::dr::imp_data_size = 0;
 
-sub connect ($$;$$$)
-{
-    my ($drh, $dbname, $user, $auth, $attr)= @_;
-
-    # create a 'blank' dbh
-    my $this = DBI::_new_dbh ($drh, {
-	Name		=> $dbname,
-	USER		=> $user,
-	CURRENT_USER	=> $user,
-	});
-
-    if ($this) {
-	# must be done first, because setting flags implicitly calls $dbdname::db->STORE
-	$this->func ("init_default_attributes");
-
-	my ($var, $val);
-	while (length $dbname) {
-	    if ($dbname =~ s/^((?:[^\\;]|\\.)*?);//s) {
-		$var    = $1;
-		}
-	    else {
-		$var    = $dbname;
-		$dbname = "";
-		}
-	    if ($var =~ m/^(.+?)=(.*)/s) {
-		$var = $1;
-		($val = $2) =~ s/\\(.)/$1/g;
-		$this->{$var} = $val;
-		}
-	    elsif ($var =~ m/^(.+?)=>(.*)/s) {
-		$var = $1;
-		($val = $2) =~ s/\\(.)/$1/g;
-		my $ref = eval $val;
-		$this->$var ($ref);
-		}
-	    }
-
-	$this->STORE (Active => 1);
-	}
-
-    return $this;
-    } # connect
-
 sub dsn_quote
 {
     my $str = shift;
@@ -318,21 +275,6 @@
     return $dbh;
     } # init_default_attributes
 
-sub sql_parser_object
-{
-    my $dbh    = shift;
-    my $parser = {
-	dialect    => "CSV",
-	RaiseError => $dbh->FETCH ("RaiseError"),
-	PrintError => $dbh->FETCH ("PrintError"),
-	};
-    my $sql_flags = $dbh->FETCH ("sql_flags") || {};
-    %$parser = (%$parser, %$sql_flags);
-    $parser = SQL::Parser->new ($parser->{dialect}, $parser);
-    $dbh->{sql_parser_object} = $parser;
-    return $parser;
-    } # cache_sql_parser_object
-
 sub disconnect ($)
 {
     $_[0]->STORE (Active => 0);
@@ -949,6 +891,20 @@
     return ($table, $meta);
     } # get_table_meta
 
+my %reset_on_modify = (
+    f_file     => "f_fqfn",
+    f_dir      => "f_fqfn",
+    f_ext      => "f_fqfn",
+    f_lockfile => "f_fqfn", # forces new file2table call
+);
+
+sub register_reset_on_modify
+{
+    my ($proto, $extra_resets) = @_;
+    %reset_on_modify = (%reset_on_modify, %$extra_resets);
+    return;
+    } # register_reset_on_modify
+
 sub get_table_meta_attr
 {
     my ($class, $meta, $attrib) = @_;
@@ -957,13 +913,6 @@
     return;
     } # get_table_meta_attr
 
-my %reset_on_modify = (
-    f_file     => "f_fqfn",
-    f_dir      => "f_fqfn",
-    f_ext      => "f_fqfn",
-    f_lockfile => "f_fqfn", # forces new file2table call
-);
-
 sub set_table_meta_attr
 {
     my ($class, $meta, $attrib, $value) = @_;
@@ -1126,7 +1075,7 @@
 
 =head1 NAME
 
-DBD::File - Base class for writing DBI drivers
+DBD::File - Base class for writing file based DBI drivers
 
 =head1 SYNOPSIS
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.