GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  SQL::ABSTRACT::TREE (3)

.ds Aq ’

NAME

SQL::Abstract::Tree - Represent SQL as an AST

CONTENTS

SYNOPSIS



 my $sqla_tree = SQL::Abstract::Tree->new({ profile => console });

 print $sqla_tree->format(SELECT * FROM foo WHERE foo.a > 2);

 # SELECT *
 #   FROM foo
 #   WHERE foo.a > 2



METHODS

    new



 my $sqla_tree = SQL::Abstract::Tree->new({ profile => console });

 $args = {
   profile => console,      # predefined profile to use (default: none)
   fill_in_placeholders => 1, # true for placeholder population
   placeholder_surround =>    # The strings that will be wrapped around
              [GREEN, RESET], # populated placeholders if the above is set
   indent_string =>  ,      # the string used when indenting
   indent_amount => 2,        # how many of above string to use for a single
                              # indent level
   newline       => "\n",     # string for newline
   colormap      => {
     select => [RED, RESET], # a pair of strings defining what to surround
                             # the keyword with for colorization
     # ...
   },
   indentmap     => {
     select        => 0,     # A zero means that the keyword will start on
                             # a new line
     from          => 1,     # Any other positive integer means that after
     on            => 2,     # said newline it will get that many indents
     # ...
   },
 }



Returns a new SQL::Abstract::Tree object. All arguments are optional.

profiles

There are four predefined profiles, none, console, console_monochrome, and html. Typically a user will probably just use console or console_monochrome, but if something about a profile bothers you, merely use the profile and override the parts that you don’t like.

    format



 $sqlat->format(SELECT * FROM bar WHERE x = ?, [1])



Takes $sql and \@bindargs.

Returns a formatting string based on the string passed in

    parse



 $sqlat->parse(SELECT * FROM bar WHERE x = ?)



Returns a tree representing passed in SQL. Please do not depend on the structure of the returned tree. It may be stable at some point, but not yet.

    unparse



 $sqlat->unparse($tree_structure, \@bindargs)



Transform tree into SQL, applying various transforms on the way.

    format_keyword



 $sqlat->format_keyword(SELECT)



Currently this just takes a keyword and puts the colormap stuff around it. Later on it may do more and allow for coderef based transforms.

    pad_keyword



 my ($before, $after) = @{$sqlat->pad_keyword(SELECT)};



Returns whitespace to be inserted around a keyword.

    fill_in_placeholder



 my $value = $sqlat->fill_in_placeholder(\@bindargs)



Removes last arg from passed arrayref and returns it, surrounded with the values in placeholder_surround, and then surrounded with single quotes.

    indent

Returns as many indent strings as indent amounts times the first argument.

ACCESSORS

    colormap

See new

    fill_in_placeholders

See new

    indent_amount

See new

    indent_string

See new

    indentmap

See new

    newline

See new

    placeholder_surround

See new
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 SQL::ABSTRACT::TREE (3) 2014-09-24

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.