Mercurial > hg > ltpda
diff m-toolbox/html_help/help/ug/repo_explore_content.html @ 0:f0afece42f48
Import.
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Wed, 23 Nov 2011 19:22:13 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/m-toolbox/html_help/help/ug/repo_explore_content.html Wed Nov 23 19:22:13 2011 +0100 @@ -0,0 +1,97 @@ +<p> + Exploring an LTPDA repository is most easily achieved using the purpose-built graphical user interface. This + interace is accesible either from the LTPDA workbench, or via a toolbar button the workspace browser. +</p> +<p> + The figure belows shows the query dialog that appears through either interface: + <br> + <img src="images/querydialog.png" alt="LTPDA Query Builder" border="3"> + <br> +</p> +<p> + You can construct a query by use of the drop-down menus and buttons, then execute + the query to retreive a table of results, like the one shown below: + <br> + <img src="images/queryresults.png" alt="LTPDA Query Results" border="3"> + <br> +</p> +<p> + If the query dialog is launched from within the LTPDA Workbench, the results table has an + additional button which can be used to create constructor blocks on the current pipeline + corresponding to the selected records in the results table. +</p> + + +<!-- +<p> + Since an LTPDA repository is just a MySQL database, you can query the database using standard + SQL commands via any of the popular MySQL clients. In addition, the LTPDA toolbox provides a + simplified command that can be used to execute simple queries with only basic SQL knowledge. +</p> +<p> + The command is <tt>utils.mysql.dbquery</tt> and it can be used to perform various queries. + It takes the following input arguments: + <table border="1" cellpadding="2" width="30%" bgcolor="#DDDDDD"> + <tr valign="top"> + <td><tt>conn</tt></td><td>A database connection object</td> + </tr> + <tr valign="top"> + <td><tt>tablename</tt></td><td>The name of a table to search</td> + </tr> + <tr valign="top"> + <td><tt>query</tt></td><td>The query string written in MySQL SQL syntax</td> + </tr> + </table> + <br> +Examples of usage are: + +</p> + +<h2>Searching particular tables</h2> + +<p> + <div class="fragment"><pre> + >> info = utils.mysql.dbquery(conn, 'select * from objmeta where id>1000 and id<2000'); + >> info = utils.mysql.dbquery(conn, 'ao', 'id>1000 and id<2000'); + >> info = utils.mysql.dbquery_dbquery(conn, 'objmeta', 'name like "x12"'); + >> info = utils.mysql.dbquery(conn, 'users', 'username="aouser"'); + >> info = utils.mysql.dbquery(conn, 'collections', 'id=3'); + >> info = utils.mysql.dbquery(conn, 'collections', 'obj_ids="1,2"'); + >> info = utils.mysql.dbquery(conn, 'transactions', 'user_id=3'); + >> info = utils.mysql.dbquery(conn, 'transactions', 'obj_id=56'); + </pre></div> +</p> + +<h2>Retrieving a list of tables</h2> + +<p> + You can retrieve a list of the tables in a database with the call: + <div class="fragment"><pre> + >> info = utils.mysql.dbquery(conn) + </pre></div> + +</p> + + +<h2>High-level queries</h2> +<p> + Various standard queries are envisaged which ask typical questions, such as: + "Give me data for a particular signal spanning a particular time-span". +</p> +<p> + Formulating this question as an SQL query requires a good knowledge of the SQL + syntax used by MySQL. The query has to search across multiple tables in order + to gather the IDs of the objects that fulfill the query. For these standard questions, + high-level functions will be built which perform the query given some input information. This + avoids the user having to formulate complicated SQL statements. +</p> +<p> + The following high-level queries currently exist in the toolbox: +<table border="1" cellpadding="2" bgcolor="#DDDDDD"> + <tr valign="top"> + <td><tt>ltpda_getAOsInTimeSpan</tt></td><td>Retrieve particular AOs in the given time-span</td> + </tr> +</table> +</p> + +-->