Changeset 5780
- Timestamp:
- 01/29/08 15:16:44 (5 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/DBIx-Replicate/trunk/lib/DBIx/Replicate.pm
r5771 r5780 8 8 use DBI; 9 9 use List::Util qw/min/; 10 use Time::HiRes qw/time sleep/; 10 11 11 12 use base qw/Exporter/; … … 27 28 $args->{block} = 1000 28 29 unless $args->{block}; 30 $args->{load} = 1 31 unless $args->{load}; 29 32 my $columns_str = join ',', @{$args->{columns}}; 30 33 my $extra_cond = $args->{extra_cond} ? "and ($args->{extra_cond})" : ''; … … 41 44 my $last_key; 42 45 while (1) { 46 my $start = time; 43 47 $sql = sprintf( 44 48 'select %s from %s where %s=(select min(%s) from %s where %s) %s', … … 95 99 $args->{dest_conn}->commit 96 100 or die $args->{dest_conn}->errstr; 101 sleep(min(time - $start, 0) / ($args->{load} - 1)) 102 if $args->{load}; 97 103 } 98 104 $sql = sprintf( … … 117 123 my ($start_srcconn, $start_destconn) = qw/1 1/; 118 124 while (1) { 125 my $start = time; 119 126 $sql = "select $columns_str from $args->{src_table} where $start_srcconn $extra_cond order by $order_by limit $args->{block}"; 120 127 my $rows = $args->{src_conn}->selectall_arrayref( … … 159 166 $args->{dest_conn}->commit 160 167 or die $args->{dest_conn}->errstr; 168 sleep(min(time - $start, 0) / ($args->{load} - 1)) 169 if $args->{load}; 161 170 ($start_srcconn, $start_destconn) 162 171 = ($next_srcconn, $next_destconn);
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)