Since the fields are returned in lowercase, LLNG will not be able to do a groupBy on them, and the sessions won't display in the manager at all.
My suggestion is to implement the same fix as PgJson and PgHstore are already doing, by overloading searchOn and searchOnExpr in Browseable/Postgres.pm :
sub searchOn {
my $class = shift;
my ( $args, $selectField, $value, @fields ) = @_;
my $res = $class->SUPER::searchOn(@_);
foreach (@fields) {
if ( $_ ne lc($_) ) {
foreach my $s ( keys %$res ) {
$res->{$s}->{$_} = delete $res->{$s}->{ lc $_ };
}
}
}
return $res;
}
sub searchOnExpr {
my $class = shift;
my ( $args, $selectField, $value, @fields ) = @_;
my $res = $class->SUPER::searchOnExpr(@_);
foreach (@fields) {
if ( $_ ne lc($_) ) {
foreach my $s ( keys %$res ) {
$res->{$s}->{$_} = delete $res->{$s}->{ lc $_ };
}
}
}
return $res;
}
Another possible fix is this little trick:
SELECT ipAddr as "ipAddr" , .... from sessions where ....
which would require completely overloading the _query function, so maybe it's not worth it.
When using searchOn or searchOnExpr with a
fields
parameter, there are two possibilities:SQL query:
Result, slow but display correctly in the manager
Result, fast because there is no need to deserialized, but doesn't get displayed in the manager
Since the fields are returned in lowercase, LLNG will not be able to do a groupBy on them, and the sessions won't display in the manager at all.
My suggestion is to implement the same fix as PgJson and PgHstore are already doing, by overloading searchOn and searchOnExpr in Browseable/Postgres.pm :
Another possible fix is this little trick:
which would require completely overloading the _query function, so maybe it's not worth it.