Genezzo::Havok::Utils - general utility functions
select HavokUse('Genezzo::Havok::Utils') from dual;
The Havok Utils module defines several general utility functions.
- add_user_function
- To create a user function based upon the function 'somefunc' in
Genezzo::Contrib::MyModule just use the module and function named
parameters:
select add_user_function(
'module=Genezzo::Contrib::MyModule',
'function=somefunc') from dual;
Simple functions may be defined directly as a single argument
which is just a function definition (minus the leading "sub").
For example, the function foobar just adds two to the argument:
select add_user_function(
'foobar { my $foo = shift; $foo += 2; return $foo}'
) from dual;
More sophisticated functions may need to define the
user_function table columns as specified in
Genezzo::Havok::UserFunctions. Use the help command:
select add_user_function('help') from dual;
to list the valid parameters
- drop_user_function
- Undefine an existing function.
- alter_ts
- Update a tablespace to support large databases. This function supercedes
the bigdb.sql script. When called with no arguments:
select alter_ts() from dual;
the SYSTEM tablespace is set to automatically increase by 50%
each time it runs out of space, and the buffer cache size is set to 1000
blocks. When new datafiles are acquired, they will start at 10M and
increase by 50% each time they resize.
alter_ts can also take the single argument 'help':
select alter_ts('help') from dual;
which will cause it to list the named parameters (all of which
are optional). The parameters are:
- tsname - the tablespace name
- increase_by - the amount to increase the current filesize by when it runs
out of free space. The value may be a percentage, e.g. 50%, or a fixed size
like 100M. If this parameter is set to zero, the tablespace will remain a
fixed size.
- filesize - the initial size of a new file when it is added to the
tablespace. Note that this parameter only affects files which are
automatically created, not files added with "addfile".
- bufcachesize - the buffer cache size (in number of blocks).
The default settings are equivalent to:
select alter_ts(
'tsname=SYSTEM',
'increase_by=50%',
'filesize=10M',
'bufcachesize=1000') from dual;
The tsname argument may be specified multiple times -- the
increase_by and filesize will be applied to each tablespace.
- register_havok_package
- Havok modules are loaded via the HavokUse function. The
register_havok_package function is designed to simplify the update of the
havok table in order to track the particular version of a package.
Currently, there is no requirement that all Havok modules register in the
havok table, but future versions of Genezzo may require this registration,
or enforce it automatically as part of the HavokUse function. Note that
all registered havok packages must have a valid HavokInit function.
select register_havok_package(
'modname=Genezzo::Contrib::MyModule',
'version=1.1') from dual;
Use the help command:
select register_havok_package('help') from dual;
to list the valid parameters
Jeffrey I. Cohen, jcohen@genezzo.com
perl(1).
Copyright (c) 2006, 2007 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>