10 |
package A3C::Action::StrixSQL; |
package A3C::Action::StrixSQL; |
11 |
use base qw/A3C::Action Jifty::Action/; |
use base qw/A3C::Action Jifty::Action/; |
12 |
|
|
13 |
use DBI; |
use Strix; |
14 |
use Data::Dump qw/dump/; |
use Data::Dump qw/dump/; |
15 |
|
|
16 |
use Jifty::Param::Schema; |
use Jifty::Param::Schema; |
48 |
|
|
49 |
return unless ( $self->result->success ); |
return unless ( $self->result->success ); |
50 |
|
|
|
my $config = Jifty->config->app('strix') or die "need strix config"; |
|
|
my $database = $config->{database} or die "no strix.database in config"; |
|
|
|
|
|
Jifty->log->debug("using config ", dump( $database )); |
|
|
|
|
|
my $dsn = |
|
|
'DBI:Pg:dbname=' . $self->argument_value('strix') . |
|
|
';host=' . $database->{host} . |
|
|
';port=' . $database->{port}; |
|
|
|
|
|
Jifty->log->info("psql ", $self->argument_value('strix'), " [$dsn] ", $self->argument_value('sql')); |
|
|
|
|
|
my $dbh = DBI->connect( $dsn, $database->{user}, $database->{passwd} ) or die $DBI::errstr; |
|
|
|
|
51 |
my $sql = A3C::SQL->new({ |
my $sql = A3C::SQL->new({ |
52 |
query => $self->argument_value('sql'), |
query => $self->argument_value('sql'), |
53 |
dbh => $dbh, |
dbh => Strix->dbh( $self->argument_value('strix') ), |
54 |
encoding => 'iso-8859-2', |
encoding => 'iso-8859-2', |
55 |
}); |
}); |
56 |
|
|