Author: spadkins
Date: Tue Jun 20 14:24:10 2006
New Revision: 6557

Modified:
   p5ee/trunk/App-Repository/lib/App/Repository/DBI.pm

Log:
move explain_sql up before the SQL is executed

Modified: p5ee/trunk/App-Repository/lib/App/Repository/DBI.pm
==============================================================================
--- p5ee/trunk/App-Repository/lib/App/Repository/DBI.pm (original)
+++ p5ee/trunk/App-Repository/lib/App/Repository/DBI.pm Tue Jun 20 14:24:10 2006
@@ -391,6 +391,9 @@
         print "DEBUG_SQL: _get_row()\n";
         print $sql;
     }
+    if ($context_options->{explain_sql}) {
+        $self->explain_sql($sql);
+    }
     while (1) {
         eval {
             $row = $dbh->selectrow_arrayref($sql);
@@ -421,9 +424,6 @@
         }
         print "\n";
     }
-    if ($context_options->{explain_sql}) {
-        $self->explain_sql($sql);
-    }
 
     &App::sub_exit($row) if ($App::trace);
     return($row);
@@ -457,6 +457,9 @@
         print "DEBUG_SQL: _get_rows()\n";
         print $sql;
     }
+    if ($context_options->{explain_sql}) {
+        $self->explain_sql($sql);
+    }
     while (1) {
         eval {
             $rows = $self->_selectrange_arrayref($sql, $startrow, $endrow);
@@ -488,9 +491,6 @@
         }
         print "\n";
     }
-    if ($context_options->{explain_sql}) {
-        $self->explain_sql($sql);
-    }
 
     &App::sub_exit($rows) if ($App::trace);
     return($rows);
@@ -2120,15 +2120,15 @@
         print "DEBUG_SQL: bind vars [", join("|",map { defined $_ ? $_ : 
"undef" } @$row), "]\n";
         print $sql;
     }
+    if ($context_options->{explain_sql}) {
+        $self->explain_sql($sql);
+    }
     $retval = $dbh->do($sql, undef, @$row) if (defined $dbh);
     if ($debug_sql && $debug_sql >= 2) {
         $elapsed_time = $self->_read_timer($timer);
         print "DEBUG_SQL: retval [$retval] ($elapsed_time sec) $DBI::errstr\n";
         print "\n";
     }
-    if ($context_options->{explain_sql}) {
-        $self->explain_sql($sql);
-    }
 
     &App::sub_exit($retval) if ($App::trace);
     $retval;
@@ -2159,6 +2159,9 @@
             print "DEBUG_SQL: bind vars [", join("|",map { defined $_ ? $_ : 
"undef" } @$row), "]\n";
             print $sql;
         }
+        if ($context_options->{explain_sql}) {
+            $self->explain_sql($sql);
+        }
         $retval = $dbh->do($sql, undef, @$row);
         if ($debug_sql) {
             print "DEBUG_SQL: retval [$retval] $DBI::errstr\n";
@@ -2178,9 +2181,6 @@
         $elapsed_time = $self->_read_timer($timer);
         print "DEBUG_SQL: nrows [$nrows] ($elapsed_time sec)\n";
     }
-    if ($context_options->{explain_sql}) {
-        $self->explain_sql($sql);
-    }
     $self->{sql} = $sql;
     $self->{numrows} = $nrows;
     &App::sub_exit($nrows) if ($App::trace);
@@ -2202,15 +2202,15 @@
         print "DEBUG_SQL: _delete()\n";
         print $sql;
     }
+    if ($context_options->{explain_sql}) {
+        $self->explain_sql($sql);
+    }
     my $retval = $self->{dbh}->do($sql);
     if ($debug_sql) {
         $elapsed_time = $self->_read_timer($timer);
         print "DEBUG_SQL: retval [$retval] ($elapsed_time sec) $DBI::errstr\n";
         print "\n";
     }
-    if ($context_options->{explain_sql}) {
-        $self->explain_sql($sql);
-    }
 
     &App::sub_exit($retval) if ($App::trace);
     return($retval);
@@ -2236,6 +2236,9 @@
         print "DEBUG_SQL: _update()\n";
         print $sql;
     }
+    if ($context_options->{explain_sql}) {
+        $self->explain_sql($sql);
+    }
     my $retval = $self->{dbh}->do($sql);
     $retval = 0 if ($retval == 0);
     if ($debug_sql) {
@@ -2243,9 +2246,6 @@
         print "DEBUG_SQL: retval [$retval] ($elapsed_time sec) $DBI::errstr\n";
         print "\n";
     }
-    if ($context_options->{explain_sql}) {
-        $self->explain_sql($sql);
-    }
 
     &App::sub_exit($retval) if ($App::trace);
     return($retval);
@@ -2269,15 +2269,15 @@
         print "DEBUG_SQL: _delete_row()\n";
         print $sql;
     }
+    if ($context_options->{explain_sql}) {
+        $self->explain_sql($sql);
+    }
     $retval = $dbh->do($sql) if (defined $dbh);
     if ($debug_sql) {
         $elapsed_time = $self->_read_timer($timer);
         print "DEBUG_SQL: retval [$retval] ($elapsed_time sec) $DBI::errstr\n";
         print "\n";
     }
-    if ($context_options->{explain_sql}) {
-        $self->explain_sql($sql);
-    }
 
     &App::sub_exit($retval) if ($App::trace);
     $retval;
@@ -2301,15 +2301,15 @@
         print "DEBUG_SQL: _delete_rows()\n";
         print $sql;
     }
+    if ($context_options->{explain_sql}) {
+        $self->explain_sql($sql);
+    }
     $retval = $dbh->do($sql) if (defined $dbh);
     if ($debug_sql) {
         $elapsed_time = $self->_read_timer($timer);
         print "DEBUG_SQL: retval [$retval] ($elapsed_time sec) $DBI::errstr\n";
         print "\n";
     }
-    if ($context_options->{explain_sql}) {
-        $self->explain_sql($sql);
-    }
 
     &App::sub_exit($retval) if ($App::trace);
     $retval;
@@ -2331,6 +2331,9 @@
         print "DEBUG_SQL: _do()\n";
         print $sql;
     }
+    if ($context_options->{explain_sql}) {
+        $self->explain_sql($sql);
+    }
     if (defined $dbh) {
         if ($sql =~ /^select/i) {
             $retval = $dbh->selectall_arrayref($sql);
@@ -2359,9 +2362,6 @@
         }
         print "\n";
     }
-    if ($context_options->{explain_sql}) {
-        $self->explain_sql($sql);
-    }
 
     &App::sub_exit($retval) if ($App::trace);
     $retval;
@@ -2369,7 +2369,7 @@
 
 sub explain_sql {
     my ($self, $sql) = @_;
-    # to be overridden for each physical database
+    # to be overridden in each Repository class
 }
 
 sub _get_timer {

Reply via email to