NAME

CAD::Drawing::IO::PgDB - PostgreSQL save / load methods

NOTICE

This module is considered pre-ALPHA and under-documented. Its use is strongly discouraged except under experimental conditions. Particularly susceptible to change will be the table structure of the database, which currently does not yet even have any auto-create method.

AUTHOR

Eric L. Wilhelm <ewilhelm at cpan dot org>

http://scratchcomputing.com

COPYRIGHT

This module is copyright (C) 2004-2006 by Eric L. Wilhelm. Portions copyright (C) 2003 by Eric L. Wilhelm and A. Zahner Co.

LICENSE

This module is distributed under the same terms as Perl. See the Perl source package for details.

You may use this software under one of the following licenses:

(1) GNU General Public License
  (found at http://www.gnu.org/copyleft/gpl.html)
(2) Artistic License
  (found at http://www.perl.com/pub/language/misc/Artistic.html)

NO WARRANTY

This software is distributed with ABSOLUTELY NO WARRANTY. The author, his former employer, and any other contributors will in no way be held liable for any loss or damages resulting from its use.

Modifications

The source code of this module is made freely available and distributable under the GPL or Artistic License. Modifications to and use of this software must adhere to one of these licenses. Changes to the code should be noted as such and this notification (as well as the above copyright information) must remain intact on all copies of the code.

Additionally, while the author is actively developing this code, notification of any intended changes or extensions would be most helpful in avoiding repeated work for all parties involved. Please contact the author with any such development plans.

SEE ALSO

CAD::Drawing
DBI
DBD::Pg

Requisite Plug-in Functions

See CAD::Drawing::IO for a description of the plug-in architecture.

check_type

Returns true if $type is "circ" or $filename is a directory containing a ".circ" file.

$fact = check_type($filename, $type);

Back-End Input and output methods

The functions load() and save() are responsible for determining the filetype (with forced types available via $opt->{type}.) These then call the appropriate load<thing> or save<thing> functions.

load

Loads a CAD::Drawing object from an SQL database. $spec should be of the form required by the database driver.

$opts->{auth} = ["username", "password"] may be required to create a connection.

$drw->load($spec, $opts);

save

$drw->save($spec, $opts);

cleardb

Deletes the drawing and all of its entities from the database.

$drw->cleardb();

Internals

parse_options

Allows options to come in through the $spec or %opts.

%options = parse_options($spec, \%opts);

sort_addr

Sorts through @addr_list and returns a hash of array references for each entity type.

%these = sort_addr($layer, \@addr_list);