Couch-DB
view release on metacpan or search on metacpan
lib/Couch/DB/Database.pm view on Meta::CPAN
$s;
}
sub __designsRow($$%)
{ my ($self, $result, $index, %args) = @_;
my $answer = $result->answer->{rows}[$index] or return;
my $values = $result->values->{rows}[$index];
( answer => $answer,
values => $values,
ddocdata => $values->{doc},
docparams => { db => $self },
);
}
sub designs(;$%)
{ my ($self, $search, %args) = @_;
my $couch = $self->couch;
my @search = flat $search;
my ($method, $path, $send) = (GET => $self->_pathToDB('_design_docs'), undef);
lib/Couch/DB/Database.pm view on Meta::CPAN
}
sub __allDocsRow($$%)
{ my ($self, $result, $index, %args) = @_;
my $answer = $result->answer->{rows}[$index] or return ();
my $values = $result->values->{rows}[$index];
( answer => $answer,
values => $values,
docdata => $values->{doc},
docparams => { local => $args{local}, db => $self },
);
}
sub allDocs(;$%)
{ my ($self, $search, %args) = @_;
my $couch = $self->couch;
my @search = flat $search;
my $part = delete $args{partition};
lib/Couch/DB/Database.pm view on Meta::CPAN
}
sub __findRow($$%)
{ my ($self, $result, $index, %args) = @_;
my $answer = $result->answer->{docs}[$index] or return ();
my $values = $result->values->{docs}[$index];
( answer => $answer,
values => $values,
docdata => $values,
docparams => { local => $args{local}, db => $self },
);
}
sub find($%)
{ my ($self, $search, %args) = @_;
my $part = delete $args{partition};
$search->{selector} ||= {};
lib/Couch/DB/Design.pm view on Meta::CPAN
}
sub __searchRow($$$%)
{ my ($self, $result, $index, $column, %args) = @_;
my $answer = $result->answer->{rows}[$index] or return ();
my $values = $result->values->{rows}[$index];
( answer => $answer,
values => $values,
docdata => $args{full_docs} ? $values : undef,
docparams => { db => $self },
);
}
sub search($$%)
{ my ($self, $index, $search, %args) = @_;
my $query = defined $search ? +{ %$search } : {};
# Everything into the query :-( Why no POST version?
my $couch = $self->couch;
lib/Couch/DB/Result.pm view on Meta::CPAN
{ my ($self, $rownr, $qnr) = @_;
my $rows = $self->{CDR_rows}[$qnr //= 0] ||= [];
my $index = $rownr -1;
return $rows->[$index] if exists $rows->[$index];
my %data = map $_->($self, $rownr-1, column => $qnr), reverse @{$self->{CDR_on_row}};
keys %data or return ();
my $doc;
my $dp = delete $data{docparams} || {};
if(my $dd = delete $data{docdata})
{ $doc = Couch::DB::Document->fromResult($self, $dd, %$dp);
}
elsif($dd = delete $data{ddocdata})
{ $doc = Couch::DB::Design->fromResult($self, $dd, %$dp);
}
my $row = Couch::DB::Row->new(%data, result => $self, rownr => $rownr, doc => $doc);
$doc->row($row) if $doc;
$rows->[$index] = $row; # Remember partial result for rows()
}
( run in 0.602 second using v1.01-cache-2.11-cpan-454fe037f31 )