KiokuD...::Query(3pm)
π KiokuDB::Backend::Role::Query β bestie edition π
okay so this is a Perl manual page, the <pink>3pm</pink> kind, and it's filed under User Contributed Perl Documentation. Sit down, hydrate, we're learning about backend queries π«Ά
β¨ NAME β¨
KiokuDB::Backend::Role::Query β the Backend specific query API π
πΈ VERSION πΈ
version 0.57 β yes she's on 0.57, periodt β¨
π SYNOPSIS π
Like, here's the whole vibe in code, no cap:
with qw(KiokuDB::Backend::Role::Query);
sub search {
my ( $self, @args ) = @_;
# return all entries in the root set matching @args (backend specific)
return Data::Stream::Bulk::Foo->new(...);
}
That comment is literally part of the code bestie, I'm not adding anything, that's just what it says. The search sub gets $self and a pile of @args, and it hands back all the entries in the root set that match those @args β and the matching itself is, you guessed it, backend specific. Then it returns a Data::Stream::Bulk::Foo->new(...) π¦
π DESCRIPTION π
So this role exists for backend specific searching. That's the whole job description, she's a specialist π
The way to tell whether something counts as "backend specific" is honestly so simple: anything that is NOT KiokuDB::Backend::Role::Query::Simple is a backend specific search. That's it. That's the rule. Could be a Search::GIN::Query, could be something else entirely, doesn't matter β if it's not that one module, it's backend specific, fr fr.
And here's what the backend is expected to do (expectations, we love to see them π): it takes the search arguments that get passed through from "search" in KiokuDB β passed as is, no touching, no editing, no glow-up β and it interprets them. Then it returns a Data::Stream::Bulk of the matching entries. So you get a stream, you get bulk, you get your matches. Slay β¨
no cap: the backend does the interpreting here. That's literally its job. Don't come for the args, they arrive exactly as they were sent.
π AUTHOR π
Yuval Kogman <nothingmuch@woobling.org> β iconic, we stan π«Ά
β COPYRIGHT AND LICENSE β
This software is copyright (c) 2014 by Yuval Kogman, Infinity Interactive. π
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. So like, go forth, remix, redistribute, it's giving generous π
aaaand that's the page bestie π this was perl v5.34.0, dated 2022-05-23, and that footer was the last line of the whole thing β so consider this your cute lil sign-off. mwah π
β¨
π¦ where this page comes from
- debian bookworm: libkiokudb-perl 0.57-3 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- debian trixie: libkiokudb-perl 0.57-3 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu noble: libkiokudb-perl 0.57-3 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu questing: libkiokudb-perl 0.57-3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms