AutoUpdate, add_constructor, a toy set_sql emulator, object index stubs and destroy...
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / CDBICompat / ImaDBI.pm
1 package DBIx::Class::CDBICompat::ImaDBI;
2
3 use strict;
4 use warnings;
5
6 use NEXT;
7
8 sub db_Main {
9   return $_[0]->_get_dbh;
10 }
11
12 sub _dbi_connect {
13   my ($class, @info) = @_;
14   $info[3] = { %{ $info[3] || {}} };
15   $info[3]->{RootClass} = 'DBIx::ContextualFetch';
16   return $class->NEXT::_dbi_connect(@info);
17 }
18
19 sub __driver {
20   return $_[0]->_get_dbh->{Driver}->{Name};
21 }
22
23 sub set_sql {
24   my ($class, $name, $sql) = @_;
25   my $table = $class->_table_name;
26   #$sql =~ s/__TABLE__/$table/;
27   no strict 'refs';
28   *{"${class}::sql_${name}"} =
29     sub {
30       my $sql = $sql;
31       my $class = shift;
32       my $table = $class->_table_name;
33       $sql =~ s/__TABLE__/$table/;
34       return $class->_sql_to_sth(sprintf($sql, @_));
35     };
36 }
37
38 1;