/usr/local/CPAN/Tangram/Tangram/Driver/Oracle.pm
package Tangram::Driver::Oracle;
use strict;
use Tangram::Core;
use Tangram::Driver::Oracle::Storage;
use vars qw(@ISA);
@ISA = qw( Tangram::Relational );
sub connect
{
my ($pkg, $schema, $cs, $user, $pw, $opts) = @_;
${$opts||={}}{driver} = $pkg->new();
my $storage = Tangram::Driver::Oracle::Storage->connect
( $schema, $cs, $user, $pw, $opts );
}
sub blob {
return "CLOB";
}
sub date {
return "DATE";
}
sub bool {
return "INT(1)";
}
# Oracle--
sub from_date {
$_[1];
#print STDERR "Converting FROM $_[1]\n";
#(my $date = $_[1]) =~ s{ }{T};
#$date;
}
sub to_date {
$_[1];
#print STDERR "Converting TO $_[1]\n";
#(my $date = $_[1]) =~ s{T}{ };
#$date;
}
sub from_blob { $_[1] }
sub to_blob { $_[1] }
sub limit_sql {
my $self = shift;
my $spec = shift;
if ( ref $spec ) {
die unless ref $spec eq "ARRAY";
die "Oracle cannot handle two part limits"
unless $spec->[0] eq "0";
$spec = pop @$spec;
}
return (postfilter => ["rownum <= $spec"]);
}
1;