Hubert depesz Lubaczewski > Pg-Explain-0.68 > Pg::Explain

Download:
Pg-Explain-0.68.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.68   Source   Latest Release: Pg-Explain-0.69

NAME ^

Pg::Explain - Object approach at reading explain analyze output

VERSION ^

Version 0.68

SYNOPSIS ^

Quick summary of what the module does.

Perhaps a little code snippet.

    use Pg::Explain;

    my $explain = Pg::Explain->new('source_file' => 'some_file.out');
    ...

    my $explain = Pg::Explain->new(
        'source' => 'Seq Scan on tenk1  (cost=0.00..333.00 rows=10000 width=148)'
    );
    ...

FUNCTIONS ^

source

Returns original source (text version) of explain.

source_filtered

Returns filtered source explain.

Currently there are only two filters:

new

Object constructor.

Takes one of (only one!) (source, source_file) parameters, and either parses it from given source, or first reads given file.

top_node

This method returns the top node of parsed plan.

For example - in this plan:

                           QUERY PLAN
 --------------------------------------------------------------
  Limit  (cost=0.00..0.01 rows=1 width=4)
    ->  Seq Scan on test  (cost=0.00..14.00 rows=1000 width=4)

top_node is Pg::Explain::Node element with type set to 'Limit'.

Generally every output of plans should start with ->top_node(), and descend recursively in it, using subplans(), initplans() and sub_nodes() methods.

parse_source

Internally (from ->BUILD()) called function which checks which parser to use (text, json, xml, yaml), runs appropriate function, and stores top level node in $self->top_node.

_read_source_from_file

Helper function to read source from file.

as_text

Returns parsed plan back as plain text format (regenerated from in-memory structure).

This is mostly useful for (future at the moment) anonymizations.

anonymize

Used to remove all individual values from the explain, while still retaining all values that are needed to see what's wrong.

AUTHOR ^

hubert depesz lubaczewski, <depesz at depesz.com>

BUGS ^

Please report any bugs or feature requests to depesz at depesz.com.

SUPPORT ^

You can find documentation for this module with the perldoc command.

    perldoc Pg::Explain

COPYRIGHT & LICENSE ^

Copyright 2008 hubert depesz lubaczewski, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

syntax highlighting: