The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Net::Presto::Statement - Presto client statement object

SYNOPSIS

use Net::Presto;

my $presto = Net::Presto->new(...);
my $sth = $presto->execute('SELECT * FROM ...');
while (my $rows = $sth->fetch) {
    my @column_names = $sth->column_names;
    for my $row (@$rows) {
        my @columns = @$row; # ArrayRef
    }
}
while (my $rows = $sth->fetch_hashref) {
    for my $row (@$rows) {
        $row->{column_name}; # HashRef
    }
}

$sth->cancel; # cancel the statement

# do callback on each requests
$sth->poll(sub {
    my $res = shift;
    my $data = $res->{data};
    my $stats = $res->{stats};
    # stop polling by return false
    return 0 if $stats->{status} eq 'FINISHED';
    1; # continue
});

DESCRIPTION

Net::Presto statement handler object.

METHODS

$sth->fetch() :ArrayRef[ArrayRef[Str]]

Fetch next data as ArrayRef.

$sth->fetch_hashref() :ArrayRef[HashRef[Str]]

Fetch next data as HashRef.

$sth->columns() :ArrayRef[HashRef[Str]]

Returns column data.

$sth->columns_names() :(Str,...)

Returns column names.

$sth->cancel() :Bool

Cancel the query.

$sth->wait_for_completion() :Void

Wait until the query is completed.

$sth->poll($callback) :Void

Do $callback on each HTTP requests.

SEE ALSO

Net::Presto

AUTHOR

Jiro Nishiguchi <jiro@cpan.org>