SYNOPSIS

  stag-selectall_xml [-d <dbi>] [-f file of sql] [-nesting|n <nesting>] SQL

DESCRIPTION

This script will query a database using either \s-1SQL\s0 provided by the script user, or using an \s-1SQL\s0 templates; the query results will be turned into \s-1XML\s0 using the DBIx::DBStag module. The nesting of the \s-1XML\s0 can be controlled by the DBStag \s-1SQL\s0 extension \*(L"\s-1USE\s0 \s-1NESTING\s0...\*(R"

\s-1EXAMPLES\s0

stag-selectall_xml -d "dbi:Pg:dbname=mydb;host=localhost"\ "SELECT * FROM a NATURAL JOIN b"

\s-1TEMPLATES\s0

A parameterized \s-1SQL\s0 template (canned query) can be used instead of specifying the full \s-1SQL\s0

For example:

stag-selectall_xml -d genedb /genedb-gene gene_symbol=Adh

Or:

stag-selectall_xml -d genedb /genedb-gene Adh

Or:

stag-selectall_xml -d genedb /genedb-gene gene_symbol@=Adh,dpp,bam,indy

A template is indicated by the syntactic shorthand of using a slash to precede the template name; in this case the template is called genedb-gene. the -t option can also be used.

All the remaining arguments are passed in as \s-1SQL\s0 template parameters. They can be passed in as either name=value pairs, or as a simple list of arguments which get passed into the template in order

To use templates, you should have the environment variable \s-1DBSTAG_TEMPLATE_DIRS\s0 set. See DBIx::DBStag for details.

\s-1LISTING\s0 \s-1AVAILABLE\s0 \s-1TEMPLATES\s0 \s-1FOR\s0 A \s-1DB\s0

stag-selectall_xml -d mydb -h

\s-1LISTING\s0 \s-1VARIABLES\s0 \s-1FOR\s0 A \s-1TEMPLATE\s0

stag-selectall_xml /genedb-gene -h

ENVIRONMENT VARIABLES

\s-1DBSTAG_DBIMAP_FILE\s0

A file containing configuration details for local databases

\s-1DBSTAG_TEMPLATE_DIRS\s0

list of directories (separated by :s) to be searched when templates are requested

COMMAND LINE ARGUMENTS

-h|help

shows this page if no other arguments are given if a template is specified, gives template details if a db is specified, lists templates for that db use in conjunction with -v for full descriptions

-d|dbname \s-1DBNAME\s0

this is either a full \s-1DBI\s0 locator string (eg dbi:Pg:dbname=mydb;host=localhost) or it can also be a shortened \*(L"nickname\*(R", which is then looked up in the file pointed at by the environment variable \s-1DBSTAG_DBIMAP_FILE\s0

-u|user \s-1USER\s0

database user identity

-p|password \s-1PASS\s0

database password

-f|file \s-1SQLFILE\s0

this is a path to a file containing \s-1SQL\s0 that will be executed, as an alternative to writing the \s-1SQL\s0 on the command line

-n|nesting NESTING-EXPRESSIONS

a bracketed expression indicating how to the resulting objects/XML should be nested. See DBIx::DBStag for details.

-t|template TEMPLATE-NAME

the name of a template; see above

-wh|where WHERE-CLAUSE

used to override the \s-1WHERE\s0 clause of the query; useful for combining with templates You can append to an existing where clause by using the prefix +

-s|select SELECT-COLS

used to override the \s-1SELECT\s0 clause of the query; useful for combining with templates

-rows

sometimes it is preferable to return the results as a table rather than xml or a similar nested structure. specifying -rows will fetch a table, one line per row, and columns separated by tabs

-pre \s-1SQL\s0

a piece of \s-1SQL\s0 is that is executed immediately before the main query; e.g.: -pre "SET search_path=myschema,public"

-o|out \s-1FILE\s0

a file to output the results to

-w|writer \s-1WRITER\s0

writer class; can be any perl class, or one of these

xml [default]
sxpr

lisp S-Expressions

itext

indented text

-color

shows results in color (sxpr and itext only)

-show

will show the parse of the \s-1SQL\s0 statement