/usr/share/perl5/Tangram/Expr/RDBObject.pm is in libtangram-perl 2.12-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | # used in Tangram::Storage methods cursor_object and query_objects
package Tangram::Expr::RDBObject;
use strict;
use Tangram::Expr::CursorObject;
use vars qw(@ISA);
@ISA = qw( Tangram::Expr::CursorObject );
sub where
{
return join ' AND ', &where unless wantarray;
my ($self) = @_;
my $storage = $self->{storage};
my $schema = $storage->{schema};
my $classes = $schema->{classes};
my $tables = $self->{tables};
my $root = $tables->[0][1];
my $class = $self->{class};
my @where_class_id;
if (0 and $classes->{$class}{stateless})
{
my @class_ids;
push @class_ids, $storage->class_id($class)
unless $classes->{$class}{abstract};
$schema->for_each_spec
($class,
sub {
# XXX - not reached by test suite
my $spec = shift;
push @class_ids, $storage->class_id($spec)
unless $classes->{$spec}{abstract};
} );
}
@where_class_id = "t$root.$storage->{class_col} IN ("
. join(', ', $storage->_kind_class_ids($class) ) . ')';
my $id = $schema->{sql}{id_col};
return (@where_class_id, map { "t@{$_}[1].$id = t$root.$id" } @$tables[1..$#$tables]);
}
1;
|