Skip to content
Extraits de code Groupes Projets
Valider 72c3d3da rédigé par Alexandre Morignot's avatar Alexandre Morignot
Parcourir les fichiers

Save too big research to be viewed on the website

parent ada36814
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -30,7 +30,8 @@ sub exec {
and $rows > 10
and not $query->force)
{
$irc->yield(privmsg => $chan => "trop de résultats ($rows), utiliser -f pour forcer la recherche");
my $search_name = $db_query->make_view($query);
$irc->yield(privmsg => $chan => "trop de résultats ($rows), utilise -f pour forcer la recherche ou va voir ici : http://nightiies.iiens.net/links/search/$search_name");
return;
}
......
......@@ -85,6 +85,28 @@ sub get_rows {
return $rows;
}
sub make_view {
my ($self, $query) = @_;
my $dbh = PlayBot::utils::db::get_new_session();
$dbh->{AutoCommit} = 0;
my ($request, @args) = $self->_prepare_request($query);
my $view_name = join'', map +(0..9,'a'..'z','A'..'Z')[rand(10+26*2)], 1..32;
my $sth = $dbh->prepare('create view '.$view_name.' AS '.$request);
$sth->execute(@args);
$dbh->do('create event clear'.$view_name.'
on schedule at current_timestamp + interval 1 hour
do
drop view '.$view_name);
$dbh->commit;
$dbh->disconnect;
return $view_name;
}
sub _get_next {
my ($self, $query) = @_;
my $chan = $query->chan;
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter