Class-DBI-Plugin-Backtickify

 view release on metacpan or  search on metacpan

lib/Class/DBI/Plugin/Backtickify.pm  view on Meta::CPAN

=back

=cut

sub transform_sql
{
    my ( $self, $sql, @args ) = @_;
    
    #warn "TRANSFORM_SQL: SQL IN:  $sql - @args\n";
    
    # Each entry in @args is a SQL fragment. This will bugger with fragments that 
    # contain strings that match column names but are not supposed to be column names. 
    my $backtickify_arg = sub { $_[0] =~ s/\b$_\b/`$_`/g for $self->all_columns };
    $backtickify_arg->( $_ ) for @args;
    
    # -------------------
    my %cmap;
    my $expand_table = sub {
        my ($class, $alias) = split /=/, shift, 2;
        my $table = $class ? $class->table : $self->table;
        $cmap{ $alias || $table } = $class || ref $self || $self;



( run in 2.166 seconds using v1.01-cache-2.11-cpan-364913b4093 )