NAME
sqltree - hierarchical data (tree) implementation in SQL
SYNOPSIS
sqltree [DRIVER] [TABLE] [PK] [PARENT] [TYPE]
VERSION
0.0.5_1 (2013-06-12)
DESCRIPTION
sqltree generates the SQL for a herarchical data (tree) implementation using triggers, as described here:
http://www.depesz.com/index.php/2008/04/11/my-take-on-trees-in-sql/
This implementation relies on a previously-defined table containing:
a single primary key column
a parent column that references the primary key
a column to hold path data [optional]
Several triggers are added to this previously-defined table, which update a new table holding in-depth tree information.
Output from sqltree can usually be piped directly to the "sqlite3" or "psql" command line tools.
ARGUMENTS
All of these argument will be prompted for if they are not provided on the command line.
- DRIVER
-
Must be 'SQLite' or 'Pg'. Patches for other database systems are welcome.
- TABLE
-
The name of the (existing) table holding the hierarchical data. The additional tree table will be called "table_tree".
- PK
-
The primary key column of the (existing) table holding the hierarchical data.
- PARENT
-
The parent column of the (existing) table holding the hierarchical data.
- TYPE
-
The SQL column type of the (existing) primary key and parent columns.
OPTIONS
- --path
-
An existing column in TABLE into which the tree path will be automatically calculated. This column should be defined as TEXT or VARCHAR, and should be UNIQUE.
- --path-from
-
Required when
--path
is given to identify the existing column in TABLE from which path names will be built. - --order
-
[NOT IMPLEMENTED] An existing column in TABLE containing the object ordering information.
SEE ALSO
App::sqltree(3p)
AUTHOR
Mark Lawrence <nomad@null.net>
COPYRIGHT AND LICENSE
Copyright (C) 2010,2013 Mark Lawrence <nomad@null.net>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.