DBIx::Compare::Oracle - Compare Oracle database content


DBIx-Compare documentation Contained in the DBIx-Compare distribution.

Index


Code Index:

NAME

Top

DBIx::Compare::Oracle - Compare Oracle database content

SYNOPSIS

Top

	use DBIx::Compare::Oracle;

	my $oDB_Comparison = db_comparison->new($dbh1,$dbh2);
	$oDB_Comparison->compare;
	$oDB_Comparison->deep_compare;




DESCRIPTION

Top

DBIx::Compare::Oracle takes two Oracle database handles and performs comparisons of their table content. See DBIx::Compare for more information.

SEE ALSO

Top

DBIx::Compare

AUTHOR

Top

Christopher Jones, Gynaecological Cancer Research Laboratories, UCL EGA Institute for Women's Health, University College London.

c.jones@ucl.ac.uk

COPYRIGHT AND LICENSE

Top


DBIx-Compare documentation Contained in the DBIx-Compare distribution.

package DBIx::Compare::Oracle;

use 5.006;
use strict;
use warnings;
require DBIx::Compare;

our $VERSION = '1.1';

{ package oracle_comparison;

	our @ISA = qw( db_comparison );

	sub compare_string_field {
		my ($self,$table,$field) = @_;
		my $statement = "
						SELECT AVG(LENGTHB($field)), STDDEV(LENGTHB($field)), MIN(LENGTHB($field)), MAX(LENGTHB($field))
						FROM $table
				";
		return $self->do_compare_field($statement);
	}
	sub compare_numeric_field {
		my ($self,$table,$field) = @_;
		my $statement = "
						SELECT AVG($field), STDDEV($field), MIN($field), MAX($field)
						FROM $table
				";
		return $self->do_compare_field($statement);
	}
	sub compare_datetime_field {
		my ($self,$table,$field) = @_;
		my $statement = "
						SELECT AVG(TO_NUMBER($field)), STDDEV(TO_NUMBER($field)), MIN(TO_NUMBER($field)), MAX(TO_NUMBER($field))
						FROM $table
				";
		return $self->do_compare_field($statement);
	}
}

1;

__END__