Jeffrey Cohen
and 1 contributors

NAME

Genezzo::Havok::UserExtend - load the UserExtend table

SYNOPSIS

 # don't say "use Genezzo::Havok::UserExtend".  Update the
 # dictionary havok table:

insert into havok values (1, "Genezzo::Havok::UserExtend", "SYSTEM", "2004-09-21T12:12", 0);

DESCRIPTION

NOTE: this module is now deprecated and will be replaced by Genezzo::Havok::UserFunctions.

Basic Havok module - load the UserExtend table

create table user_extend ( xid number, xtype char, xname char, args char, owner char, creationdate char, version char );

xid - a unique id number
xtype - the string "require" or "function"
xname - if xtype = "require", then xname is a package name, like "Text::Soundex". if xtype = "function", xname is a function name. A function name may be qualified with a package.
args - if xtype = "require", an (optional) blank-separated list of functions to import to the default Genezzo namespace. if xtype = "function", supply an actual function body in curly braces.
owner - owner of the package or function
creationdate - date row was created

Example:

insert into user_extend values (1, 'require', 'Genezzo::Havok::Examples', 'isRedGreen', 'SYSTEM', '2004-09-21T12:12');

The row causes UserExtend to "require Genezzo::Havok::Examples", and it imports "isRedGreen" into the default Genezzo namespace* (actually, it creates a stub function that calls Genezzo::Havok::Examples::isRedGreen").

ARGUMENTS

FUNCTIONS

isRedGreen

EXPORT

LIMITATIONS

TODO

Need to fix "import" mechanism so can load specific functions into Genezzo::GenDBI namespace, versus creating stub functions. Use "import" and "export_to_level".
Could just load Acme::Everything and we'd be done...
Need function "type" information so can validate argument lists, determine return type of function

AUTHOR

Jeffrey I. Cohen, jcohen@genezzo.com

SEE ALSO

perl(1).

Copyright (c) 2004, 2005, 2006 Jeffrey I Cohen. All rights reserved.

    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 2 of the License, or
    any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

Address bug reports and comments to: jcohen@genezzo.com

For more information, please visit the Genezzo homepage at http://www.genezzo.com