web interface requires columns also under base table name
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 20 May 2012 20:19:17 +0000 (22:19 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 20 May 2012 20:19:17 +0000 (22:19 +0200)
lib/APKPM/Store.pm

index bce29ac..bf9127b 100644 (file)
@@ -9,6 +9,8 @@ use Redis;
 
 with 'APKPM::Gearman';
 
+my $redis_ttl = 30 * 60; # 30 min
+
 sub prefix { 'Store_' }
 
 sub process_name {
@@ -100,7 +102,11 @@ sub pg_insert {
 
                @c = @{ $sth->{NAME_lc} };
                $self->redis->set( "pg.$table" => join(' ',@c) );
-               $self->redis->expire( "pg.$table" => 15 * 60 ); # refresh every 15 min
+               $self->redis->expire( "pg.$table" => $redis_ttl );
+
+               # web interface requires base table columns
+               $self->redis->set( "pg.$base_table" => join(' ',@c) );
+               $self->redis->expire( "pg.$base_table" => $redis_ttl );
        }
 
        my $sql = "INSERT INTO $table (" . join(',',@c) . ') values (' . join(',', map { '?' } 0 .. $#c) . ')';
@@ -113,7 +119,7 @@ sub pg_insert {
        if ( my $username = $h->{username} ) {
                my $key = join('.', 'table', $base_table, $username);
                $self->redis->set( $key => $self->e_json($h) );
-               $self->redis->expire( $key => 15 * 60 ); # 15 min timeout
+               $self->redis->expire( $key => $redis_ttl );
        }
 
        $h_lc->{h} = $self->to_hstore( $h_lc->{h} ) if exists $h_lc->{h};